oggdemux: report -1 for duration in push mode

In push mode we must return TRUE from the duration query with a value of -1
meaning that we know that we don't know the duration.
This commit is contained in:
Wim Taymans 2009-03-17 19:53:44 +01:00
parent 563db0fdca
commit 4e11b596cb

View file

@ -275,15 +275,22 @@ gst_ogg_pad_src_query (GstPad * pad, GstQuery * query)
case GST_QUERY_DURATION:
{
GstFormat format;
gint64 total_time;
gst_query_parse_duration (query, &format, NULL);
/* can only get position in time */
if (format != GST_FORMAT_TIME)
goto wrong_format;
/* can only return the total time position */
/* FIXME, return time for this specific stream */
gst_query_set_duration (query, GST_FORMAT_TIME, ogg->total_time);
if (ogg->seekable) {
/* we must return the total seekable length */
total_time = ogg->total_time;
} else {
/* in non-seek mode we can answer the query and we must return -1 */
total_time = -1;
}
gst_query_set_duration (query, GST_FORMAT_TIME, total_time);
break;
}
case GST_QUERY_SEEKING: