gstreamer/gst
Edward Hervey 804f65e6db asfpacket: Fix pull-mode timestamping handling.
The problem that happens is the following:
* A packet with multiple payloads comes in
* Those payloads get handled one by one
* The first payload contains the first audio payload with timestamp A
* The second payload contains the first video (key)frame with timestamp V (where V < A)

With the previous code, the following would happen:
* the first payload gets processed, then passed to queue_for_stream
* queue_for_stream detects it's the first valid timestamp received and stores
  first_ts = A
* the second payload gets processed, then pass to queue_for_stream
* queue_for_stream detects the timestamp is lower than first_ts... and
  discards it... resulting in losing the first keyframe of the video stream

We've been having this issue for *ages*... it's just that nobody noticed it
that much with playbin. But with playbin2's aggresive multiqueue handling, this
will result in multiqueue not being able to preroll (because the video decoder will
be dropping a ton of buffers before (maybe) receiving the next keyframe).

Tested with over 200 asf files, and they all play the first frame correctly now,
even the most braindead ones.
2009-04-23 09:04:41 +02:00
..
ac3parse Don't install static libs for plugins. Fixes #550851 for ugly. 2008-10-13 18:10:25 +00:00
asfdemux asfpacket: Fix pull-mode timestamping handling. 2009-04-23 09:04:41 +02:00
dvdlpcmdec dvdlpcmdec: Fix factory klass, It's a 'Decoder', not a 'Demuxer'. 2009-03-26 20:23:14 +01:00
dvdsub dvdsub/mpegstream: _class_init: Remove unused class variables 2009-04-21 20:15:56 +02:00
iec958 Don't install static libs for plugins. Fixes #550851 for ugly. 2008-10-13 18:10:25 +00:00
mpegaudioparse mp3parse: don't build seek table if we can't seek. 2009-04-21 14:16:52 -07:00
mpegstream mpegstream: Remove dead assignments. 2009-04-21 20:37:19 +02:00
realmedia rmdemux: Actually return the return value for the seek handling. 2009-04-21 20:37:19 +02:00
synaesthesia synaesthesia: fix compilation on windows 2009-04-14 19:16:46 +02:00
Makefile.am on dasher, on dancer, on donner, on fixen! 2001-12-23 03:25:55 +00:00