rtsp-client: suspend media during setup request
authorSrimanta Panda <srimanta@axis.com>
Wed, 18 Nov 2015 10:14:39 +0000 (11:14 +0100)
committerSebastian Dröge <sebastian@centricular.com>
Fri, 4 Dec 2015 13:48:23 +0000 (15:48 +0200)
SETUP request from clients needs to suspend the media to clear the
prerolled buffers. Otherwise it will not affect the prerolled buffer
and the prerolled buffers will be incorrect (for example block-size
from setup request will not affect the prerolled buffer unless the
media is suspended).

https://bugzilla.gnome.org/show_bug.cgi?id=758268

gst/rtsp-server/rtsp-client.c

index 65b0433..0a33e45 100644 (file)
@@ -1823,6 +1823,9 @@ handle_setup_request (GstRTSPClient * client, GstRTSPContext * ctx)
   if (sessmedia == NULL) {
     /* get a handle to the configuration of the media in the session */
     media = find_media (client, ctx, path, &matched);
+    /* need to suspend the media, if the protocol has changed */
+    if (media != NULL)
+      gst_rtsp_media_suspend (media);
   } else {
     if ((media = gst_rtsp_session_media_get_media (sessmedia)))
       g_object_ref (media);