bugGnash - The GNU Flash player - Bugs: bug #24355, Nellymoser audio segfaults

 
 

bug #24355: Nellymoser audio segfaults

Submitted by:  Benjamin Wolsey <bwy>
Submitted on:  Tue 23 Sep 2008 10:23:43 AM UTC  
 
Category: NoneSeverity: 6 - Security
Release: NoneStatus: Fixed
Privacy: PublicAssigned to: Benjamin Wolsey <bwy>
Open/Closed: Closed

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

Wed 24 Sep 2008 07:51:10 AM UTC, comment #5:

Is anyone likely to test this? I've tested with various movies, so I'll close the bug if no one is interested.

Benjamin Wolsey <bwy>
Project MemberIn charge of this item.
Tue 23 Sep 2008 05:59:43 PM UTC, comment #4:

Done. Tests welcome for all sort of weird audio / video combinations.

Benjamin Wolsey <bwy>
Project MemberIn charge of this item.
Tue 23 Sep 2008 05:25:50 PM UTC, comment #3:

Looks good to me. Please apply.

Bastiaan Jacques <bjacques>
Project Member
Tue 23 Sep 2008 04:59:42 PM UTC, comment #2:

Here is a patch that
(a) Leaves the MediaHandler interface exactly as it was.
(b) BUT documents the fact that create{Audio,Video}Decoder throws if the AudioInfo is invalid or any other fatal error occurs (e.g. Ffmpeg can't allocate context: anything that means the decoder is useless).
(c) Modifies all AudioDecoder subclass constructors to take an AudioInfo or SoundInfo by reference (except Nellymoser, which needs a ctor with no arguments for gst).
(d) Documents all AudioDecoder subclass constructors (except gst).
(d) Removes setup() from the AudioDecoder interface, instead throwing on a fatal error in the ctors.
(e) Adds commented out code to use ffmpeg for Nellymoser (because it aborts if enabled).
(f) Modifies all callers of create{Audio,Video}Decoder to catch and log any exception.

It's not as much as it sounds, and is generally straightforward because the interface was so much better and cleaner than for 0.8.3.

It fixes the bug too, by the way.

(file #16555)

Benjamin Wolsey <bwy>
Project MemberIn charge of this item.
Tue 23 Sep 2008 12:33:33 PM UTC, comment #1:

Not directly related to the bug, but I can confirm that ffmpeg will decode the larger of the two mplayer sample videos, and aborts in AudioDecoderFfmpeg::decodeFrame() on the shorter one. Removing the abort() means the audio is played, but with memory errors (valgrind confirms).

Benjamin Wolsey <bwy>
Project MemberIn charge of this item.
Tue 23 Sep 2008 10:23:43 AM UTC, original submission:

For samples of FLV with nellymoser audio, see:

http://samples.mplayerhq.hu/A-codecs/Nelly_Moser/

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.

Benjamin Wolsey <bwy>
Project MemberIn charge of this item.

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

Attached Files
file #16555:  AudioDecoder.patch added by bwy (27KiB - application/octet-stream)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by bjacques (Posted a comment)
  • -unavailable- added by bwy (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 4 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Wed 24 Sep 2008 01:35:10 PM UTCbwyOpen/ClosedOpen=>Closed
    Wed 24 Sep 2008 01:35:09 PM UTCbwyStatusReady For Test=>Fixed
    Tue 23 Sep 2008 05:59:43 PM UTCbwyStatusNone=>Ready For Test
    Tue 23 Sep 2008 04:59:42 PM UTCbwyAttached File-=>Added AudioDecoder.patch, #16555

    Back to the top


    Powered by Savane 3.1-cleanup1