GNOME Bugzilla – Bug 460978
gst_audio_buffer_clip outputs warnings
Last modified: 2007-07-27 17:11:08 UTC
The gst_audio_buffer_clip uses g_return_val_if_fail to output a warning when the input buffer has no timestamp. This causes unnecessary output, and crashes when fatal-warnings is on. Instead, it should just return the unclipped buffer, I think. Either that, or vorbisdec should not try and call the function for buffers that have no timestamp. Example file: http://www1.mplayerhq.hu/MPlayer/samples/V-codecs/Theora/Sahara.ogg
Sample debug: 0:00:00.169813000 25331 0x6fb7c0 DEBUG vorbisdec vorbisdec.c:1089:vorbis_dec_decode_buffer:<vorbisdec0> vorbis granule: 0 0:00:00.169849000 25331 0x6fb7c0 DEBUG vorbisdec vorbisdec.c:749:vorbis_handle_header_packet:<vorbisdec0> parsing header packet 0:00:00.169934000 25331 0x6fb7c0 DEBUG vorbisdec vorbisdec.c:1089:vorbis_dec_decode_buffer:<vorbisdec0> vorbis granule: 0 0:00:00.169947000 25331 0x6fb7c0 DEBUG vorbisdec vorbisdec.c:749:vorbis_handle_header_packet:<vorbisdec0> parsing header packet 0:00:00.169956000 25331 0x6fb7c0 DEBUG vorbisdec vorbisdec.c:655:vorbis_handle_comment_packet:<vorbisdec0> parsing comment packet 0:00:00.170059000 25331 0x6fb7c0 DEBUG vorbisdec vorbisdec.c:1089:vorbis_dec_decode_buffer:<vorbisdec0> vorbis granule: 0 0:00:00.170071000 25331 0x6fb7c0 DEBUG vorbisdec vorbisdec.c:749:vorbis_handle_header_packet:<vorbisdec0> parsing header packet 0:00:00.173440000 25331 0x6fb7c0 DEBUG vorbisdec vorbisdec.c:1089:vorbis_dec_decode_buffer:<vorbisdec0> vorbis granule: 0 0:00:00.173500000 25331 0x6fb7c0 DEBUG vorbisdec vorbisdec.c:1007:vorbis_handle_data_packet:<vorbisdec0> decoded 74 bytes into 0 samples, ts 99:99:99.999999999 0:00:00.173534000 25331 0x6fb7c0 DEBUG vorbisdec vorbisdec.c:1089:vorbis_dec_decode_buffer:<vorbisdec0> vorbis granule: 0 0:00:00.173611000 25331 0x6fb7c0 LOG vorbisdec vorbisdec.c:933:vorbis_handle_data_packet:<vorbisdec0> 384 samples ready for reading 0:00:00.173628000 25331 0x6fb7c0 DEBUG vorbisdec vorbisdec.c:975:vorbis_handle_data_packet:<vorbisdec0> granulepos: -384 0:00:00.173637000 25331 0x6fb7c0 DEBUG vorbisdec vorbisdec.c:983:vorbis_handle_data_packet:<vorbisdec0> corresponding timestamp 99:99:99.999999999 0:00:00.173646000 25331 0x6fb7c0 DEBUG vorbisdec vorbisdec.c:987:vorbis_handle_data_packet:<vorbisdec0> set duration 0:00:00.000000001 ** (read-metadata:25331): CRITICAL **: gst_audio_buffer_clip: assertion `GST_BUFFER_TIMESTAMP_IS_VALID (buffer)' failed
Fixed in CVS: 2007-07-27 Jan Schmidt <thaytan@mad.scientist.com> * gst-libs/gst/audio/audio.c: When clipping a buffer with no timestamp, assume it is within the segment without warnings. Fixes: #460978