adaptivedemux: Don't claim to be live when answering the LATENCY query
authorSebastian Dröge <sebastian@centricular.com>
Thu, 23 Apr 2015 15:43:36 +0000 (17:43 +0200)
committerSebastian Dröge <sebastian@centricular.com>
Thu, 23 Apr 2015 15:47:18 +0000 (17:47 +0200)
Even for "live" streams we are not live in the GStreamer meaning of the word.
We don't produce buffers that are timestamped based on their "capture time"
and our clock, but just based on whatever timestamps the stream might contain.

Also even if we wanted to claim to be live, that wouldn't work well as we
would have to return GST_STATE_CHANGE_NO_PREROLL when going from READY to
PAUSED, which we can't. We first need data to know if we are "live" or not.

gst-libs/gst/adaptivedemux/gstadaptivedemux.c

index 033a434699923ed8829a32a078b125a714baeb1e..00fcbed69e96e1e05ee1c2b316544dd5841a9985 100644 (file)
@@ -1119,13 +1119,7 @@ gst_adaptive_demux_src_query (GstPad * pad, GstObject * parent,
       break;
     }
     case GST_QUERY_LATENCY:{
-      gboolean live = FALSE;
-
-      GST_MANIFEST_LOCK (demux);
-      live = demux->priv->have_manifest && gst_adaptive_demux_is_live (demux);
-      GST_MANIFEST_UNLOCK (demux);
-
-      gst_query_set_latency (query, live, 0, -1);
+      gst_query_set_latency (query, FALSE, 0, -1);
       ret = TRUE;
       break;
     }