Patchwork [meta-oe,v2] add recipe for mpg123, a decoder for MPEG-1 layer 1, 2, and 3

login
register
mail settings
Submitter Carlos Rafael Giani
Date April 8, 2013, 11:24 p.m.
Message ID <1365463467-5893-1-git-send-email-dv@pseudoterminal.org>
Download mbox | patch
Permalink /patch/47663/
State Superseded, archived
Headers show

Comments

Carlos Rafael Giani - April 8, 2013, 11:24 p.m.
mpg123 consists of a decoder library, and a command line application.
The application can be used to playback and dump decoded mp1/mp2/mp3 files.
The library can be integrated in other applications. CPU usage is minimal.

Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
---
 .../recipes-multimedia/mpg123/mpg123_1.15.3.bb     | 30 ++++++++++++++++++++++
 1 file changed, 30 insertions(+)
 create mode 100644 meta-multimedia/recipes-multimedia/mpg123/mpg123_1.15.3.bb
Koen Kooi - April 9, 2013, 6:43 a.m.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Op 09-04-13 01:24, Carlos Rafael Giani schreef:
> mpg123 consists of a decoder library, and a command line application. The
> application can be used to playback and dump decoded mp1/mp2/mp3 files. 
> The library can be integrated in other applications. CPU usage is
> minimal.
> 
> Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org> --- 
> .../recipes-multimedia/mpg123/mpg123_1.15.3.bb     | 30
> ++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode
> 100644 meta-multimedia/recipes-multimedia/mpg123/mpg123_1.15.3.bb
> 
> diff --git a/meta-multimedia/recipes-multimedia/mpg123/mpg123_1.15.3.bb
> b/meta-multimedia/recipes-multimedia/mpg123/mpg123_1.15.3.bb new file
> mode 100644 index 0000000..6b9490e --- /dev/null +++
> b/meta-multimedia/recipes-multimedia/mpg123/mpg123_1.15.3.bb @@ -0,0
> +1,30 @@ +SUMMARY = "Audio decoder for MPEG-1 Layer 1/2/3" +DESCRIPTION =
> "The core of mpg123 is an MPEG-1 Layer 1/2/3 decoding library, which can
> be used by other programs. \ +mpg123 also comes with a command-line tool
> which can playback using ALSA, PulseAudio, OSS, and several other APIs,
> \ +and also can write the decoded audio to WAV." +HOMEPAGE =
> "http://mpg123.de/" +BUGTRACKER =
> "http://sourceforge.net/p/mpg123/bugs/" +SECTION = "multimedia" + 
> +LICENSE = "LGPLv2.1" +LICENSE_FLAGS = "commercial" +LIC_FILES_CHKSUM =
> "file://COPYING;md5=a7aa23a2b646eca38ad4eeb7a853761c" + +SRC_URI =
> "${SOURCEFORGE_MIRROR}/mpg123/mpg123/${PV}/mpg123-${PV}.tar.bz2" + 
> +SRC_URI[md5sum] = "f734f9e2982f398a1c919475fc0b3798" +SRC_URI[sha256sum]
> = "b6b1aef887835f83ac3d4acb5701ae619041fc60d76548ad779a409080338df7" + +S
> = "${WORKDIR}/mpg123-${PV}" + +inherit autotools pkgconfig + 
> +EXTRA_OECONF = " \ +	--enable-shared \ +
> ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-cpu=neon', '', d)}
> \ +	${@bb.utils.contains('TUNE_FEATURES', 'altivec',
> '--with-cpu=altivec', '', d)} \ +	${@bb.utils.contains('TUNE_FEATURES',
> 'i586', '--with-cpu=i586', '', d)} \

A note of warning, OE-core defines a ton of modern CPUs to be i586, the Atom
E6xx is one of them, it supports up to SSSE4.0, but I don't think mpg123
will include that.

This isn't a problem with your patch, but with OE-core, so no need to
change. Just adding more google juice for when people are wondering why
mpg123 sucks on their intel boards :)

> +	${@bb.utils.contains('DISTRO_FEATURES', 'alsa',
> '--with-default-audio=alsa', '', d)} \ +
> ${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio',
> '--with-default-audio=pulse', '', d)} \ +	" +
> 

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Darwin)
Comment: GPGTools - http://gpgtools.org

iD4DBQFRY7h2MkyGM64RGpERAi+bAJjMMmIPOANk37QFxxsh/nsRs9N8AKC7dzI+
4PsmLFH/3KicA3kdYQ0lSg==
=b13E
-----END PGP SIGNATURE-----
Carlos Rafael Giani - April 9, 2013, 9:53 a.m.
On 2013-04-09 08:43, Koen Kooi wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Op 09-04-13 01:24, Carlos Rafael Giani schreef:
>> mpg123 consists of a decoder library, and a command line application. The
>> application can be used to playback and dump decoded mp1/mp2/mp3 files.
>> The library can be integrated in other applications. CPU usage is
>> minimal.
>>
>> Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org> ---
>> .../recipes-multimedia/mpg123/mpg123_1.15.3.bb     | 30
>> ++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode
>> 100644 meta-multimedia/recipes-multimedia/mpg123/mpg123_1.15.3.bb
>>
>> diff --git a/meta-multimedia/recipes-multimedia/mpg123/mpg123_1.15.3.bb
>> b/meta-multimedia/recipes-multimedia/mpg123/mpg123_1.15.3.bb new file
>> mode 100644 index 0000000..6b9490e --- /dev/null +++
>> b/meta-multimedia/recipes-multimedia/mpg123/mpg123_1.15.3.bb @@ -0,0
>> +1,30 @@ +SUMMARY = "Audio decoder for MPEG-1 Layer 1/2/3" +DESCRIPTION =
>> "The core of mpg123 is an MPEG-1 Layer 1/2/3 decoding library, which can
>> be used by other programs. \ +mpg123 also comes with a command-line tool
>> which can playback using ALSA, PulseAudio, OSS, and several other APIs,
>> \ +and also can write the decoded audio to WAV." +HOMEPAGE =
>> "http://mpg123.de/" +BUGTRACKER =
>> "http://sourceforge.net/p/mpg123/bugs/" +SECTION = "multimedia" +
>> +LICENSE = "LGPLv2.1" +LICENSE_FLAGS = "commercial" +LIC_FILES_CHKSUM =
>> "file://COPYING;md5=a7aa23a2b646eca38ad4eeb7a853761c" + +SRC_URI =
>> "${SOURCEFORGE_MIRROR}/mpg123/mpg123/${PV}/mpg123-${PV}.tar.bz2" +
>> +SRC_URI[md5sum] = "f734f9e2982f398a1c919475fc0b3798" +SRC_URI[sha256sum]
>> = "b6b1aef887835f83ac3d4acb5701ae619041fc60d76548ad779a409080338df7" + +S
>> = "${WORKDIR}/mpg123-${PV}" + +inherit autotools pkgconfig +
>> +EXTRA_OECONF = " \ +	--enable-shared \ +
>> ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-cpu=neon', '', d)}
>> \ +	${@bb.utils.contains('TUNE_FEATURES', 'altivec',
>> '--with-cpu=altivec', '', d)} \ +	${@bb.utils.contains('TUNE_FEATURES',
>> 'i586', '--with-cpu=i586', '', d)} \
> A note of warning, OE-core defines a ton of modern CPUs to be i586, the Atom
> E6xx is one of them, it supports up to SSSE4.0, but I don't think mpg123
> will include that.
>
> This isn't a problem with your patch, but with OE-core, so no need to
> change. Just adding more google juice for when people are wondering why
> mpg123 sucks on their intel boards :)
>
>> +	${@bb.utils.contains('DISTRO_FEATURES', 'alsa',
>> '--with-default-audio=alsa', '', d)} \ +
>> ${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio',
>> '--with-default-audio=pulse', '', d)} \ +	" +
>>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.5 (Darwin)
> Comment: GPGTools - http://gpgtools.org
>
> iD4DBQFRY7h2MkyGM64RGpERAi+bAJjMMmIPOANk37QFxxsh/nsRs9N8AKC7dzI+
> 4PsmLFH/3KicA3kdYQ0lSg==
> =b13E
> -----END PGP SIGNATURE-----
>
>
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel

Hmm, perhaps I should change it. mpg123 tries to autodetect the machine 
then anyway. I just added these options to ensure it picks the right 
ones without having to autodetect anything.
Ross Burton - April 9, 2013, 10:03 a.m.
On 9 April 2013 10:53, Carlos Rafael Giani <dv@pseudoterminal.org> wrote:
> Hmm, perhaps I should change it. mpg123 tries to autodetect the machine then
> anyway. I just added these options to ensure it picks the right ones without
> having to autodetect anything.

How does it detect?  Traditional "what am I running on?" tests won't
work as it's being cross-compiled...

Ross
Carlos Rafael Giani - April 9, 2013, 11:43 a.m.
On 04/09/2013 12:03 PM, Burton, Ross wrote:
> On 9 April 2013 10:53, Carlos Rafael Giani <dv@pseudoterminal.org> wrote:
>> Hmm, perhaps I should change it. mpg123 tries to autodetect the machine then
>> anyway. I just added these options to ensure it picks the right ones without
>> having to autodetect anything.
> How does it detect?  Traditional "what am I running on?" tests won't
> work as it's being cross-compiled...
>
> Ross
>
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel

In configure.ac it looks at the $host variable and matches it against 
patterns , for example x86_64-*-linux* . Manual cross compilation showed 
that it correctly detects the host this way.

Carlos

Patch

diff --git a/meta-multimedia/recipes-multimedia/mpg123/mpg123_1.15.3.bb b/meta-multimedia/recipes-multimedia/mpg123/mpg123_1.15.3.bb
new file mode 100644
index 0000000..6b9490e
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/mpg123/mpg123_1.15.3.bb
@@ -0,0 +1,30 @@ 
+SUMMARY = "Audio decoder for MPEG-1 Layer 1/2/3"
+DESCRIPTION = "The core of mpg123 is an MPEG-1 Layer 1/2/3 decoding library, which can be used by other programs. \
+mpg123 also comes with a command-line tool which can playback using ALSA, PulseAudio, OSS, and several other APIs, \
+and also can write the decoded audio to WAV."
+HOMEPAGE = "http://mpg123.de/"
+BUGTRACKER = "http://sourceforge.net/p/mpg123/bugs/"
+SECTION = "multimedia"
+
+LICENSE = "LGPLv2.1"
+LICENSE_FLAGS = "commercial"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a7aa23a2b646eca38ad4eeb7a853761c"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/mpg123/mpg123/${PV}/mpg123-${PV}.tar.bz2"
+
+SRC_URI[md5sum] = "f734f9e2982f398a1c919475fc0b3798"
+SRC_URI[sha256sum] = "b6b1aef887835f83ac3d4acb5701ae619041fc60d76548ad779a409080338df7" 
+
+S = "${WORKDIR}/mpg123-${PV}"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = " \
+	--enable-shared \
+	${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-cpu=neon', '', d)} \
+	${@bb.utils.contains('TUNE_FEATURES', 'altivec', '--with-cpu=altivec', '', d)} \
+	${@bb.utils.contains('TUNE_FEATURES', 'i586', '--with-cpu=i586', '', d)} \
+	${@bb.utils.contains('DISTRO_FEATURES', 'alsa', '--with-default-audio=alsa', '', d)} \
+	${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', '--with-default-audio=pulse', '', d)} \
+	"
+