GNOME Bugzilla – Bug 662108
Assertion in base audio decoder when decoding vorbis
Last modified: 2011-10-19 14:56:33 UTC
$ gst-launch filesrc location=test.ogg ! oggdemux ! 'audio/x-vorbis' ! oggmux ! oggdemux ! vorbisdec ! audioconvert ! alsasink Setting pipeline to PAUSED ... Pipeline is PREROLLING ... ** ERROR:gstaudiodecoder.c:759:gst_audio_decoder_finish_frame: code should not be reached Aborted (core dumped) Not doing the remux works: $ gst-launch filesrc location=test.ogg ! oggdemux ! 'audio/x-vorbis' ! vorbisdec ! audioconvert ! alsasink Setting pipeline to PAUSED ... Pipeline is PREROLLING ... Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstAudioSinkClock ^CCaught interrupt -- handling interrupt. Interrupt: Stopping pipeline ... Execution ended after 1997285076 ns. Setting pipeline to PAUSED ... Setting pipeline to READY ... Setting pipeline to NULL ... Freeing pipeline ...
Created attachment 199346 [details] log of the failing command
Created attachment 199361 [details] [review] vorbisdec: only finish header packet frame if received in-stream Ah, having an assert there caught some minor bug in vorbisdec. Attached patch should take care of that.
Created attachment 199439 [details] [review] vorbisdec: do not try to read past the buffer array
Above patch is also needed for the pipeline in first post.
commit 1f900dc20d2d74a7255f7aeab2304bbed3a7c45c Author: Vincent Penquerc'h <vincent.penquerch@collabora.co.uk> Date: Wed Oct 19 15:28:44 2011 +0100 vorbisdec: do not try to read past the buffer array https://bugzilla.gnome.org/show_bug.cgi?id=662108 commit 43928e33e6ec9817c9c8ef3e289442b646508168 Author: Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk> Date: Tue Oct 18 21:40:54 2011 +0200 vorbisdec: only finish header packet frame if received in-stream ... rather than scaring audiodecoder with a frame extracted from caps. Fixes #662108 (partially).