summaryrefslogtreecommitdiffstats
path: root/gst/rtsp/gstrtspsrc.c
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@collabora.co.uk>2009-02-23 11:42:53 +0100
committerWim Taymans <wim.taymans@collabora.co.uk>2009-02-23 11:42:53 +0100
commita08d75b8926685928bf1c4b40b448fe7320ec0d5 (patch)
tree113b80468ed75775eed6ca78a198eae17ee23770 /gst/rtsp/gstrtspsrc.c
parentc4d53e9cc213098710bf28096ec0faed9be58bf2 (diff)
Call new receive_request method
Call the receive_request extension methods so that extensions can handle the server request if they want.
Diffstat (limited to 'gst/rtsp/gstrtspsrc.c')
-rw-r--r--gst/rtsp/gstrtspsrc.c27
1 files changed, 16 insertions, 11 deletions
diff --git a/gst/rtsp/gstrtspsrc.c b/gst/rtsp/gstrtspsrc.c
index 02970c42..6dc09cc5 100644
--- a/gst/rtsp/gstrtspsrc.c
+++ b/gst/rtsp/gstrtspsrc.c
@@ -2536,20 +2536,25 @@ gst_rtspsrc_handle_request (GstRTSPSrc * src, GstRTSPMessage * request)
if (src->debug)
gst_rtsp_message_dump (request);
- res =
- gst_rtsp_message_init_response (&response, GST_RTSP_STS_OK, "OK",
- request);
- if (res < 0)
- goto send_error;
+ res = gst_rtsp_ext_list_receive_request (src->extensions, request);
- GST_DEBUG_OBJECT (src, "replying with OK");
+ if (res == GST_RTSP_ENOTIMPL) {
+ /* default implementation, send OK */
+ res =
+ gst_rtsp_message_init_response (&response, GST_RTSP_STS_OK, "OK",
+ request);
+ if (res < 0)
+ goto send_error;
- if (src->debug)
- gst_rtsp_message_dump (&response);
+ GST_DEBUG_OBJECT (src, "replying with OK");
- res = gst_rtspsrc_connection_send (src, &response, NULL);
- if (res < 0)
- goto send_error;
+ if (src->debug)
+ gst_rtsp_message_dump (&response);
+
+ res = gst_rtspsrc_connection_send (src, &response, NULL);
+ if (res < 0)
+ goto send_error;
+ }
return GST_RTSP_OK;