rtspsrc: Chain up to the parent class' provide_clock() implementation
authorSebastian Dröge <sebastian@centricular.com>
Fri, 21 Apr 2017 18:09:14 +0000 (19:09 +0100)
committerSebastian Dröge <sebastian@centricular.com>
Fri, 21 Apr 2017 18:14:09 +0000 (19:14 +0100)
If no clock was provided directly by rtspsrc. This behaviour was removed
by f8013487c91a6ffc552a4b25aa1a70f0bd5377f8 and results in rtspsrc not
providing the system clock via the rtpjitterbuffer.

As a result, if another element like an audio sink, provides a clock,
the pipeline would select that (when going to PAUSED/PLAYING again later).
Audio clocks usually don't progress in PAUSED, and thus our live source
won't be able to use the clock to produce data, making the sink never
preroll and everything is stuck.

gst/rtsp/gstrtspsrc.c

index b126589..effe526 100644 (file)
@@ -964,9 +964,9 @@ gst_rtspsrc_provide_clock (GstElement * element)
   GstClock *clock;
 
   if ((clock = src->provided_clock) != NULL)
-    gst_object_ref (clock);
+    return gst_object_ref (clock);
 
-  return clock;
+  return GST_ELEMENT_CLASS (parent_class)->provide_clock (element);
 }
 
 /* a proxy string of the format [user:passwd@]host[:port] */