[gst-devel] libmpg123 decoder plugin

Roland Poppenreiter r_poppi at gmx.at
Thu Jan 15 17:44:47 CET 2009


* On Thu, 15 Jan 2009 at 15:06 +0200, Felipe Contreras wrote:
> On Thu, Jan 15, 2009 at 2:35 PM, Roland Poppenreiter <r_poppi at gmx.at> wrote:
> > * On Thu, 15 Jan 2009 at  7:47 +0200, Felipe Contreras wrote:
> >> On Wed, Jan 14, 2009 at 5:41 PM, Roland Poppenreiter <r_poppi at gmx.at> wrote:
> >> > Hello everybody,
> >> >
> >> > I hope this is the right mailinglist for this anouncement.  I wrote
> >> > a mp3 decoder plugin with the mpg123 library. One reason is that
> >> > mpg123 has some processor optimization (SSE, MMX, 3DNow, ...) in it
> >> > and should be faster than the mad decoder. I used the mad decoder
> >> > plugin (gstmad.c) as template for my plugin - so they are quite
> >> > similar. I wanted to benchmark both decoders and compare the results
> >> > but I ran into several problems and I got a few questions:
> >> >
> >> >  - sometimes i get a short white noise sound when i start playing an
> >> >   mp3 file with my mpg123 decoder plugin.
> >> >  - short white noise sound appears after seeking as well.
> >> >  - is it possible that data comming from the filesrc is sometimes
> >> >   overlapping?
> >> >  - seeking is not always working, also not with the mad decoder.
> >>
> >> Are you using the mp3parse element?
> >
> > no, I dont even know this plugin ....
> > the pipeline I'm using is this:
> >
> > gst-launch filesrc location="foo.mp3" ! mpg123 ! audioconvert !
> > osssink
> 
> It's on the mpegaudio parse plug-in. It would do the proper frame
> seeking so your decoder element doesn't have to.
> 
> <snip/>

oh, thanks for the information, but anyway I solved my seeking
problems without using another plugin. Also the problems with the
white noise disappeared - the reason was that I initialized my
GST_BUFFER (=outbuffer) with a wrong size.  

> >> Is that mpg123 library new? If I recall correctly the last time I
> >> tried it wasn't there, I even suggested them to create a library, but
> >> they didn't look too interested.
> >
> > the libmpg123 is not new, its the api from the mpg123 mp3-player
> > (http://www.mpg123.de/api/) and I already used it for my mpg123
> > gstreamer plugin.
> 
> Yeah, I know, but it was a standalone player (no library) before.
> Anyway, it's good that they've split it.

Yep, the library is good and well documented so I can recommended
for everybody who wants to write an mp3 player.

> >> Another option is to provide an OpenMAX IL API for the library. In
> >> that case the gst-openmax wrapper would be able to use the decoder
> >> transparently.
> >
> > I dont know this library, I will take a look at it, but for the
> > moment I have to solve my problems with the mpg123 plugin.
> 
> But that's the point, if you provide the mp123 library with OpenMAX IL
> interface, then you don't need to write your decoder element.

Sorry I dont get it, why should I use the mpg123 library with
OpenMAX interface if I already have a working implementation of the
mpg123 decoder plugin.

> -- 
> Felipe Contreras
>

So now that my plugin seems to work correctly and produce a nice
quality sound, even faster than the MAD decoder plugin, I would like
to know if anybody want to try it? 

-- Roland Poppenreiter




More information about the gstreamer-devel mailing list