From c99f7579f33207fdc5b607ba5e5d0e95e1b34cb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Fri, 21 Apr 2017 19:09:14 +0100 Subject: [PATCH] rtspsrc: Chain up to the parent class' provide_clock() implementation 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 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gst/rtsp/gstrtspsrc.c b/gst/rtsp/gstrtspsrc.c index b126589351..effe52676a 100644 --- a/gst/rtsp/gstrtspsrc.c +++ b/gst/rtsp/gstrtspsrc.c @@ -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] */