mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 12:11:13 +00:00
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:
parent
563db0fdca
commit
4e11b596cb
1 changed files with 10 additions and 3 deletions
|
@ -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:
|
||||
|
|
Loading…
Reference in a new issue