[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-dev] Nellymoser audio segfaults (bug #24355])

From: Benjamin Wolsey
Subject: [Gnash-dev] Nellymoser audio segfaults (bug #24355])
Date: Tue, 23 Sep 2008 13:46:39 +0200

I tried playing an FLV with nellymoser audio, only to discover that
Gnash segfaults. It's nothing to do with decoding, but rather the core
continues to use an AudioDecoder that failed to find a suitable codec
and cannot decode anything.

There is a simple fix for it in MediaHandler.h (return a 0 pointer if
setup fails). A better way (I think) is to drop setup as an AudioDecoder
member and pass the AudioInfo or SoundInfo straight to the constructor.
Fatal errors can throw a MediaException in the constructor and a try /
catch ensures that objects with such fatal errors are never constructed.

I implemented the same with VideoDecoder (for exactly the same bug) a
few weeks ago.

My question is: is it too close to a release (when is the release going
to be?) to make this interface change? Bastiaan's work on gstreamer
would probably be affected most, but on the other hand it is less work
to improve the interface now than to implement a temporary one and then
change it later. Plus it's a bugfix and not a new feature :)

I've attached a rough patch of my proposed change. It could be improved
by throwing directly in void setup() methods when an error is
encountered, so that MediaException::what() gives an exact error

Any comments? (Also whether it is an improvement over the current
interface or not).


> For samples of FLV with nellymoser audio, see:
> Loading these into Gnash (e.g with file #14418 - easyvideo.swf) causes a
> segfault.
> If ffmpeg supports nellymoser decoding, I suggest dropping Gnash's homespun
> decoder; if people want nellymoser, they will have to get a recent version of
> ffmpeg.
> The immediate problem is to fix the crash, though.
>     _______________________________________________________
> Reply to this item at:
>   <>
> _______________________________________________
>   Message sent via/by Savannah

Attachment: AudioDecoder.patch
Description: Text Data

Attachment: signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil

reply via email to

[Prev in Thread] Current Thread [Next in Thread]