summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Hervey <edward@centricular.com>2020-05-19 10:27:18 +0200
committerGStreamer Merge Bot <gitlab-merge-bot@gstreamer-foundation.org>2020-06-08 08:44:27 +0000
commit9a335105f894a5c969a50e0d7f05e39c6df52bc4 (patch)
treee720200f5807a2c8b1d79a9036095b78314ae35f
parent57c8ad1dbcc445a87c0db40187c001e07640b501 (diff)
downloadgstreamer-plugins-bad-9a335105f894a5c969a50e0d7f05e39c6df52bc4.tar.gz
adaptivedemux: Handle live duration queries
Handle it the same way live sources would, that it by handling the query and return an unknown duration. Fixes #566 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1279>
-rw-r--r--gst-libs/gst/adaptivedemux/gstadaptivedemux.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gst-libs/gst/adaptivedemux/gstadaptivedemux.c b/gst-libs/gst/adaptivedemux/gstadaptivedemux.c
index 65d715740..9b5aba037 100644
--- a/gst-libs/gst/adaptivedemux/gstadaptivedemux.c
+++ b/gst-libs/gst/adaptivedemux/gstadaptivedemux.c
@@ -1956,6 +1956,13 @@ gst_adaptive_demux_src_query (GstPad * pad, GstObject * parent,
gst_query_parse_duration (query, &fmt, NULL);
+ if (gst_adaptive_demux_is_live (demux)) {
+ /* We are able to answer this query: the duration is unknown */
+ gst_query_set_duration (query, fmt, -1);
+ ret = TRUE;
+ break;
+ }
+
if (fmt == GST_FORMAT_TIME
&& g_atomic_int_get (&demux->priv->have_manifest)) {
duration = demux_class->get_duration (demux);