GNOME Bugzilla – Bug 679886
[0.11] faad: aborts with "gst_audio_decoder_finish_frame: code should not be reached" when scrubbing/seeking heavily
Last modified: 2012-07-20 14:49:34 UTC
Created attachment 218751 [details] last 100 lines of debug log (Note to self: 111kbps 22.05kHz, but others too) When scrubbing heavily, I sometimes (quite rarely) get an abort like this: 0:00:27.267076208 24528 0x3024ca0 LOG audiodecoder gstaudiodecoder.c:1447:gst_audio_decoder_chain:<faad2> received buffer of size 7755 with ts 0:02:11.981000704, duration 0:00:00.046439909 0:00:27.267092481 24528 0x3024ca0 DEBUG audiodecoder gstaudiodecoder.c:1458:gst_audio_decoder_chain:<faad2> handling discont 0:00:27.267105681 24528 0x3024ca0 LOG audiodecoder gstaudiodecoder.c:1186:gst_audio_decoder_flush:<faad2> flush hard 0 0:00:27.267119160 24528 0x3024ca0 DEBUG audiodecoder gstaudiodecoder.c:442:gst_audio_decoder_reset:<faad2> gst_audio_decoder_reset 0:00:27.267134455 24528 0x3024ca0 DEBUG audiodecoder gstaudiodecoder.c:1050:gst_audio_decoder_push_buffers:<faad2> available: 7755 0:00:27.267148284 24528 0x3024ca0 DEBUG audiodecoder gstaudiodecoder.c:1067:gst_audio_decoder_push_buffers:<faad2> parsing available: 7755 0:00:27.267162322 24528 0x3024ca0 LOG audiodecoder gstaudiodecoder.c:1089:gst_audio_decoder_push_buffers:<faad2> frame at offset 0 of length 7755 0:00:27.267177617 24528 0x3024ca0 LOG audiodecoder gstaudiodecoder.c:1018:gst_audio_decoder_handle_frame:<faad2> tracking frame size 7755, ts 0:02:11.981000704 0:00:27.267247668 24528 0x3024ca0 LOG audiodecoder gstaudiodecoder.c:857:gst_audio_decoder_finish_frame:<faad2> accepting 18446744073709551615 bytes == 18446744073709551615 samples for 1 frames 0:00:27.267264221 24528 0x3024ca0 DEBUG audiodecoder gstaudiodecoder.c:901:gst_audio_decoder_finish_frame:<faad2> leading frame ts 0:02:11.981000704 0:00:27.267283287 24528 0x3024ca0 WARN audiodecoder gstaudiodecoder.c:2235:_gst_audio_decoder_error:<faad2> error: decoding error: Bitstream value not allowed by specification 0:00:27.267298233 24528 0x3024ca0 LOG audiodecoder gstaudiodecoder.c:857:gst_audio_decoder_finish_frame:<faad2> accepting 18446744073709551615 bytes == 18446744073709551615 samples for 1 frames ** ERROR:gstaudiodecoder.c:889:gst_audio_decoder_finish_frame: code should not be reached Last 100 lines of decoder/parser output attached. Filing against faad for now, may be a base class or parser issue of course.
(note to self 2: easier to reproduce with 110kbps @ 44.1kHz)
Those large number are an inconvenient/scary display of -1, and the real failure is due to faad trying to discard a frame twice upon decoding error which should be fixed by following commit(s): [0.10] commit f75ff5a8647aa6bdca1bb520fd08c9d8f26c84eb Author: Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk> Date: Fri Jul 20 16:43:19 2012 +0200 faad: only discard frame once upon decoding error Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679886 [0.11] commit 9e28b769e8f488b2df9545ba2fee1ef46920050c Author: Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk> Date: Fri Jul 20 16:43:19 2012 +0200 faad: only discard frame once upon decoding error Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679886