summaryrefslogtreecommitdiffstats
path: root/gst/rtsp
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@collabora.co.uk>2009-02-23 11:13:30 +0100
committerWim Taymans <wim.taymans@collabora.co.uk>2009-02-23 11:13:30 +0100
commitc4d53e9cc213098710bf28096ec0faed9be58bf2 (patch)
tree0911c696264faf6163d673cfccc132f4cdc4b1b1 /gst/rtsp
parent8c9931e13ef5b7dbe2179d245ae65999cad7f035 (diff)
Add method for hadling server requests
Add method to handle server requests on the list of RTSP extensions.
Diffstat (limited to 'gst/rtsp')
-rw-r--r--gst/rtsp/gstrtspext.c17
-rw-r--r--gst/rtsp/gstrtspext.h1
2 files changed, 18 insertions, 0 deletions
diff --git a/gst/rtsp/gstrtspext.c b/gst/rtsp/gstrtspext.c
index 0ad81b56..a3216794 100644
--- a/gst/rtsp/gstrtspext.c
+++ b/gst/rtsp/gstrtspext.c
@@ -247,3 +247,20 @@ gst_rtsp_ext_list_connect (GstRTSPExtensionList * ext,
g_signal_connect (elem, detailed_signal, c_handler, data);
}
}
+
+GstRTSPResult
+gst_rtsp_ext_list_receive_request (GstRTSPExtensionList * ext,
+ GstRTSPMessage * req)
+{
+ GList *walk;
+ GstRTSPResult res = GST_RTSP_ENOTIMPL;
+
+ for (walk = ext->extensions; walk; walk = g_list_next (walk)) {
+ GstRTSPExtension *elem = (GstRTSPExtension *) walk->data;
+
+ res = gst_rtsp_extension_receive_request (elem, req);
+ if (res != GST_RTSP_ENOTIMPL)
+ break;
+ }
+ return res;
+}
diff --git a/gst/rtsp/gstrtspext.h b/gst/rtsp/gstrtspext.h
index fa7f6892..f30b302f 100644
--- a/gst/rtsp/gstrtspext.h
+++ b/gst/rtsp/gstrtspext.h
@@ -76,6 +76,7 @@ GstRTSPResult gst_rtsp_ext_list_stream_select (GstRTSPExtensionList *ext, Gs
void gst_rtsp_ext_list_connect (GstRTSPExtensionList *ext,
const gchar *detailed_signal, GCallback c_handler,
gpointer data);
+GstRTSPResult gst_rtsp_ext_list_receive_request (GstRTSPExtensionList *ext, GstRTSPMessage *req);
G_END_DECLS