After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 681003 - New libmpg123-based MP3 decoder plugin
New libmpg123-based MP3 decoder plugin
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other All
: Normal enhancement
: 0.11.x
Assigned To: Tim-Philipp Müller
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2012-08-01 16:49 UTC by Carlos Rafael Giani
Modified: 2012-08-03 12:57 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Carlos Rafael Giani 2012-08-01 16:49:12 UTC
I wrote a plugin for decoding MP3's using the mpg123 library ( http://mpg123.de/ ).
It can be found on Github: https://github.com/dv1/gstmpg123

- Tested on x86-64, using Arch Linux, and on an ARM Cortex-A8 , using Angstrom
- Relies on mpegaudioparse for seeking and extracting the frames
- Uses GstAudioDecoder as base class
- Works with GStreamer 0.10.36 and 0.11.92
- Supports multiple downstream sample formats, making use of mpg123's internal code paths for each one

I know of of older plugins that decode with mpg123, but from what I have seen, they are no longer maintained, and were using GstElement as base class (I use GstAudioDecoder). I also heard about seeking problems.

Also, I am aware that GStreamer uses autotools (and not waf) for building, and am currently writing autotools scripts that should be compatible with the GStreamer ones.

It has worked well for me so far, I have watched movies with MP3 audio with it, didn't see seeking issues... the only feature left open is gapless playback, and the discussion about that one can be found here: https://bugzilla.gnome.org/show_bug.cgi?id=620323
Comment 1 Tim-Philipp Müller 2012-08-03 12:57:59 UTC
commit 6cac2bff68270386ad9580e4a1ed17ed8cda9a68
Author: Tim-Philipp Müller <tim.muller@collabora.co.uk>
Date:   Fri Aug 3 13:43:31 2012 +0100

    mpg123: map input buffer in READ mode, not WRITE mode
    
    Makes things actually work.

commit e7a5cfec307c593d7d5b0b16d5d4483ed33e917b
Author: Tim-Philipp Müller <tim.muller@collabora.co.uk>
Date:   Fri Aug 3 11:50:10 2012 +0100

    mpg123: query supported output formats at run-time
    
    Fixes stuff. We use a string here since we can't be bothered
    with GValue.

commit f75e4fbc11681b5175cd69cf0bb045a13b2b6595
Author: Tim-Philipp Müller <tim.muller@collabora.co.uk>
Date:   Fri Aug 3 11:48:02 2012 +0100

    mpg123: hook up to build system

commit da622c27ba84d805e84d01a269649171ce069e9c
Author: Carlos Rafael Giani <dv@pseudoterminal.org>
Date:   Fri Aug 3 11:13:48 2012 +0100

    mpg123: add new libmpg123-based mp3 decoder plugin
    
    Needs a bit of cleaning up.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=681003