gnash-dev
[Top][All Lists]
Advanced

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

Re: [Gnash-dev] Another go at configuring the mediahandlers/decoders


From: Tomas Groth
Subject: Re: [Gnash-dev] Another go at configuring the mediahandlers/decoders
Date: Fri, 10 Aug 2007 18:38:13 +0200 (CEST)

Hi,

Since there wasn't any shouting "noooooooooo" after my latest mail, here's a
short suggestion as to how to make the mediadecoder pluggable.

The current situation is this:
The GUI creates a soundhandler (is in the backend-lib) and passes it to the
core-lib (the GUI is the owner). Whenever decoders (video/audio) is needed
those can easily created since they are in libbase.

My suggestion is that the soundhandler and decoder code gets into a new
libmedia/{gst|sdl}-folder. At runtime the GUI decides what backend to use and
load, and instead of creating a soundhandler, it creates a mediahandler, from
which the soundhandler and decoders can created. The mediahandler will more or
less just be factories for stuff in libmedia.

I've never used loadable libs, so this might be the wrong approach, but I feel
confident that you will correct me if that's the case.

cheers,

Tomas

--- Tomas Groth <address@hidden> skrev:

> Hi all,
> 
> It's once again time to reconsider the way the media handlers are chosen...
> At the moment I'm doing some work on the NetStream and Sound classes, and the
> soundhandlers, and while I'm at it, why not change the configuring as well?
> The goals are:
>  * Make it possible to have 2 soundbackends in 1 gnash-setup.
>  * Minimize the use of the ffmpeg mp3-decoder, since it is known not to be
> the
> best around, so we want to use madlib whenever possible.
> 
> How to do it:
> Get rid of the --enable-media=x, and instead use --enable-gst,
> --enable-ffmpeg
> and --enable-mad. To disable a backend just use the corresponding
> --disable-x.
> 
> When gst is enabled, the backend for it will be compiled, and if chosen at
> runtime it will be used to decode and play all media.
> 
> When ffmpeg is enabled, the backend for it will be compiled, and if chosen at
> runtime it will be used to decode and play all media, except if mad is
> enabled,
> in which case mad will do the mp3-decoding.
> 
> When mad is enabled, the backend for it will be compiled, and if chosen at
> runtime it will be used to decode and play all mp3-audio. If mad is enabled
> and
> ffmpeg is not, only audio will be available when playing video from sites
> like
> youtube.
> 
> ffmpeg and mad uses the same SDL backend for audio output, and are therefore
> tightly connected. 
> 
> At runtime or in .gnashrc a default soundhandler should be selected, perhaps
> using "set soundhandler sdl" and "set soundhandler gst" in .gnashrc, and -snd
> <sdl|gst> on the commandline.
> 
> 
> Feel free to comment, and make suggestions on how this should be done!
> 
> cheers,
> 
> Tomas
> 
> 
>       
> 
> 
> _______________________________________________
> Gnash-dev mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/gnash-dev
> 



      




reply via email to

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