diff options
Diffstat (limited to 'gst/rtsp/gstrtspext.c')
-rw-r--r-- | gst/rtsp/gstrtspext.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/gst/rtsp/gstrtspext.c b/gst/rtsp/gstrtspext.c index b9d71bb1..0ad81b56 100644 --- a/gst/rtsp/gstrtspext.c +++ b/gst/rtsp/gstrtspext.c @@ -105,6 +105,20 @@ gst_rtsp_ext_list_get (void) return result; } +void +gst_rtsp_ext_list_free (GstRTSPExtensionList * ext) +{ + GList *walk; + + for (walk = ext->extensions; walk; walk = g_list_next (walk)) { + GstRTSPExtension *elem = (GstRTSPExtension *) walk->data; + + gst_object_unref (GST_OBJECT_CAST (elem)); + } + g_list_free (ext->extensions); + g_free (ext); +} + gboolean gst_rtsp_ext_list_detect_server (GstRTSPExtensionList * ext, GstRTSPMessage * resp) @@ -220,3 +234,16 @@ gst_rtsp_ext_list_stream_select (GstRTSPExtensionList * ext, GstRTSPUrl * url) } return res; } + +void +gst_rtsp_ext_list_connect (GstRTSPExtensionList * ext, + const gchar * detailed_signal, GCallback c_handler, gpointer data) +{ + GList *walk; + + for (walk = ext->extensions; walk; walk = g_list_next (walk)) { + GstRTSPExtension *elem = (GstRTSPExtension *) walk->data; + + g_signal_connect (elem, detailed_signal, c_handler, data); + } +} |