rtsp session pool
The GstRTSPSessionPool object manages a list of GstRTSPSession objects.
The maximum number of sessions can be configured with gst_rtsp_session_pool_set_max_sessions. The current number of sessions can be retrieved with gst_rtsp_session_pool_get_n_sessions.
Use gst_rtsp_session_pool_create to create a new GstRTSPSession object. The session object can be found again with its id and gst_rtsp_session_pool_find.
All sessions can be iterated with gst_rtsp_session_pool_filter.
Run gst_rtsp_session_pool_cleanup periodically to remove timed out sessions or use gst_rtsp_session_pool_create_watch to be notified when session cleanup should be performed.
Last reviewed on 2013-07-11 (1.0.0)
GstRTSPSessionPool
GObject ╰──GstRTSPSessionPool
An object that keeps track of the active sessions. This object is usually attached to a GstRTSPServer object to manage the sessions in that server.
Members
parent
(GObject)
–
Class structure
GstRTSPSessionPoolClass
Fields
parent_class
(GObjectClass)
–
GstRtspServer.RTSPSessionPoolClass
Attributes
parent_class
(GObject.ObjectClass)
–
GstRtspServer.RTSPSessionPoolClass
Attributes
parent_class
(GObject.ObjectClass)
–
GstRtspServer.RTSPSessionPool
GObject.Object ╰──GstRtspServer.RTSPSessionPool
An object that keeps track of the active sessions. This object is usually attached to a GstRtspServer.RTSPServer object to manage the sessions in that server.
Members
parent
(GObject.Object)
–
GstRtspServer.RTSPSessionPool
GObject.Object ╰──GstRtspServer.RTSPSessionPool
An object that keeps track of the active sessions. This object is usually attached to a GstRtspServer.RTSPServer object to manage the sessions in that server.
Members
parent
(GObject.Object)
–
Constructors
gst_rtsp_session_pool_new
GstRTSPSessionPool * gst_rtsp_session_pool_new ()
Create a new GstRTSPSessionPool instance.
A new GstRTSPSessionPool. g_object_unref after usage.
GstRtspServer.RTSPSessionPool.prototype.new
function GstRtspServer.RTSPSessionPool.prototype.new(): {
// javascript wrapper for 'gst_rtsp_session_pool_new'
}
Create a new GstRtspServer.RTSPSessionPool instance.
A new GstRtspServer.RTSPSessionPool. GObject.Object.prototype.unref after usage.
GstRtspServer.RTSPSessionPool.new
def GstRtspServer.RTSPSessionPool.new ():
#python wrapper for 'gst_rtsp_session_pool_new'
Create a new GstRtspServer.RTSPSessionPool instance.
A new GstRtspServer.RTSPSessionPool. GObject.Object.unref after usage.
Methods
gst_rtsp_session_pool_cleanup
guint gst_rtsp_session_pool_cleanup (GstRTSPSessionPool * pool)
Inspect all the sessions in pool and remove the sessions that are inactive for more than their timeout.
Parameters:
pool
–
the amount of sessions that got removed.
GstRtspServer.RTSPSessionPool.prototype.cleanup
function GstRtspServer.RTSPSessionPool.prototype.cleanup(): {
// javascript wrapper for 'gst_rtsp_session_pool_cleanup'
}
Inspect all the sessions in pool and remove the sessions that are inactive for more than their timeout.
Parameters:
the amount of sessions that got removed.
GstRtspServer.RTSPSessionPool.cleanup
def GstRtspServer.RTSPSessionPool.cleanup (self):
#python wrapper for 'gst_rtsp_session_pool_cleanup'
Inspect all the sessions in pool and remove the sessions that are inactive for more than their timeout.
Parameters:
the amount of sessions that got removed.
gst_rtsp_session_pool_create
GstRTSPSession * gst_rtsp_session_pool_create (GstRTSPSessionPool * pool)
Create a new GstRTSPSession object in pool.
Parameters:
pool
–
a new GstRTSPSession.
GstRtspServer.RTSPSessionPool.prototype.create
function GstRtspServer.RTSPSessionPool.prototype.create(): {
// javascript wrapper for 'gst_rtsp_session_pool_create'
}
Create a new GstRtspServer.RTSPSession object in pool.
Parameters:
a new GstRtspServer.RTSPSession.
GstRtspServer.RTSPSessionPool.create
def GstRtspServer.RTSPSessionPool.create (self):
#python wrapper for 'gst_rtsp_session_pool_create'
Create a new GstRtspServer.RTSPSession object in pool.
Parameters:
a new GstRtspServer.RTSPSession.
gst_rtsp_session_pool_create_watch
GSource * gst_rtsp_session_pool_create_watch (GstRTSPSessionPool * pool)
Create a GSource that will be dispatched when the session should be cleaned up.
Parameters:
pool
–
a GSource
GstRtspServer.RTSPSessionPool.prototype.create_watch
function GstRtspServer.RTSPSessionPool.prototype.create_watch(): {
// javascript wrapper for 'gst_rtsp_session_pool_create_watch'
}
Create a GSource (not introspectable) that will be dispatched when the session should be cleaned up.
Parameters:
GstRtspServer.RTSPSessionPool.create_watch
def GstRtspServer.RTSPSessionPool.create_watch (self):
#python wrapper for 'gst_rtsp_session_pool_create_watch'
Create a GSource (not introspectable) that will be dispatched when the session should be cleaned up.
Parameters:
gst_rtsp_session_pool_filter
GList * gst_rtsp_session_pool_filter (GstRTSPSessionPool * pool, GstRTSPSessionPoolFilterFunc func, gpointer user_data)
Call func for each session in pool. The result value of func determines what happens to the session. func will be called with the session pool locked so no further actions on pool can be performed from func.
If func returns GST_RTSP_FILTER_REMOVE, the session will be set to the expired state and removed from pool.
If func returns GST_RTSP_FILTER_KEEP, the session will remain in pool.
If func returns GST_RTSP_FILTER_REF, the session will remain in pool but will also be added with an additional ref to the result GList of this function..
When func is NULL, GST_RTSP_FILTER_REF will be assumed for all sessions.
Parameters:
pool
–
func
(
[scope call][allow-none][closure])
–
a callback
user_data
–
user data passed to func
a GList with all sessions for which func returned GST_RTSP_FILTER_REF. After usage, each element in the GList should be unreffed before the list is freed.
GstRtspServer.RTSPSessionPool.prototype.filter
function GstRtspServer.RTSPSessionPool.prototype.filter(func: GstRtspServer.RTSPSessionPoolFilterFunc, user_data: Object): {
// javascript wrapper for 'gst_rtsp_session_pool_filter'
}
Call func for each session in pool. The result value of func determines what happens to the session. func will be called with the session pool locked so no further actions on pool can be performed from func.
If func returns GstRtspServer.RTSPFilterResult.REMOVE, the session will be set to the expired state and removed from pool.
If func returns GstRtspServer.RTSPFilterResult.KEEP, the session will remain in pool.
If func returns GstRtspServer.RTSPFilterResult.REF, the session will remain in pool but will also be added with an additional ref to the result GList of this function..
When func is null, GstRtspServer.RTSPFilterResult.REF will be assumed for all sessions.
Parameters:
a callback
user data passed to func
a GList with all sessions for which func returned GstRtspServer.RTSPFilterResult.REF. After usage, each element in the GList should be unreffed before the list is freed.
GstRtspServer.RTSPSessionPool.filter
def GstRtspServer.RTSPSessionPool.filter (self, func, *user_data):
#python wrapper for 'gst_rtsp_session_pool_filter'
Call func for each session in pool. The result value of func determines what happens to the session. func will be called with the session pool locked so no further actions on pool can be performed from func.
If func returns GstRtspServer.RTSPFilterResult.REMOVE, the session will be set to the expired state and removed from pool.
If func returns GstRtspServer.RTSPFilterResult.KEEP, the session will remain in pool.
If func returns GstRtspServer.RTSPFilterResult.REF, the session will remain in pool but will also be added with an additional ref to the result GList of this function..
When func is None, GstRtspServer.RTSPFilterResult.REF will be assumed for all sessions.
Parameters:
a callback
user data passed to func
a GList with all sessions for which func returned GstRtspServer.RTSPFilterResult.REF. After usage, each element in the GList should be unreffed before the list is freed.
gst_rtsp_session_pool_find
GstRTSPSession * gst_rtsp_session_pool_find (GstRTSPSessionPool * pool, const gchar * sessionid)
Find the session with sessionid in pool. The access time of the session will be updated with gst_rtsp_session_touch.
Parameters:
pool
–
the pool to search
sessionid
–
the session id
the GstRTSPSession with sessionid or NULL when the session did not exist. g_object_unref after usage.
GstRtspServer.RTSPSessionPool.prototype.find
function GstRtspServer.RTSPSessionPool.prototype.find(sessionid: String): {
// javascript wrapper for 'gst_rtsp_session_pool_find'
}
Find the session with sessionid in pool. The access time of the session will be updated with GstRtspServer.RTSPSession.prototype.touch.
Parameters:
the pool to search
the session id
the GstRtspServer.RTSPSession with sessionid or null when the session did not exist. GObject.Object.prototype.unref after usage.
GstRtspServer.RTSPSessionPool.find
def GstRtspServer.RTSPSessionPool.find (self, sessionid):
#python wrapper for 'gst_rtsp_session_pool_find'
Find the session with sessionid in pool. The access time of the session will be updated with GstRtspServer.RTSPSession.touch.
Parameters:
the pool to search
the session id
the GstRtspServer.RTSPSession with sessionid or None when the session did not exist. GObject.Object.unref after usage.
gst_rtsp_session_pool_get_max_sessions
guint gst_rtsp_session_pool_get_max_sessions (GstRTSPSessionPool * pool)
Get the maximum allowed number of sessions in pool. 0 means an unlimited amount of sessions.
Parameters:
pool
–
the maximum allowed number of sessions.
GstRtspServer.RTSPSessionPool.prototype.get_max_sessions
function GstRtspServer.RTSPSessionPool.prototype.get_max_sessions(): {
// javascript wrapper for 'gst_rtsp_session_pool_get_max_sessions'
}
Get the maximum allowed number of sessions in pool. 0 means an unlimited amount of sessions.
Parameters:
the maximum allowed number of sessions.
GstRtspServer.RTSPSessionPool.get_max_sessions
def GstRtspServer.RTSPSessionPool.get_max_sessions (self):
#python wrapper for 'gst_rtsp_session_pool_get_max_sessions'
Get the maximum allowed number of sessions in pool. 0 means an unlimited amount of sessions.
Parameters:
the maximum allowed number of sessions.
gst_rtsp_session_pool_get_n_sessions
guint gst_rtsp_session_pool_get_n_sessions (GstRTSPSessionPool * pool)
Get the amount of active sessions in pool.
Parameters:
pool
–
the amount of active sessions in pool.
GstRtspServer.RTSPSessionPool.prototype.get_n_sessions
function GstRtspServer.RTSPSessionPool.prototype.get_n_sessions(): {
// javascript wrapper for 'gst_rtsp_session_pool_get_n_sessions'
}
Get the amount of active sessions in pool.
Parameters:
the amount of active sessions in pool.
GstRtspServer.RTSPSessionPool.get_n_sessions
def GstRtspServer.RTSPSessionPool.get_n_sessions (self):
#python wrapper for 'gst_rtsp_session_pool_get_n_sessions'
Get the amount of active sessions in pool.
Parameters:
the amount of active sessions in pool.
gst_rtsp_session_pool_remove
gboolean gst_rtsp_session_pool_remove (GstRTSPSessionPool * pool, GstRTSPSession * sess)
Remove sess from pool, releasing the ref that the pool has on sess.
TRUE if the session was found and removed.
GstRtspServer.RTSPSessionPool.prototype.remove
function GstRtspServer.RTSPSessionPool.prototype.remove(sess: GstRtspServer.RTSPSession): {
// javascript wrapper for 'gst_rtsp_session_pool_remove'
}
Remove sess from pool, releasing the ref that the pool has on sess.
Parameters:
GstRtspServer.RTSPSessionPool.remove
def GstRtspServer.RTSPSessionPool.remove (self, sess):
#python wrapper for 'gst_rtsp_session_pool_remove'
Remove sess from pool, releasing the ref that the pool has on sess.
Parameters:
gst_rtsp_session_pool_set_max_sessions
gst_rtsp_session_pool_set_max_sessions (GstRTSPSessionPool * pool, guint max)
Configure the maximum allowed number of sessions in pool to max. A value of 0 means an unlimited amount of sessions.
GstRtspServer.RTSPSessionPool.prototype.set_max_sessions
function GstRtspServer.RTSPSessionPool.prototype.set_max_sessions(max: Number): {
// javascript wrapper for 'gst_rtsp_session_pool_set_max_sessions'
}
Configure the maximum allowed number of sessions in pool to max. A value of 0 means an unlimited amount of sessions.
Parameters:
the maximum number of sessions
GstRtspServer.RTSPSessionPool.set_max_sessions
def GstRtspServer.RTSPSessionPool.set_max_sessions (self, max):
#python wrapper for 'gst_rtsp_session_pool_set_max_sessions'
Configure the maximum allowed number of sessions in pool to max. A value of 0 means an unlimited amount of sessions.
Parameters:
the maximum number of sessions
Signals
session-removed
session_removed_callback (GstRTSPSessionPool * self, GstRTSPSession * object, gpointer user_data)
Parameters:
self
–
object
–
user_data
–
Flags: Run Last
session-removed
function session_removed_callback(self: GstRtspServer.RTSPSessionPool, object: GstRtspServer.RTSPSession, user_data: Object): {
// javascript callback for the 'session-removed' signal
}
Parameters:
Flags: Run Last
session-removed
def session_removed_callback (self, object, *user_data):
#python callback for the 'session-removed' signal
Parameters:
Flags: Run Last
Properties
Virtual Methods
create_session
GstRTSPSession * create_session (GstRTSPSessionPool * pool, const gchar * id)
make a new session object.
Parameters:
pool
–
id
–
create_session_id
gchar * create_session_id (GstRTSPSessionPool * pool)
create a new random session id. Subclasses can create custom session ids and should not check if the session exists.
Parameters:
pool
–
vfunc_create_session_id
function vfunc_create_session_id(pool: GstRtspServer.RTSPSessionPool): {
// javascript implementation of the 'create_session_id' virtual method
}
create a new random session id. Subclasses can create custom session ids and should not check if the session exists.
Parameters:
do_create_session_id
def do_create_session_id (pool):
#python implementation of the 'create_session_id' virtual method
create a new random session id. Subclasses can create custom session ids and should not check if the session exists.
Parameters:
session_removed
session_removed (GstRTSPSessionPool * pool, GstRTSPSession * session)
a session was removed from the pool
Parameters:
pool
–
session
–
vfunc_session_removed
function vfunc_session_removed(pool: GstRtspServer.RTSPSessionPool, session: GstRtspServer.RTSPSession): {
// javascript implementation of the 'session_removed' virtual method
}
a session was removed from the pool
Parameters:
do_session_removed
def do_session_removed (pool, session):
#python implementation of the 'session_removed' virtual method
a session was removed from the pool
Parameters:
Function Macros
GST_RTSP_SESSION_POOL_CAST
#define GST_RTSP_SESSION_POOL_CAST(obj) ((GstRTSPSessionPool*)(obj))
GST_RTSP_SESSION_POOL_CLASS_CAST
#define GST_RTSP_SESSION_POOL_CLASS_CAST(klass) ((GstRTSPSessionPoolClass*)(klass))
Callbacks
GstRTSPSessionPoolFilterFunc
GstRTSPFilterResult (*GstRTSPSessionPoolFilterFunc) (GstRTSPSessionPool * pool, GstRTSPSession * session, gpointer user_data)
This function will be called by the gst_rtsp_session_pool_filter. An implementation should return a value of GstRTSPFilterResult.
When this function returns GST_RTSP_FILTER_REMOVE, session will be removed from pool.
A return value of GST_RTSP_FILTER_KEEP will leave session untouched in pool.
A value of GST_RTSP_FILTER_REF will add session to the result GList of gst_rtsp_session_pool_filter.
Parameters:
pool
–
a GstRTSPSessionPool object
session
–
a GstRTSPSession in pool
user_data
–
user data that has been given to gst_rtsp_session_pool_filter
GstRtspServer.RTSPSessionPoolFilterFunc
function GstRtspServer.RTSPSessionPoolFilterFunc(pool: GstRtspServer.RTSPSessionPool, session: GstRtspServer.RTSPSession, user_data: Object): {
// javascript wrapper for 'GstRTSPSessionPoolFilterFunc'
}
This function will be called by the GstRtspServer.RTSPSessionPool.prototype.filter. An implementation should return a value of GstRtspServer.RTSPFilterResult.
When this function returns GstRtspServer.RTSPFilterResult.REMOVE, session will be removed from pool.
A return value of GstRtspServer.RTSPFilterResult.KEEP will leave session untouched in pool.
A value of GST_RTSP_FILTER_REF will add session to the result GLib.List of GstRtspServer.RTSPSessionPool.prototype.filter.
Parameters:
a GstRtspServer.RTSPSessionPool object
a GstRtspServer.RTSPSession in pool
user data that has been given to GstRtspServer.RTSPSessionPool.prototype.filter
GstRtspServer.RTSPSessionPoolFilterFunc
def GstRtspServer.RTSPSessionPoolFilterFunc (pool, session, *user_data):
#python wrapper for 'GstRTSPSessionPoolFilterFunc'
This function will be called by the GstRtspServer.RTSPSessionPool.filter. An implementation should return a value of GstRtspServer.RTSPFilterResult.
When this function returns GstRtspServer.RTSPFilterResult.REMOVE, session will be removed from pool.
A return value of GstRtspServer.RTSPFilterResult.KEEP will leave session untouched in pool.
A value of GST_RTSP_FILTER_REF will add session to the result GLib.List of GstRtspServer.RTSPSessionPool.filter.
Parameters:
a GstRtspServer.RTSPSessionPool object
a GstRtspServer.RTSPSession in pool
user data that has been given to GstRtspServer.RTSPSessionPool.filter
GstRTSPSessionPoolFunc
gboolean (*GstRTSPSessionPoolFunc) (GstRTSPSessionPool * pool, gpointer user_data)
The function that will be called from the GSource watch on the session pool.
The function will be called when the pool must be cleaned up because one or more sessions timed out.
Parameters:
pool
–
a GstRTSPSessionPool object
user_data
–
user data that has been given when registering the handler
FALSE if the source should be removed.
GstRtspServer.RTSPSessionPoolFunc
function GstRtspServer.RTSPSessionPoolFunc(pool: GstRtspServer.RTSPSessionPool, user_data: Object): {
// javascript wrapper for 'GstRTSPSessionPoolFunc'
}
The function that will be called from the GSource watch on the session pool.
The function will be called when the pool must be cleaned up because one or more sessions timed out.
Parameters:
a GstRtspServer.RTSPSessionPool object
user data that has been given when registering the handler
GstRtspServer.RTSPSessionPoolFunc
def GstRtspServer.RTSPSessionPoolFunc (pool, *user_data):
#python wrapper for 'GstRTSPSessionPoolFunc'
The function that will be called from the GSource watch on the session pool.
The function will be called when the pool must be cleaned up because one or more sessions timed out.
Parameters:
a GstRtspServer.RTSPSessionPool object
user data that has been given when registering the handler
The results of the search are