GNOME Bugzilla – Bug 618305
[flvmux] last timestamp is stored even if it's invalid
Last modified: 2010-05-11 04:36:43 UTC
For example: $ gst-launch audiotestsrc num-buffers=10 ! speexenc ! flvmux ! filesink location=/tmp/foo.flv $ debug-flv /tmp/foo.flv (...) #00002 <AudioTag at offset 0x000009F1, time 0, size 81, Speex> #00003 <AudioTag at offset 0x00000A51, time 2007021037, size 71, Speex> #00004 <AudioTag at offset 0x00000AA7, time 2007021037, size 75, Speex> (...) the third and fourth FLV tag have a ridiculous timestamp. That's because flvmux saves the timestamp of the last buffer pushed and uses it if the incoming buffer has an invalid timestamp and it does it regardless of whether that timestamp to be saved is valid or not. The solution is to only store the last timestamp if it's valid.
Created attachment 160761 [details] [review] patch to fix the issue
commit cf57f1b220ccaf591649db11faaf61359ac28b0c Author: Jan Urbański <wulczer@wulczer.org> Date: Mon May 10 22:11:10 2010 +0200 flvmux: only store the last buffer timestamp if it's valid Fixes bug #618305