diff options
author | Edward Hervey <edward@centricular.com> | 2020-05-19 10:27:18 +0200 |
---|---|---|
committer | GStreamer Merge Bot <gitlab-merge-bot@gstreamer-foundation.org> | 2020-06-08 08:44:27 +0000 |
commit | 9a335105f894a5c969a50e0d7f05e39c6df52bc4 (patch) | |
tree | e720200f5807a2c8b1d79a9036095b78314ae35f | |
parent | 57c8ad1dbcc445a87c0db40187c001e07640b501 (diff) | |
download | gstreamer-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.c | 7 |
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); |