GNOME Bugzilla – Bug 699804
wavparse: Messing up timestamps with ADPCM
Last modified: 2013-05-07 13:02:58 UTC
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=697955 http://adi.loris.tv/broken.wav is a WAV file with adpcm. adpcmdec uses GstAudioDecoder and does not do anything with timestamps, but the timestamps end up being bogus in the end. From the log below this seems to be caused by wavparse calculating wrong duration and thus putting wrong timestamps on the buffers gst-launch-1.0 filesrc location=broken.wav ! wavparse ! identity silent=false ! adpcmdec ! fakesink silent=false -v /GstPipeline:pipeline0/GstIdentity:identity0: last-message = chain ******* (identity0:sink) (6144 bytes, dts: none, pts :0:00:01.462857143, duration: 0:00:00.034829932, offset: 126, offset_end: 129, flags: 00000000 ) 0x7f1754003440 /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = chain ******* (fakesink0:sink) (8144 bytes, dts: none, pts : 0:00:01.462857143, duration: 0:00:00.046167800, offset: -1, offset_end: -1, flags: 00000000 ) 0x7f1754003110 /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = chain ******* (fakesink0:sink) (8144 bytes, dts: none, pts : 0:00:01.509024943, duration: 0:00:00.046167801, offset: -1, offset_end: -1, flags: 00000000 ) 0x7f1754003220 /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = chain ******* (fakesink0:sink) (8144 bytes, dts: none, pts: 0:00:01.555192744, duration: 0:00:00.046167800, offset: -1, offset_end: -1, flags: 00000000 ) 0x7f1754003440 /GstPipeline:pipeline0/GstIdentity:identity0: last-message = chain ******* (identity0:sink) (6144 bytes, dts: none, pts:0:00:01.497687075, duration: 0:00:00.034829932, offset: 129, offset_end: 132, flags: 00000000 ) 0x7f1754003110 /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = chain ******* (fakesink0:sink) (8144 bytes, dts: none, pts: 0:00:01.497687075, duration: 0:00:00.046167800, offset: -1, offset_end: -1, flags: 00000000 ) 0x7f1754003220 /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = chain ******* (fakesink0:sink) (8144 bytes, dts: none, pts: 0:00:01.543854875, duration: 0:00:00.046167801, offset: -1, offset_end: -1, flags: 00000000 ) 0x7f1754003440 /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = chain ******* (fakesink0:sink) (8144 bytes, dts: none, pts: 0:00:01.590022676, duration: 0:00:00.046167800, offset: -1, offset_end: -1, flags: 00000000 ) 0x7f1754003110
Also see bug #636245, which has a patch that likely fixes this.
*** This bug has been marked as a duplicate of bug 636245 ***