gstreamer/ext
Vincent Penquerc'h b532ce16a5 oggdemux: fix broken seeking reading the whole file
A change in gst_ogg_demux_do_seek caused oggdemux to wait for
a page for each of the streams, including a skeleton stream if
one was present. Since Skeleton only has header pages, that
was never going to end well.

Also, the code was skipping CMML streams when looking for pages,
so would also have broken on CMML streams.

Thus, we change the code to disregard Skeleton streams, as well
as discontinuous streams (such as CMML and Kate). While it may
be desirable to consider Kate streams too (in order to avoid
losing a subtitle starting near the seek point), this may be
a performance drag when seeking where no subtitles are. Maybe
one could add a "give up" threshold for such discontinuous
streams, so we'd get any page if there is one, but do not end
up reading preposterous amounts of data otherwise.

In any case, it is important that the code that determines
the amount of streams to look pages for remains consistent with
the "early out" conditions of the code that actually parses
the incoming pages, lest we never decrease the pending counter
to zero.

This fixes seeking on a file with a skeleton track reading all
the file on each seek.

https://bugzilla.gnome.org/show_bug.cgi?id=719615
2014-01-14 12:48:45 +00:00
..
alsa alsa: Add channel map API support 2013-10-09 19:05:53 +02:00
cdparanoia docs: remove old 0.10 Since markers 2013-11-16 16:10:07 +00:00
libvisual ext/gst: Ensure default query/event handlers are used 2013-07-26 16:08:35 +02:00
ogg oggdemux: fix broken seeking reading the whole file 2014-01-14 12:48:45 +00:00
pango textoverlay: don't leak GAP events 2014-01-10 11:17:04 +00:00
theora theoradec: Use new gst_video_decoder_set_needs_format() API 2013-12-05 11:39:07 +01:00
vorbis vorbisenc: remove unused variables 2013-08-26 11:44:06 +01:00
Makefile.am gio: Move to gst subdirectory 2012-01-18 16:21:14 +01:00