oggdemux: only keep last valid granulepos

Only keep the last valid granulepos we see when scanning the last
pages. It is possible that the last page that we inspect has a -1 granulepos, in
which case we want to keep the previous valid time instead.

Fixes #631703
This commit is contained in:
Wim Taymans 2010-10-12 16:03:36 +02:00
parent 9dc59cff15
commit fea50233bb

View file

@ -2827,9 +2827,9 @@ gst_ogg_demux_read_end_chain (GstOggDemux * ogg, GstOggChain * chain)
if (pad->map.serialno == ogg_page_serialno (&og)) {
gint64 granulepos = ogg_page_granulepos (&og);
last_granule = granulepos;
last_pad = pad;
if (last_granule != -1) {
if (granulepos != -1) {
last_granule = granulepos;
last_pad = pad;
done = TRUE;
}
break;