adaptivedemux: Don't claim to be live when answering the LATENCY query

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.
This commit is contained in:
Sebastian Dröge 2015-04-23 17:43:36 +02:00
parent 7c2a5da125
commit 6c8eeb448d

View file

@ -1119,13 +1119,7 @@ gst_adaptive_demux_src_query (GstPad * pad, GstObject * parent,
break; break;
} }
case GST_QUERY_LATENCY:{ case GST_QUERY_LATENCY:{
gboolean live = FALSE; gst_query_set_latency (query, FALSE, 0, -1);
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);
ret = TRUE; ret = TRUE;
break; break;
} }