summaryrefslogtreecommitdiffstats
path: root/meta/recipes-multimedia
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2010-08-27 15:14:24 +0100
committerRichard Purdie <rpurdie@linux.intel.com>2010-08-27 15:29:45 +0100
commit29d6678fd546377459ef75cf54abeef5b969b5cf (patch)
tree8edd65790e37a00d01c3f203f773fe4b5012db18 /meta/recipes-multimedia
parentda49de6885ee1bc424e70bc02f21f6ab920efb55 (diff)
downloadpoky-29d6678fd546377459ef75cf54abeef5b969b5cf.tar.gz
Major layout change to the packages directory
Having one monolithic packages directory makes it hard to find things and is generally overwhelming. This commit splits it into several logical sections roughly based on function, recipes.txt gives more information about the classifications used. The opportunity is also used to switch from "packages" to "recipes" as used in OpenEmbedded as the term "packages" can be confusing to people and has many different meanings. Not all recipes have been classified yet, this is just a first pass at separating things out. Some packages are moved to meta-extras as they're no longer actively used or maintained. Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Diffstat (limited to 'meta/recipes-multimedia')
-rw-r--r--meta/recipes-multimedia/alsa/alsa-fpu.inc6
-rw-r--r--meta/recipes-multimedia/alsa/alsa-lib-1.0.23/fix-tstamp-declaration.patch19
-rw-r--r--meta/recipes-multimedia/alsa/alsa-lib-1.0.23/unbreak_plugindir.patch12
-rw-r--r--meta/recipes-multimedia/alsa/alsa-lib_1.0.23.bb40
-rw-r--r--meta/recipes-multimedia/alsa/alsa-oss_1.0.17.bb12
-rw-r--r--meta/recipes-multimedia/alsa/alsa-tools_1.0.20.bb10
-rw-r--r--meta/recipes-multimedia/alsa/alsa-utils-1.0.23/ncursesfix.patch42
-rw-r--r--meta/recipes-multimedia/alsa/alsa-utils_1.0.23.bb67
-rw-r--r--meta/recipes-multimedia/flac/flac-1.2.1/disable-xmms-plugin.patch24
-rw-r--r--meta/recipes-multimedia/flac/flac-1.2.1/flac-gcc43-fixes.patch14
-rw-r--r--meta/recipes-multimedia/flac/flac-1.2.1/xmms.m4149
-rw-r--r--meta/recipes-multimedia/flac/flac_1.2.1.bb49
-rw-r--r--meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.1/configure_fix.patch13
-rw-r--r--meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.1/no_beos.patch55
-rw-r--r--meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.1.bb32
-rw-r--r--meta/recipes-multimedia/gstreamer/gst-fluendo-mp3/configure_fix.patch16
-rw-r--r--meta/recipes-multimedia/gstreamer/gst-fluendo-mp3_0.10.2.bb9
-rw-r--r--meta/recipes-multimedia/gstreamer/gst-fluendo-mpegdemux_0.10.7.bb2
-rw-r--r--meta/recipes-multimedia/gstreamer/gst-fluendo.inc20
-rw-r--r--meta/recipes-multimedia/gstreamer/gst-meta-base_0.10.bb51
-rw-r--r--meta/recipes-multimedia/gstreamer/gst-openmax_0.10.0.2.bb18
-rw-r--r--meta/recipes-multimedia/gstreamer/gst-plugins-bad_0.10.19.bb24
-rw-r--r--meta/recipes-multimedia/gstreamer/gst-plugins-base_0.10.29.bb22
-rw-r--r--meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.23.bb19
-rw-r--r--meta/recipes-multimedia/gstreamer/gst-plugins-ugly_0.10.15.bb19
-rw-r--r--meta/recipes-multimedia/gstreamer/gst-plugins.inc33
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer-0.10.29/check_fix.patch17
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer-0.10.29/gst-inspect-check-error.patch14
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer-0.10.29/gstregistrybinary.c487
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer-0.10.29/gstregistrybinary.h194
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer_0.10.29.bb30
-rw-r--r--meta/recipes-multimedia/lame/lame-3.98.4/no-gtk1.patch18
-rw-r--r--meta/recipes-multimedia/lame/lame_3.98.4.bb28
-rw-r--r--meta/recipes-multimedia/liba52/liba52/buildcleanup.patch87
-rw-r--r--meta/recipes-multimedia/liba52/liba52_0.7.4.bb25
-rw-r--r--meta/recipes-multimedia/libexif/libexif_0.6.16.bb15
-rw-r--r--meta/recipes-multimedia/libid3tag/libid3tag/addpkgconfig.patch41
-rw-r--r--meta/recipes-multimedia/libid3tag/libid3tag_0.15.1b.bb20
-rw-r--r--meta/recipes-multimedia/libmad/libmad/add-pkgconfig.patch68
-rw-r--r--meta/recipes-multimedia/libmad/libmad/fix_for_mips_with_gcc-4.5.0.patch31
-rw-r--r--meta/recipes-multimedia/libmad/libmad/no-force-mem.patch16
-rw-r--r--meta/recipes-multimedia/libmad/libmad_0.15.1b.bb32
-rw-r--r--meta/recipes-multimedia/libogg/libogg_1.2.0.bb15
-rw-r--r--meta/recipes-multimedia/libpng/libpng_1.2.44.bb23
-rw-r--r--meta/recipes-multimedia/libtiff/files/libtool2.patch19
-rw-r--r--meta/recipes-multimedia/libtiff/tiff_3.8.2.bb17
-rw-r--r--meta/recipes-multimedia/libvorbis/libvorbis_1.3.1.bb23
-rw-r--r--meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.4.1.bb31
-rw-r--r--meta/recipes-multimedia/musicbrainz/libmusicbrainz/fix_build_issue_for_gcc_4.5.0.patch37
-rw-r--r--meta/recipes-multimedia/musicbrainz/libmusicbrainz_3.0.2.bb13
-rw-r--r--meta/recipes-multimedia/tremor/tremor_20100422.bb19
51 files changed, 2097 insertions, 0 deletions
diff --git a/meta/recipes-multimedia/alsa/alsa-fpu.inc b/meta/recipes-multimedia/alsa/alsa-fpu.inc
new file mode 100644
index 0000000000..ebd3493e6c
--- /dev/null
+++ b/meta/recipes-multimedia/alsa/alsa-fpu.inc
@@ -0,0 +1,6 @@
1
2def get_alsa_fpu_setting(bb, d):
3 if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]:
4 return "--with-softfloat"
5 return ""
6
diff --git a/meta/recipes-multimedia/alsa/alsa-lib-1.0.23/fix-tstamp-declaration.patch b/meta/recipes-multimedia/alsa/alsa-lib-1.0.23/fix-tstamp-declaration.patch
new file mode 100644
index 0000000000..9016b348de
--- /dev/null
+++ b/meta/recipes-multimedia/alsa/alsa-lib-1.0.23/fix-tstamp-declaration.patch
@@ -0,0 +1,19 @@
1# Author: Michael Lauer <mickey@vanille-media.de>
2# Date: Thu Jan 18 00:27:21 2007 +0000
3# alsa-lib: fix "error: field 'tstamp' has incomplete type" when including alsa headers with strict compilation options
4#
5# Acquired from OpenEmbedded
6
7Index: alsa-lib-1.0.13/include/global.h
8===================================================================
9--- alsa-lib-1.0.13.orig/include/global.h
10+++ alsa-lib-1.0.13/include/global.h
11@@ -29,6 +29,8 @@
12 #define __ALSA_GLOBAL_H_
13
14 /* for timeval and timespec */
15+#define __need_timeval
16+#define __need_timespec
17 #include <time.h>
18
19 #ifdef __cplusplus
diff --git a/meta/recipes-multimedia/alsa/alsa-lib-1.0.23/unbreak_plugindir.patch b/meta/recipes-multimedia/alsa/alsa-lib-1.0.23/unbreak_plugindir.patch
new file mode 100644
index 0000000000..7d13166809
--- /dev/null
+++ b/meta/recipes-multimedia/alsa/alsa-lib-1.0.23/unbreak_plugindir.patch
@@ -0,0 +1,12 @@
1diff -Nur alsa-lib-1.0.14.orig/configure.in alsa-lib-1.0.14/configure.in
2--- alsa-lib-1.0.14.orig/configure.in 2007-05-31 03:05:13.000000000 -0500
3+++ alsa-lib-1.0.14/configure.in 2007-08-18 13:05:49.000000000 -0500
4@@ -93,7 +93,7 @@
5 esac
6 plugindir="$dir/$PACKAGE"
7 fi
8-AC_DEFINE_UNQUOTED(ALSA_PLUGIN_DIR, "plugindir", [directory containing ALSA add-on modules])
9+AC_DEFINE_UNQUOTED(ALSA_PLUGIN_DIR, "${plugindir}", [directory containing ALSA add-on modules])
10 ALSA_PLUGIN_DIR="$plugindir"
11 AC_SUBST(ALSA_PLUGIN_DIR)
12
diff --git a/meta/recipes-multimedia/alsa/alsa-lib_1.0.23.bb b/meta/recipes-multimedia/alsa/alsa-lib_1.0.23.bb
new file mode 100644
index 0000000000..b0a2a305c0
--- /dev/null
+++ b/meta/recipes-multimedia/alsa/alsa-lib_1.0.23.bb
@@ -0,0 +1,40 @@
1DESCRIPTION = "Alsa sound library"
2HOMEPAGE = "http://www.alsa-project.org"
3BUGTRACKER = "https://bugtrack.alsa-project.org/alsa-bug/login_page.php"
4SECTION = "libs/multimedia"
5LICENSE = "LGPLv2.1 & GPLv2+"
6LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34 \
7 file://src/socket.c;beginline=1;endline=26;md5=11ff89a8a7a4a690a5c78effe8159545"
8
9# configure.in sets -D__arm__ on the command line for any arm system
10# (not just those with the ARM instruction set), this should be removed,
11# (or replaced by a permitted #define).
12#FIXME: remove the following
13ARM_INSTRUCTION_SET = "arm"
14
15PR = "r0"
16
17SRC_URI = "ftp://ftp.alsa-project.org/pub/lib/alsa-lib-${PV}.tar.bz2 \
18 file://fix-tstamp-declaration.patch;patch=1"
19
20inherit autotools pkgconfig
21
22require alsa-fpu.inc
23EXTRA_OECONF += "${@get_alsa_fpu_setting(bb, d)} "
24
25EXTRA_OECONF = "--with-cards=pdaudiocf --with-oss=yes --disable-python"
26
27PACKAGES =+ "alsa-server libasound alsa-conf-base alsa-conf alsa-doc alsa-dev"
28FILES_${PN}-dbg += "${libdir}/alsa-lib/*/.debu*"
29FILES_libasound = "${libdir}/libasound.so.*"
30FILES_alsa-server = "${bindir}/*"
31FILES_alsa-conf = "${datadir}/alsa/"
32FILES_alsa-dev += "${libdir}/pkgconfig/ /usr/include/ ${datadir}/aclocal/*"
33FILES_alsa-conf-base = "\
34${datadir}/alsa/alsa.conf \
35${datadir}/alsa/cards/aliases.conf \
36${datadir}/alsa/pcm/default.conf \
37${datadir}/alsa/pcm/dmix.conf \
38${datadir}/alsa/pcm/dsnoop.conf"
39
40RDEPENDS_libasound = "alsa-conf-base"
diff --git a/meta/recipes-multimedia/alsa/alsa-oss_1.0.17.bb b/meta/recipes-multimedia/alsa/alsa-oss_1.0.17.bb
new file mode 100644
index 0000000000..00e00dc62b
--- /dev/null
+++ b/meta/recipes-multimedia/alsa/alsa-oss_1.0.17.bb
@@ -0,0 +1,12 @@
1DESCRIPTION = "Alsa OSS Compatibility Package"
2SECTION = "libs/multimedia"
3LICENSE = "GPL"
4DEPENDS = "alsa-lib"
5
6SRC_URI = "ftp://ftp.alsa-project.org/pub/oss-lib/alsa-oss-${PV}.tar.bz2"
7
8inherit autotools
9
10do_configure_prepend () {
11 touch NEWS README AUTHORS ChangeLog
12}
diff --git a/meta/recipes-multimedia/alsa/alsa-tools_1.0.20.bb b/meta/recipes-multimedia/alsa/alsa-tools_1.0.20.bb
new file mode 100644
index 0000000000..789b68e438
--- /dev/null
+++ b/meta/recipes-multimedia/alsa/alsa-tools_1.0.20.bb
@@ -0,0 +1,10 @@
1BROKEN = "1"
2
3DESCRIPTION = "Alsa Tools"
4SECTION = "console/utils"
5LICENSE = "GPL"
6DEPENDS = "alsa-lib ncurses"
7
8SRC_URI = "ftp://ftp.alsa-project.org/pub/tools/alsa-tools-${PV}.tar.bz2"
9
10inherit autotools
diff --git a/meta/recipes-multimedia/alsa/alsa-utils-1.0.23/ncursesfix.patch b/meta/recipes-multimedia/alsa/alsa-utils-1.0.23/ncursesfix.patch
new file mode 100644
index 0000000000..0009c1afe9
--- /dev/null
+++ b/meta/recipes-multimedia/alsa/alsa-utils-1.0.23/ncursesfix.patch
@@ -0,0 +1,42 @@
1# alsa-utils: Fix ncurses build failures
2# Richard Purdie <rpurdie@linux.intel.com>
3# Rebased to 1.0.23, Dongxiao Xu <dongxiao.xu@intel.com>
4
5diff -ruN alsa-utils-1.0.23-orig/configure.in alsa-utils-1.0.23/configure.in
6--- alsa-utils-1.0.23-orig/configure.in 2010-04-16 19:19:12.000000000 +0800
7+++ alsa-utils-1.0.23/configure.in 2010-06-22 15:22:06.731202478 +0800
8@@ -109,34 +109,16 @@
9 NCURSESLIBSUFFIX=""
10 CURSES_NLS="no"
11 if test "$curseslib" = "ncursesw" -o \( "$curseslib" = "auto" -a "$USE_NLS" = "yes" \); then
12- AC_CHECK_PROG([ncursesw5_config], [ncursesw5-config], [yes])
13- if test "$ncursesw5_config" = "yes"; then
14- CURSESINC="<ncurses.h>"
15- CURSESLIB=`ncursesw5-config --libs`
16- CURSESLIBDIR=`ncursesw5-config --libdir`
17- CURSES_CFLAGS=`ncursesw5-config --cflags`
18- curseslib="ncursesw"
19- else
20 AC_CHECK_LIB(ncursesw, initscr,
21 [ CURSESINC='<ncurses.h>'; CURSESLIB='-lncursesw'; curseslib="ncursesw"])
22- fi
23 if test -n "$CURSESINC"; then
24 NCURSESLIBSUFFIX="w"
25 CURSES_NLS="yes"
26 fi
27 fi
28 if test "$curseslib" = "ncurses" -o "$curseslib" = "auto"; then
29- AC_CHECK_PROG([ncurses5_config], [ncurses5-config], [yes])
30- if test "$ncurses5_config" = "yes"; then
31- CURSESINC="<ncurses.h>"
32- CURSESLIB=`ncurses5-config --libs`
33- CURSESLIBDIR=`ncurses5-config --libdir`
34- CURSES_CFLAGS=`ncurses5-config --cflags`
35- curseslib="ncurses"
36- else
37 AC_CHECK_LIB(ncurses, initscr,
38 [ CURSESINC='<ncurses.h>'; CURSESLIB='-lncurses'; curseslib="ncurses"])
39- fi
40 fi
41 if test "$curseslib" = "curses" -o "$curseslib" = "auto"; then
42 AC_CHECK_LIB(curses, initscr,
diff --git a/meta/recipes-multimedia/alsa/alsa-utils_1.0.23.bb b/meta/recipes-multimedia/alsa/alsa-utils_1.0.23.bb
new file mode 100644
index 0000000000..7b30c0d4b0
--- /dev/null
+++ b/meta/recipes-multimedia/alsa/alsa-utils_1.0.23.bb
@@ -0,0 +1,67 @@
1DESCRIPTION = "ALSA Utilities"
2HOMEPAGE = "http://www.alsa-project.org"
3BUGTRACKER = "https://bugtrack.alsa-project.org/alsa-bug/login_page.php"
4SECTION = "console/utils"
5LICENSE = "GPLv2+"
6LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833 \
7 file://alsactl/utils.c;beginline=1;endline=20;md5=fe9526b055e246b5558809a5ae25c0b9"
8DEPENDS = "alsa-lib ncurses gettext"
9PR = "r0"
10
11SRC_URI = "ftp://ftp.alsa-project.org/pub/utils/alsa-utils-${PV}.tar.bz2 \
12 file://ncursesfix.patch;patch=1 "
13
14# lazy hack. needs proper fixing in gettext.m4, see
15# http://bugs.openembedded.org/show_bug.cgi?id=2348
16# please close bug and remove this comment when properly fixed
17#
18EXTRA_OECONF = "--disable-xmlto"
19EXTRA_OECONF_linux-uclibc = "--disable-nls"
20EXTRA_OECONF_linux-uclibcgnueabi = "--disable-nls"
21
22inherit autotools
23
24# This are all packages that we need to make. Also, the now empty alsa-utils
25# ipk depend on them.
26
27PACKAGES += "\
28 alsa-utils-alsamixer \
29 alsa-utils-midi \
30 alsa-utils-aplay \
31 alsa-utils-amixer \
32 alsa-utils-aconnect \
33 alsa-utils-iecset \
34 alsa-utils-speakertest \
35 alsa-utils-aseqnet \
36 alsa-utils-aseqdump \
37 alsa-utils-alsaconf \
38 alsa-utils-alsactl "
39
40# We omit alsaconf, because
41# a) this is a bash script
42# b) it creates config files not suitable for OE-based distros
43
44FILES_${PN} = ""
45FILES_alsa-utils-aplay = "${bindir}/aplay ${bindir}/arecord"
46FILES_alsa-utils-amixer = "${bindir}/amixer"
47FILES_alsa-utils-alsamixer = "${bindir}/alsamixer"
48FILES_alsa-utils-speakertest = "${bindir}/speaker-test ${datadir}/sounds/alsa/ ${datadir}/alsa/"
49FILES_alsa-utils-midi = "${bindir}/aplaymidi ${bindir}/arecordmidi ${bindir}/amidi"
50FILES_alsa-utils-aconnect = "${bindir}/aconnect"
51FILES_alsa-utils-aseqnet = "${bindir}/aseqnet"
52FILES_alsa-utils-iecset = "${bindir}/iecset"
53FILES_alsa-utils-alsactl = "${sbindir}/alsactl"
54FILES_alsa-utils-aseqdump = "${bindir}/aseqdump"
55FILES_alsa-utils-alsaconf = "${sbindir}/alsaconf"
56
57DESCRIPTION_alsa-utils-aplay = "play (and record) sound files via ALSA"
58DESCRIPTION_alsa-utils-amixer = "command-line based control for ALSA mixer and settings"
59DESCRIPTION_alsa-utils-alsamixer = "ncurses based control for ALSA mixer and settings"
60DESCRIPTION_alsa-utils-speakertest = "ALSA surround speaker test utility"
61DESCRIPTION_alsa-utils-midi = "miscalleanous MIDI utilities for ALSA"
62DESCRIPTION_alsa-utils-aconnect = "ALSA sequencer connection manager"
63DESCRIPTION_alsa-utils-aseqnet = "network client/server on ALSA sequencer"
64DESCRIPTION_alsa-utils-alsactl = "saves/restores ALSA-settings in /etc/asound.state"
65DESCRIPTION_alsa-utils-alsaconf = "a bash script that creates ALSA configuration files"
66
67ALLOW_EMPTY_alsa-utils = "1"
diff --git a/meta/recipes-multimedia/flac/flac-1.2.1/disable-xmms-plugin.patch b/meta/recipes-multimedia/flac/flac-1.2.1/disable-xmms-plugin.patch
new file mode 100644
index 0000000000..e2f4fa1360
--- /dev/null
+++ b/meta/recipes-multimedia/flac/flac-1.2.1/disable-xmms-plugin.patch
@@ -0,0 +1,24 @@
1# Acquired from OpenEmbedded
2
3diff -ruN flac-1.2.1-orig/src/Makefile.am flac-1.2.1-new/src/Makefile.am
4--- flac-1.2.1-orig/src/Makefile.am 2010-06-23 15:06:29.167865355 +0800
5+++ flac-1.2.1-new/src/Makefile.am 2010-06-25 16:23:05.555202728 +0800
6@@ -15,10 +15,6 @@
7 # restrictive of those mentioned above. See the file COPYING.Xiph in this
8 # distribution.
9
10-if FLaC__HAS_XMMS
11-XMMS_DIRS = plugin_common plugin_xmms
12-endif
13-
14 if FLaC__WITH_CPPLIBS
15 CPPLIBS_DIRS = libFLAC++ test_libFLAC++
16 endif
17@@ -29,7 +25,6 @@
18 flac \
19 metaflac \
20 monkeys_audio_utilities \
21- $(XMMS_DIRS) \
22 plugin_winamp2 \
23 test_grabbag \
24 test_libs_common \
diff --git a/meta/recipes-multimedia/flac/flac-1.2.1/flac-gcc43-fixes.patch b/meta/recipes-multimedia/flac/flac-1.2.1/flac-gcc43-fixes.patch
new file mode 100644
index 0000000000..fdb6f1337e
--- /dev/null
+++ b/meta/recipes-multimedia/flac/flac-1.2.1/flac-gcc43-fixes.patch
@@ -0,0 +1,14 @@
1# Acquired from OpenEmbedded
2# Fix no declaration of memcmp()
3
4diff -urN flac-1.2.1-orig/examples/cpp/encode/file/main.cpp flac-1.2.1/examples/cpp/encode/file/main.cpp
5--- flac-1.2.1-orig/examples/cpp/encode/file/main.cpp 2010-06-23 15:06:29.159481339 +0800
6+++ flac-1.2.1/examples/cpp/encode/file/main.cpp 2010-06-23 15:06:46.233384883 +0800
7@@ -30,6 +30,7 @@
8
9 #include <stdio.h>
10 #include <stdlib.h>
11+#include <string.h>
12 #include "FLAC++/metadata.h"
13 #include "FLAC++/encoder.h"
14
diff --git a/meta/recipes-multimedia/flac/flac-1.2.1/xmms.m4 b/meta/recipes-multimedia/flac/flac-1.2.1/xmms.m4
new file mode 100644
index 0000000000..5e250cdd38
--- /dev/null
+++ b/meta/recipes-multimedia/flac/flac-1.2.1/xmms.m4
@@ -0,0 +1,149 @@
1# CFLAGS and library paths for XMMS
2# written 15 December 1999 by Ben Gertzfield <che@debian.org>
3# Acquired from OpenEmbedded
4
5dnl Usage:
6dnl AM_PATH_XMMS([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
7dnl
8dnl Example:
9dnl AM_PATH_XMMS(0.9.5.1, , AC_MSG_ERROR([*** XMMS >= 0.9.5.1 not installed - please install first ***]))
10dnl
11dnl Defines XMMS_CFLAGS, XMMS_LIBS, XMMS_DATA_DIR, XMMS_PLUGIN_DIR,
12dnl XMMS_VISUALIZATION_PLUGIN_DIR, XMMS_INPUT_PLUGIN_DIR,
13dnl XMMS_OUTPUT_PLUGIN_DIR, XMMS_GENERAL_PLUGIN_DIR, XMMS_EFFECT_PLUGIN_DIR,
14dnl and XMMS_VERSION for your plugin pleasure.
15dnl
16
17dnl XMMS_TEST_VERSION(AVAILABLE-VERSION, NEEDED-VERSION [, ACTION-IF-OKAY [, ACTION-IF-NOT-OKAY]])
18AC_DEFUN(XMMS_TEST_VERSION, [
19
20# Determine which version number is greater. Prints 2 to stdout if
21# the second number is greater, 1 if the first number is greater,
22# 0 if the numbers are equal.
23
24# Written 15 December 1999 by Ben Gertzfield <che@debian.org>
25# Revised 15 December 1999 by Jim Monty <monty@primenet.com>
26
27 AC_PROG_AWK
28 xmms_got_version=[` $AWK ' \
29BEGIN { \
30 print vercmp(ARGV[1], ARGV[2]); \
31} \
32 \
33function vercmp(ver1, ver2, ver1arr, ver2arr, \
34 ver1len, ver2len, \
35 ver1int, ver2int, len, i, p) { \
36 \
37 ver1len = split(ver1, ver1arr, /\./); \
38 ver2len = split(ver2, ver2arr, /\./); \
39 \
40 len = ver1len > ver2len ? ver1len : ver2len; \
41 \
42 for (i = 1; i <= len; i++) { \
43 p = 1000 ^ (len - i); \
44 ver1int += ver1arr[i] * p; \
45 ver2int += ver2arr[i] * p; \
46 } \
47 \
48 if (ver1int < ver2int) \
49 return 2; \
50 else if (ver1int > ver2int) \
51 return 1; \
52 else \
53 return 0; \
54}' $1 $2`]
55
56 if test $xmms_got_version -eq 2; then # failure
57 ifelse([$4], , :, $4)
58 else # success!
59 ifelse([$3], , :, $3)
60 fi
61])
62
63AC_DEFUN(AM_PATH_XMMS,
64[
65AC_ARG_WITH(xmms-prefix,[ --with-xmms-prefix=PFX Prefix where XMMS is installed (optional)],
66 xmms_config_prefix="$withval", xmms_config_prefix="")
67AC_ARG_WITH(xmms-exec-prefix,[ --with-xmms-exec-prefix=PFX Exec prefix where XMMS is installed (optional)],
68 xmms_config_exec_prefix="$withval", xmms_config_exec_prefix="")
69
70if test x$xmms_config_exec_prefix != x; then
71 xmms_config_args="$xmms_config_args --exec-prefix=$xmms_config_exec_prefix"
72 if test x${XMMS_CONFIG+set} != xset; then
73 XMMS_CONFIG=$xmms_config_exec_prefix/bin/xmms-config
74 fi
75fi
76
77if test x$xmms_config_prefix != x; then
78 xmms_config_args="$xmms_config_args --prefix=$xmms_config_prefix"
79 if test x${XMMS_CONFIG+set} != xset; then
80 XMMS_CONFIG=$xmms_config_prefix/bin/xmms-config
81 fi
82fi
83
84AC_PATH_PROG(XMMS_CONFIG, xmms-config, no)
85min_xmms_version=ifelse([$1], ,0.9.5.1, $1)
86
87if test "$XMMS_CONFIG" = "no"; then
88 no_xmms=yes
89else
90 XMMS_CFLAGS=`$XMMS_CONFIG $xmms_config_args --cflags`
91 XMMS_LIBS=`$XMMS_CONFIG $xmms_config_args --libs`
92 XMMS_VERSION=`$XMMS_CONFIG $xmms_config_args --version`
93 XMMS_DATA_DIR=`$XMMS_CONFIG $xmms_config_args --data-dir`
94 XMMS_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --plugin-dir`
95 XMMS_VISUALIZATION_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args \
96 --visualization-plugin-dir`
97 XMMS_INPUT_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --input-plugin-dir`
98 XMMS_OUTPUT_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --output-plugin-dir`
99 XMMS_EFFECT_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --effect-plugin-dir`
100 XMMS_GENERAL_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --general-plugin-dir`
101
102 XMMS_TEST_VERSION($XMMS_VERSION, $min_xmms_version, ,no_xmms=version)
103fi
104
105AC_MSG_CHECKING(for XMMS - version >= $min_xmms_version)
106
107if test "x$no_xmms" = x; then
108 AC_MSG_RESULT(yes)
109 ifelse([$2], , :, [$2])
110else
111 AC_MSG_RESULT(no)
112
113 if test "$XMMS_CONFIG" = "no" ; then
114 echo "*** The xmms-config script installed by XMMS could not be found."
115 echo "*** If XMMS was installed in PREFIX, make sure PREFIX/bin is in"
116 echo "*** your path, or set the XMMS_CONFIG environment variable to the"
117 echo "*** full path to xmms-config."
118 else
119 if test "$no_xmms" = "version"; then
120 echo "*** An old version of XMMS, $XMMS_VERSION, was found."
121 echo "*** You need a version of XMMS newer than $min_xmms_version."
122 echo "*** The latest version of XMMS is always available from"
123 echo "*** http://www.xmms.org/"
124 echo "***"
125
126 echo "*** If you have already installed a sufficiently new version, this error"
127 echo "*** probably means that the wrong copy of the xmms-config shell script is"
128 echo "*** being found. The easiest way to fix this is to remove the old version"
129 echo "*** of XMMS, but you can also set the XMMS_CONFIG environment to point to the"
130 echo "*** correct copy of xmms-config. (In this case, you will have to"
131 echo "*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf"
132 echo "*** so that the correct libraries are found at run-time)"
133 fi
134 fi
135 XMMS_CFLAGS=""
136 XMMS_LIBS=""
137 ifelse([$3], , :, [$3])
138fi
139AC_SUBST(XMMS_CFLAGS)
140AC_SUBST(XMMS_LIBS)
141AC_SUBST(XMMS_VERSION)
142AC_SUBST(XMMS_DATA_DIR)
143AC_SUBST(XMMS_PLUGIN_DIR)
144AC_SUBST(XMMS_VISUALIZATION_PLUGIN_DIR)
145AC_SUBST(XMMS_INPUT_PLUGIN_DIR)
146AC_SUBST(XMMS_OUTPUT_PLUGIN_DIR)
147AC_SUBST(XMMS_GENERAL_PLUGIN_DIR)
148AC_SUBST(XMMS_EFFECT_PLUGIN_DIR)
149])
diff --git a/meta/recipes-multimedia/flac/flac_1.2.1.bb b/meta/recipes-multimedia/flac/flac_1.2.1.bb
new file mode 100644
index 0000000000..30a8cfb933
--- /dev/null
+++ b/meta/recipes-multimedia/flac/flac_1.2.1.bb
@@ -0,0 +1,49 @@
1DESCRIPTION = "FLAC stands for Free Lossless Audio Codec, an audio format similar to MP3, but lossless."
2HOMEPAGE = "http://flac.sourceforge.net/"
3BUGTRACKER = "http://sourceforge.net/tracker/?group_id=13478&atid=113478"
4SECTION = "libs"
5LICENSE = "FDLv1.2 & GPLv2+ & LGPLv2.1+ & BSD"
6LIC_FILES_CHKSUM = "file://COPYING.FDL;md5=ad1419ecc56e060eccf8184a87c4285f \
7 file://src/Makefile.am;beginline=1;endline=16;md5=8dee151a56a3122f064a9dce771db37d \
8 file://COPYING.GPL;md5=079b27cd65c86dbc1b6997ffde902735 \
9 file://src/flac/main.c;beginline=1;endline=17;md5=756c4234516e4266ea45ee7bbbd798cf \
10 file://COPYING.LGPL;md5=fbc093901857fcd118f065f900982c24 \
11 file://src/plugin_common/all.h;beginline=1;endline=17;md5=b2e7960da6b43e4eccabf999bcf7f3a9 \
12 file://COPYING.Xiph;md5=df8975c0225f83ed7b567587ed953b83 \
13 file://include/FLAC/all.h;beginline=64;endline=69;md5=64474f2b22e9e77b28d8b8b25c983a48"
14DEPENDS = "libogg"
15
16PR = "r0"
17
18SRC_URI = "${SOURCEFORGE_MIRROR}/flac/flac-${PV}.tar.gz \
19 file://disable-xmms-plugin.patch;patch=1 \
20 file://flac-gcc43-fixes.patch;patch=1 \
21 file://xmms.m4"
22
23S = "${WORKDIR}/flac-${PV}"
24
25inherit autotools
26
27EXTRA_OECONF = "--disable-oggtest --disable-id3libtest \
28 --with-ogg-libraries=${STAGING_LIBDIR} \
29 --with-ogg-includes=${STAGING_INCDIR} \
30 --without-xmms-prefix \
31 --without-xmms-exec-prefix \
32 --without-libiconv-prefix \
33 --without-id3lib"
34
35PACKAGES += "libflac libflac++ liboggflac liboggflac++"
36FILES_${PN} = "${bindir}/*"
37FILES_libflac = "${libdir}/libFLAC.so.*"
38FILES_libflac++ = "${libdir}/libFLAC++.so.*"
39FILES_liboggflac = "${libdir}/libOggFLAC.so.*"
40FILES_liboggflac++ = "${libdir}/libOggFLAC++.so.*"
41
42do_configure () {
43 install -d ${S}/m4
44 install -m 0644 ${WORKDIR}/xmms.m4 ${S}/m4/
45 autotools_do_configure
46 # removes '-read-only-relocs' which is enabled for PowerPC builds.
47 # It makes the build fail, other archs are not affected. Fixes #1775.
48 sed -i 's/-Wl,-read_only_relocs,warning//g' src/libFLAC/Makefile
49}
diff --git a/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.1/configure_fix.patch b/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.1/configure_fix.patch
new file mode 100644
index 0000000000..15f56492f7
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.1/configure_fix.patch
@@ -0,0 +1,13 @@
1Index: gst-ffmpeg-0.10.1/gst-libs/ext/ffmpeg/configure.ac
2===================================================================
3--- gst-ffmpeg-0.10.1.orig/gst-libs/ext/ffmpeg/configure.ac 2008-03-19 23:21:04.000000000 +0000
4+++ gst-ffmpeg-0.10.1/gst-libs/ext/ffmpeg/configure.ac 2008-03-19 23:21:31.000000000 +0000
5@@ -775,7 +775,7 @@
6
7 dnl Check for SDL, used in ffplay, and ffserver
8 AC_FF_ALLOW_DISABLE(CONFIG_FFPLAY, ffplay, ffmpeg media player,[
9- AM_PATH_SDL(, CONFIG_FFPLAY=yes, CONFIG_FPFLAY=no)
10+ CONFIG_FPFLAY=no
11 ])
12
13 dnl media server or not?
diff --git a/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.1/no_beos.patch b/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.1/no_beos.patch
new file mode 100644
index 0000000000..9ffcafff73
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.1/no_beos.patch
@@ -0,0 +1,55 @@
1The AC_LANG sections upset libtool 2.2.2, easiest fix is to remove them.
2Using a .cpp file in a Makefile means configure.ac must use AC_PROG_CXX
3so patch out the section from the makefile too.
4
5RP - 14/4/08
6
7Index: gst-ffmpeg-0.10.1/gst-libs/ext/ffmpeg/configure.ac
8===================================================================
9--- gst-ffmpeg-0.10.1.orig/gst-libs/ext/ffmpeg/configure.ac 2008-04-14 23:55:25.000000000 +0100
10+++ gst-ffmpeg-0.10.1/gst-libs/ext/ffmpeg/configure.ac 2008-04-14 23:56:18.000000000 +0100
11@@ -742,26 +742,7 @@
12
13 dnl Beos Audio
14 AC_FF_ALLOW_DISABLE(CONFIG_AUDIO_BEOS, audio-beos, BeOS audio support,[
15- if test x$TARGET_OS = xbeos; then
16- AC_LANG_CPLUSPLUS
17- AC_CHECK_HEADER(SoundPlayer.h,[
18- OLD_CXXFLAGS="$CXXFLAGS"
19- CXXFLAGS="$CXXFLAGS -lbe -lmedia"
20- AC_MSG_CHECKING(For BeOS audio libraries)
21- AC_TRY_COMPILE([
22-#include <Application.h>
23-#include <SoundPlayer.h>
24- ],[
25- BSoundPlayer *p = new BSoundPlayer(NULL,NULL,NULL);
26- ],[ CONFIG_AUDIO_BEOS=yes && AC_MSG_RESULT(yes) ],[
27- CONFIG_AUDIO_BEOS=no && AC_MSG_RESULT(no)
28- ])
29- CXXFLAGS="$OLD_CXXFLAGS"
30- ], CONFIG_AUDIO_BEOS=no)
31- AC_LANG_C
32- else
33 CONFIG_AUDIO_BEOS=no
34- fi
35 ])
36
37 dnl Check for freetype2, used in vook/libdrawtext.so
38Index: gst-ffmpeg-0.10.1/gst-libs/ext/ffmpeg/libavformat/Makefile.am
39===================================================================
40--- gst-ffmpeg-0.10.1.orig/gst-libs/ext/ffmpeg/libavformat/Makefile.am 2008-04-14 23:58:44.000000000 +0100
41+++ gst-ffmpeg-0.10.1/gst-libs/ext/ffmpeg/libavformat/Makefile.am 2008-04-14 23:58:55.000000000 +0100
42@@ -24,13 +24,6 @@
43 audiooss_SRC = audio.c
44 endif
45
46-if CONFIG_AUDIO_BEOS
47-audiobeos_SRC = beosaudio.cpp
48-audiobeos_LIBS = \
49- -lbe \
50- -lmedia
51-endif
52-
53 if CONFIG_VIDEO4LINUX
54 v4l_SRC = grab.c v4l2.c
55 endif
diff --git a/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.1.bb b/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.1.bb
new file mode 100644
index 0000000000..65d60f9cea
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.1.bb
@@ -0,0 +1,32 @@
1DESCRIPTION = "FFmpeg-based GStreamer plug-in"
2SECTION = "multimedia"
3PRIORITY = "optional"
4LICENSE = "LGPL"
5HOMEPAGE = "http://www.gstreamer.net/"
6DEPENDS = "gstreamer zlib gst-plugins-base"
7PR = "r4"
8
9inherit autotools pkgconfig
10
11SRC_URI = "http://gstreamer.freedesktop.org/src/${PN}/${PN}-${PV}.tar.bz2 \
12 file://no_beos.patch;patch=1 \
13 file://configure_fix.patch;patch=1"
14
15FILES_${PN} += "${libdir}/gstreamer-0.10/*.so"
16FILES_${PN}-dbg += "${libdir}/gstreamer-0.10/.debug"
17FILES_${PN}-dev += "${libdir}/gstreamer-0.10/*.la ${libdir}/gstreamer-0.10/*.a"
18
19EXTRA_OECONF = "--disable-sdltest --disable-ffplay --disable-freetypetest \
20 --disable-vorbis --disable-vorbistest --disable-encoders \
21 --disable-v4l --disable-audio-oss --disable-dv1394 \
22 --disable-vhook --disable-ffmpeg --disable-ffserver \
23 --enable-pp --disable-decoder-vorbis --with-pic=no"
24
25# We do this because the install program is called with -s which causes it to
26# call "strip" and it then mangles cross compiled stuff..
27PATH_prepend="${STAGING_DIR_NATIVE}${prefix_native}/${TARGET_SYS}/bin:"
28
29# Hack to get STAGING_LIBDIR into the linker path when building ffmpeg
30CC = "${CCACHE} ${HOST_PREFIX}gcc -L${STAGING_LIBDIR}"
31
32acpaths = "-I ${S}/common/m4"
diff --git a/meta/recipes-multimedia/gstreamer/gst-fluendo-mp3/configure_fix.patch b/meta/recipes-multimedia/gstreamer/gst-fluendo-mp3/configure_fix.patch
new file mode 100644
index 0000000000..d8b213b3e9
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gst-fluendo-mp3/configure_fix.patch
@@ -0,0 +1,16 @@
1Index: gst-fluendo-mp3-0.10.2/configure.ac
2===================================================================
3--- gst-fluendo-mp3-0.10.2.orig/configure.ac 2008-03-19 23:00:15.000000000 +0000
4+++ gst-fluendo-mp3-0.10.2/configure.ac 2008-03-19 23:00:31.000000000 +0000
5@@ -19,10 +19,9 @@
6 AC_SUBST(ACLOCAL_AMFLAGS, "-I m4 -I common/m4")
7
8 dnl check for tools
9-AS_LIBTOOL_TAGS
10 AM_PROG_LIBTOOL
11 dnl AC_PROG_CC
12-dnl AC_PROG_LIBTOOL
13+AC_PROG_LIBTOOL
14
15 dnl decide on error flags
16 AS_COMPILER_FLAG(-Wall, GST_WALL="yes", GST_WALL="no")
diff --git a/meta/recipes-multimedia/gstreamer/gst-fluendo-mp3_0.10.2.bb b/meta/recipes-multimedia/gstreamer/gst-fluendo-mp3_0.10.2.bb
new file mode 100644
index 0000000000..9e33b30824
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gst-fluendo-mp3_0.10.2.bb
@@ -0,0 +1,9 @@
1require gst-fluendo.inc
2
3acpaths = "-I ${S}/common/m4 -I ${S}/m4"
4
5SRC_URI += "file://configure_fix.patch;patch=1"
6
7PR = "r1"
8
9DESCRIPTION = "Fluendo closed-format mp3 GStreamer plug-in"
diff --git a/meta/recipes-multimedia/gstreamer/gst-fluendo-mpegdemux_0.10.7.bb b/meta/recipes-multimedia/gstreamer/gst-fluendo-mpegdemux_0.10.7.bb
new file mode 100644
index 0000000000..81645accd6
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gst-fluendo-mpegdemux_0.10.7.bb
@@ -0,0 +1,2 @@
1require gst-fluendo.inc
2DESCRIPTION = "Fluendo closed-format mpeg video GStreamer plug-in"
diff --git a/meta/recipes-multimedia/gstreamer/gst-fluendo.inc b/meta/recipes-multimedia/gstreamer/gst-fluendo.inc
new file mode 100644
index 0000000000..76b76c2b02
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gst-fluendo.inc
@@ -0,0 +1,20 @@
1DESCRIPTION = "Fluendo closed-format GStreamer plug-in"
2SECTION = "multimedia"
3PRIORITY = "optional"
4LICENSE = "MIT"
5HOMEPAGE = "http://www.fluendo.com/resources/source-plugins.php"
6DEPENDS = "gstreamer zlib"
7
8inherit autotools pkgconfig
9
10SRC_URI = "http://core.fluendo.com/gstreamer/src/${PN}/${PN}-${PV}.tar.bz2"
11
12FILES_${PN} += "${libdir}/gstreamer-0.10/*.so"
13FILES_${PN}-dbg += "${libdir}/gstreamer-0.10/.debug"
14FILES_${PN}-dev += "${libdir}/gstreamer-0.10/*.la ${libdir}/gstreamer-0.10/*.a"
15
16EXTRA_OECONF = "--disable-debug --disable-valgrind"
17
18# Hack to get STAGING_LIBDIR into the linker path when building
19CC = "${CCACHE} ${HOST_PREFIX}gcc -L${STAGING_LIBDIR}"
20
diff --git a/meta/recipes-multimedia/gstreamer/gst-meta-base_0.10.bb b/meta/recipes-multimedia/gstreamer/gst-meta-base_0.10.bb
new file mode 100644
index 0000000000..36f30e0619
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gst-meta-base_0.10.bb
@@ -0,0 +1,51 @@
1DESCRIPTION = "Gstreamer package groups"
2LICENSE = "MIT"
3DEPENDS = "gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly"
4PR = "r5"
5
6PACKAGES = "\
7 gst-meta-base \
8 gst-meta-audio \
9 gst-meta-debug \
10 gst-meta-video"
11
12ALLOW_EMPTY = "1"
13
14RDEPENDS_gst-meta-base = "\
15 gstreamer \
16 gst-plugins-base-playbin \
17 gst-plugins-base-decodebin \
18 gst-plugins-base-gnomevfs \
19 gst-plugins-base-alsa \
20 gst-plugins-base-volume \
21 gst-plugins-base-ximagesink \
22 gst-plugins-base-audioconvert \
23 gst-plugins-base-audioresample \
24 gst-plugins-base-typefindfunctions \
25 gst-plugins-base-videoscale \
26 gst-plugins-base-ffmpegcolorspace \
27 gst-plugins-good-autodetect"
28
29
30RDEPENDS_gst-meta-audio = "\
31 gst-meta-base \
32 gst-plugins-base-vorbis \
33 gst-plugins-base-ogg \
34 gst-plugins-ugly-mad"
35
36
37RDEPENDS_gst-meta-debug = "\
38 gst-meta-base \
39 gst-plugins-good-debug \
40 gst-plugins-base-audiotestsrc \
41 gst-plugins-base-videotestsrc"
42
43
44RDEPENDS_gst-meta-video = "\
45 gst-meta-base \
46 gst-plugins-good-avi \
47 gst-plugins-good-matroska \
48 gst-plugins-ugly-mpeg2dec"
49
50RRECOMMENDS_gst-meta-video = "\
51 gst-meta-audio"
diff --git a/meta/recipes-multimedia/gstreamer/gst-openmax_0.10.0.2.bb b/meta/recipes-multimedia/gstreamer/gst-openmax_0.10.0.2.bb
new file mode 100644
index 0000000000..825cccb83c
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gst-openmax_0.10.0.2.bb
@@ -0,0 +1,18 @@
1DEPENDS = "gstreamer"
2RDEPENDS = "libomxil"
3
4SRC_URI = "http://gstreamer.freedesktop.org/src/gst-openmax/pre/gst-openmax-0.10.0.2.tar.bz2"
5
6inherit autotools
7
8EXTRA_OECONF += "--disable-valgrind"
9
10do_configure_prepend() {
11
12 install -d ${S}/m4/
13 install -m 0644 ${S}/common/m4/*.m4 ${S}/m4/
14}
15
16FILES_${PN} += "${libdir}/gstreamer-0.10/libgstomx.so"
17FILES_${PN}-dev += "${libdir}/gstreamer-0.10/libgstomx.*a"
18FILES_${PN}-dbg += "${libdir}/gstreamer-0.10/.debug/"
diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-bad_0.10.19.bb b/meta/recipes-multimedia/gstreamer/gst-plugins-bad_0.10.19.bb
new file mode 100644
index 0000000000..8f1821a7be
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gst-plugins-bad_0.10.19.bb
@@ -0,0 +1,24 @@
1require gst-plugins.inc
2
3LICENSE = "GPLv2+ & LGPLv2+ & LGPLv2.1+ "
4LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
5 file://gst/tta/filters.h;beginline=12;endline=29;md5=629b0c7a665d155a6677778f4460ec06 \
6 file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605 \
7 file://gst/qtmux/gstqtmuxmap.h;beginline=1;endline=19;md5=2da8f56a44697c1527c5a4bcf8d5d69b \
8 file://gst/tta/crc32.h;beginline=12;endline=29;md5=71a904d99ce7ae0c1cf129891b98145c"
9
10DEPENDS += "gst-plugins-base libmusicbrainz tremor"
11
12PR = "r1"
13
14inherit gettext
15
16EXTRA_OECONF += "--disable-examples --disable-experimental --disable-sdl --disable-cdaudio \
17 --with-plugins=musicbrainz,wavpack,ivorbis, --disable-vdpau --disable-apexsink"
18
19ARM_INSTRUCTION_SET = "arm"
20
21do_configure_prepend() {
22 # This m4 file contains nastiness which conflicts with libtool 2.2.2
23 rm ${S}/m4/lib-link.m4 || true
24}
diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-base_0.10.29.bb b/meta/recipes-multimedia/gstreamer/gst-plugins-base_0.10.29.bb
new file mode 100644
index 0000000000..bfbe28108d
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gst-plugins-base_0.10.29.bb
@@ -0,0 +1,22 @@
1require gst-plugins.inc
2
3LICENSE = "GPLv2+ & LGPLv2+"
4LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
5 file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=622921ffad8cb18ab906c56052788a3f \
6 file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605 \
7 file://gst/ffmpegcolorspace/utils.c;beginline=1;endline=20;md5=9c83a200b8e597b26ca29df20fc6ecd0"
8
9DEPENDS += "virtual/libx11 alsa-lib freetype gnome-vfs liboil libogg libvorbis libxv"
10RDEPENDS += "gnome-vfs-plugin-file gnome-vfs-plugin-http gnome-vfs-plugin-ftp \
11 gnome-vfs-plugin-sftp"
12
13PR = "r0"
14
15inherit gettext
16
17EXTRA_OECONF += "--disable-freetypetest --disable-pango --disable-theora"
18
19do_configure_prepend() {
20 # This m4 file contains nastiness which conflicts with libtool 2.2.2
21 rm -f ${S}/m4/lib-link.m4
22}
diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.23.bb b/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.23.bb
new file mode 100644
index 0000000000..528dcbf540
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.23.bb
@@ -0,0 +1,19 @@
1require gst-plugins.inc
2
3LICENSE = "GPLv2+ & LGPLv2.1+"
4LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
5 file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=622921ffad8cb18ab906c56052788a3f \
6 file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe"
7
8DEPENDS += "gst-plugins-base gconf cairo jpeg libpng gtk+ zlib libid3tag flac \
9 speex"
10PR = "r0"
11
12inherit gettext
13
14EXTRA_OECONF += "--disable-aalib --disable-esd --disable-shout2 --disable-libcaca --without-check"
15
16do_configure_prepend() {
17 # This m4 file contains nastiness which conflicts with libtool 2.2.2
18 rm ${S}/m4/lib-link.m4 || true
19}
diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-ugly_0.10.15.bb b/meta/recipes-multimedia/gstreamer/gst-plugins-ugly_0.10.15.bb
new file mode 100644
index 0000000000..7dda685002
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gst-plugins-ugly_0.10.15.bb
@@ -0,0 +1,19 @@
1require gst-plugins.inc
2
3LICENSE = "GPLv2+ & LGPLv2.1+ & LGPLv2+"
4LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
5 file://gst/synaesthesia/synaescope.h;beginline=1;endline=20;md5=99f301df7b80490c6ff8305fcc712838 \
6 file://tests/check/elements/xingmux.c;beginline=1;endline=21;md5=4c771b8af188724855cb99cadd390068 \
7 file://gst/mpegstream/gstmpegparse.h;beginline=1;endline=18;md5=ff65467b0c53cdfa98d0684c1bc240a9"
8
9DEPENDS += "gst-plugins-base libid3tag libmad mpeg2dec liba52 lame"
10PR = "r0"
11
12inherit gettext
13
14EXTRA_OECONF += "--with-plugins=a52dec,lame,id3tag,mad,mpeg2dec,mpegstream,mpegaudioparse,asfdemux,realmedia"
15
16do_configure_prepend() {
17 # This m4 file contains nastiness which conflicts with libtool 2.2.2
18 rm ${S}/m4/lib-link.m4 || true
19}
diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins.inc b/meta/recipes-multimedia/gstreamer/gst-plugins.inc
new file mode 100644
index 0000000000..f7f0a2d7c5
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gst-plugins.inc
@@ -0,0 +1,33 @@
1DESCRIPTION = "Plugins for GStreamer"
2HOMEPAGE = "http://gstreamer.freedesktop.org/"
3BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=Gstreamer"
4SECTION = "multimedia"
5PRIORITY = "optional"
6DEPENDS = "gstreamer"
7
8inherit autotools pkgconfig
9
10SRC_URI = "http://gstreamer.freedesktop.org/src/${PN}/${PN}-${PV}.tar.bz2"
11
12EXTRA_OECONF = "--disable-valgrind --disable-debug --disable-examples "
13
14acpaths = "-I ${S}/common/m4 -I ${S}/m4"
15
16LIBV = "0.10"
17#FILES_${PN} += "${libdir}/gstreamer-${LIBV}/*.so"
18#FILES_${PN}-dev += "${libdir}/gstreamer-${LIBV}/*.la ${libdir}/gstreamer-${LIBV}/*.a"
19FILES_${PN}-dbg += "${libdir}/gstreamer-${LIBV}/.debug"
20
21PACKAGES_DYNAMIC = "${PN}-*"
22
23python populate_packages_prepend () {
24 gst_libdir = bb.data.expand('${libdir}/gstreamer-${LIBV}', d)
25 postinst = bb.data.getVar('plugin_postinst', d, 1)
26
27# Can't package separate debug packages yet
28# do_split_packages(d, gst_libdir, '\.debug/libgst(.*)\.so$', bb.data.expand('${PN}-%s-dbg', d), 'GStreamer plugin for %s (with debugging symbols)', recursive=True, extra_depends=bb.data.expand('${PN}-dbg', d), match_path=True)
29 do_split_packages(d, gst_libdir, 'libgst(.*)\.so$', bb.data.expand('${PN}-%s', d), 'GStreamer plugin for %s', postinst=postinst, extra_depends=bb.data.expand('${PN}',d))
30 do_split_packages(d, gst_libdir, 'libgst(.*)\.l?a$', bb.data.expand('${PN}-%s-dev', d), 'GStreamer plugin for %s (development files)', extra_depends=bb.data.expand('${PN}-dev',d))
31}
32
33ALLOW_EMPTY = "1"
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer-0.10.29/check_fix.patch b/meta/recipes-multimedia/gstreamer/gstreamer-0.10.29/check_fix.patch
new file mode 100644
index 0000000000..72c3f6407e
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gstreamer-0.10.29/check_fix.patch
@@ -0,0 +1,17 @@
1# gstreamer: Fix a problem with configure if check has already been built
2# Richard Purdie <rpurdie@linux.intel.com>
3
4diff -urN gstreamer-0.10.29-orig/configure.ac gstreamer-0.10.29/configure.ac
5--- gstreamer-0.10.29-orig/configure.ac 2010-06-26 12:49:27.774930773 +0800
6+++ gstreamer-0.10.29/configure.ac 2010-06-26 12:51:12.899200233 +0800
7@@ -543,8 +543,10 @@
8 *) BUILD_CHECK=yes ;;
9 esac
10 ])
11+
12 dnl bit of a misnomer, but keep the conditional named like this so we don't
13 dnl have to change too much elsewhere
14+HAVE_CHECK=no
15 AM_CONDITIONAL(HAVE_CHECK, test "x$BUILD_CHECK" = "xyes")
16
17 dnl configure the desired buffer alignment
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer-0.10.29/gst-inspect-check-error.patch b/meta/recipes-multimedia/gstreamer/gstreamer-0.10.29/gst-inspect-check-error.patch
new file mode 100644
index 0000000000..4ca1dbe6ab
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gstreamer-0.10.29/gst-inspect-check-error.patch
@@ -0,0 +1,14 @@
1# Fix crash with gst-inspect
2# Chris Lord <chris@openedhand.com>
3
4--- gstreamer-0.10.9/tools/gst-inspect.c.old 2006-09-12 11:56:53.000000000 +0100
5+++ gstreamer-0.10.9/tools/gst-inspect.c 2006-09-12 11:57:27.000000000 +0100
6@@ -1123,7 +1123,7 @@
7 g_option_context_add_main_entries (ctx, options, GETTEXT_PACKAGE);
8 g_option_context_add_group (ctx, gst_init_get_option_group ());
9 if (!g_option_context_parse (ctx, &argc, &argv, &err)) {
10- g_print ("Error initializing: %s\n", err->message);
11+ g_print ("Error initializing: %s\n", err ? err->message : "(null)");
12 exit (1);
13 }
14 g_option_context_free (ctx);
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer-0.10.29/gstregistrybinary.c b/meta/recipes-multimedia/gstreamer/gstreamer-0.10.29/gstregistrybinary.c
new file mode 100644
index 0000000000..c1f3e71af6
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gstreamer-0.10.29/gstregistrybinary.c
@@ -0,0 +1,487 @@
1/* GStreamer
2 * Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu>
3 * 2000 Wim Taymans <wtay@chello.be>
4 * 2005 David A. Schleef <ds@schleef.org>
5 *
6 * gstregistryxml.c: GstRegistry object, support routines
7 *
8 * This library is free software; you can redistribute it and/or
9 * modify it ulnder the terms of the GNU Library General Public
10 * License as published by the Free Software Foundation; either
11 * version 2 of the License, or (at your option) any later version.
12 *
13 * This library is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Library General Public License for more details.
17 *
18 * You should have received a copy of the GNU Library General Public
19 * License along with this library; if not, write to the
20 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
21 * Boston, MA 02111-1307, USA.
22 */
23
24
25#include <gst/gstregistrybinary.h>
26
27/*
28** Simple handy function to write a memory location to the registry cache file
29*/
30inline static gboolean
31gst_registry_binary_write(GstRegistry *registry, const void *mem, const ssize_t size)
32{
33 if (write(registry->cache_file, mem, size) != size)
34 {
35 GST_ERROR("Failed to write binary registry element: ptr=%p size=%u error=%s\n",
36 mem, size, strerror(errno));
37 return FALSE;
38 }
39 return TRUE;
40}
41
42/*
43** Save features GstBinary style
44*/
45static gboolean
46gst_registry_binary_fill_feature(GList **list, GstPluginFeature *orig, GstBinaryPluginFeature *dest, const char *name)
47{
48 GstBinaryChunck *chk;
49
50 if ((chk = calloc(1, sizeof (GstBinaryChunck))) == NULL)
51 return FALSE;
52
53 chk->data = dest;
54 chk->size = sizeof (GstBinaryPluginFeature);
55
56 *list = g_list_append(*list, chk);
57
58 dest->rank = orig->rank;
59 if (!strncpy(dest->typename, name, GST_BINARY_REGISTRY_TYPENAME_TYPENAME_LEN) ||
60 !strncpy(dest->name, orig->name, GST_BINARY_REGISTRY_TYPENAME_NAME_LEN))
61 {
62 GST_ERROR("Failed to write binary registry feature");
63 goto fail;
64 }
65
66 if (GST_IS_ELEMENT_FACTORY(orig))
67 {
68 GstElementFactory *factory = GST_ELEMENT_FACTORY(orig);
69
70 if (!strncpy(dest->longname, factory->details.longname, GST_BINARY_REGISTRY_TYPENAME_LONGNAME_LEN) ||
71 !strncpy(dest->class, factory->details.klass, GST_BINARY_REGISTRY_TYPENAME_CLASS_LEN) ||
72 !strncpy(dest->description, factory->details.description, GST_BINARY_REGISTRY_TYPENAME_DESCRIPTION_LEN) ||
73 !strncpy(dest->author, factory->details.author, GST_BINARY_REGISTRY_TYPENAME_AUTHOR_LEN))
74 {
75 GST_ERROR("Failed to write binary registry feature");
76 goto fail;
77 }
78 }
79
80 dest->npadtemplates = dest->ninterfaces = dest->nuritypes = 0;
81 return TRUE;
82
83 fail:
84 free(chk);
85 return FALSE;
86}
87
88
89/*
90** Initialize the GstBinaryRegistryMagic, setting both our magic number and gstreamer major/minor version
91*/
92inline static gboolean
93gst_registry_binary_initialize_magic(GstBinaryRegistryMagic *m)
94{
95 if (!strncpy(m->magic, GST_MAGIC_BINARY_REGISTRY_STR, GST_MAGIC_BINARY_REGISTRY_LEN) ||
96 !strncpy(m->version, GST_MAJORMINOR, GST_BINARY_REGISTRY_VERSION_LEN))
97 {
98 GST_ERROR("Failed to write magic to the registry magic structure");
99 return FALSE;
100 }
101 return TRUE;
102}
103
104/*
105** Check GstBinaryRegistryMagic validity.
106** Return a pointer pointing right after the magic structure
107*/
108static gchar *
109gst_registry_binary_check_magic(gchar *in)
110{
111 GstBinaryRegistryMagic *m = (GstBinaryRegistryMagic *) in;
112
113 if (m == NULL || m->magic == NULL || m->version == NULL)
114 {
115 GST_ERROR("Binary registry magic structure is broken");
116 return NULL;
117 }
118 if (strncmp(m->magic, GST_MAGIC_BINARY_REGISTRY_STR, GST_MAGIC_BINARY_REGISTRY_LEN) != 0)
119 {
120 GST_ERROR("Binary registry magic is different : %02x%02x%02x%02x != %02x%02x%02x%02x",
121 GST_MAGIC_BINARY_REGISTRY_STR[0] & 0xff, GST_MAGIC_BINARY_REGISTRY_STR[1] & 0xff,
122 GST_MAGIC_BINARY_REGISTRY_STR[2] & 0xff, GST_MAGIC_BINARY_REGISTRY_STR[3] & 0xff,
123 m->magic[0] & 0xff, m->magic[1] & 0xff, m->magic[2] & 0xff, m->magic[3] & 0xff);
124 return NULL;
125 }
126 if (strncmp(m->version, GST_MAJORMINOR, GST_BINARY_REGISTRY_VERSION_LEN))
127 {
128 GST_ERROR("Binary registry magic version is different : %s != %s",
129 GST_MAJORMINOR, m->version);
130 return NULL;
131 }
132 return (in + sizeof (GstBinaryRegistryMagic));
133}
134
135/*
136** Adapt a GstPlugin to our GstBinaryPluginElement structure, and write it to the
137** registry file.
138*/
139static gboolean
140gst_registry_binary_save_plugin(GList **list, GstRegistry *registry, GstPlugin *plugin)
141{
142 GstBinaryPluginElement *e;
143 GstBinaryChunck *chk;
144 GList *walk;
145
146 if ((e = calloc(1, sizeof (GstBinaryPluginElement))) == NULL ||
147 (chk = calloc(1, sizeof (GstBinaryChunck))) == NULL)
148 return FALSE;
149
150 chk->data = e;
151 chk->size = sizeof (GstBinaryPluginElement);
152 *list = g_list_append(*list, chk);
153
154 if (!strncpy(e->name, plugin->desc.name, GST_BINARY_REGISTRY_NAME_LEN) ||
155 !strncpy(e->description, plugin->desc.description, GST_BINARY_REGISTRY_DESCRIPTION_LEN) ||
156 !strncpy(e->filename, plugin->filename, _POSIX_PATH_MAX) ||
157 !strncpy(e->version, plugin->desc.version, GST_BINARY_REGISTRY_VERSION_LEN) ||
158 !strncpy(e->license, plugin->desc.license, GST_BINARY_REGISTRY_LICENSE_LEN) ||
159 !strncpy(e->source, plugin->desc.source, GST_BINARY_REGISTRY_SOURCE_LEN) ||
160 !strncpy(e->package, plugin->desc.package, GST_BINARY_REGISTRY_PACKAGE_LEN) ||
161 !strncpy(e->origin, plugin->desc.origin, GST_BINARY_REGISTRY_ORIGIN_LEN))
162 {
163 GST_DEBUG("Can't adapt GstPlugin to GstBinaryPluginElement");
164 goto fail;
165 }
166
167 e->size = plugin->file_size;
168 e->m32p = plugin->file_mtime;
169
170 GList *ft_list = gst_registry_get_feature_list_by_plugin(registry, plugin->desc.name);
171
172 for (walk = ft_list; walk; walk = g_list_next(walk), e->nfeatures++)
173 {
174 GstPluginFeature *curfeat = GST_PLUGIN_FEATURE (walk->data);
175 GstBinaryPluginFeature *newfeat;
176 const char *feat_name = g_type_name(G_OBJECT_TYPE(curfeat));
177
178 if ((newfeat = calloc(1, sizeof (GstBinaryPluginFeature))) == NULL)
179 goto fail;
180
181 if (!feat_name || !gst_registry_binary_fill_feature(list, curfeat, newfeat, feat_name))
182 {
183 GST_ERROR("Can't fill plugin feature, aborting.");
184 goto fail;
185 }
186 }
187
188 GST_DEBUG("Found %d features in plugin \"%s\"\n", e->nfeatures, e->name);
189 return TRUE;
190
191 fail:
192 free(chk);
193 free(e);
194 return FALSE;
195}
196
197/*
198** Write the cache to file. Part of the code was taken from gstregistryxml.c
199*/
200gboolean
201gst_registry_binary_write_cache(GstRegistry *registry, const char *location)
202{
203 GList *walk;
204 char *tmp_location;
205 GstBinaryRegistryMagic *magic;
206 GstBinaryChunck *magic_chunck;
207 GList *to_write = NULL;
208
209 GST_INFO("Writing binary registry cache");
210
211 g_return_val_if_fail (GST_IS_REGISTRY (registry), FALSE);
212 tmp_location = g_strconcat (location, ".tmpXXXXXX", NULL);
213 registry->cache_file = g_mkstemp (tmp_location);
214 if (registry->cache_file == -1)
215 {
216 char *dir;
217
218 /* oops, I bet the directory doesn't exist */
219 dir = g_path_get_dirname (location);
220 g_mkdir_with_parents (dir, 0777);
221 g_free (dir);
222
223 registry->cache_file = g_mkstemp (tmp_location);
224 }
225
226 if (registry->cache_file == -1)
227 goto fail;
228
229 if ((magic = calloc(1, sizeof (GstBinaryRegistryMagic))) == NULL ||
230 !gst_registry_binary_initialize_magic(magic))
231 goto fail;
232
233 if ((magic_chunck = calloc(1, sizeof (GstBinaryChunck))) == NULL)
234 goto fail;
235
236 magic_chunck->data = magic;
237 magic_chunck->size = sizeof (GstBinaryRegistryMagic);
238 to_write = g_list_append(to_write, magic_chunck);
239
240 /* Iterate trough the list of plugins in the GstRegistry and adapt them to our structures */
241 for (walk = g_list_last(registry->plugins); walk; walk = g_list_previous(walk))
242 {
243 GstPlugin *plugin = GST_PLUGIN(walk->data);
244
245 if (!plugin->filename)
246 continue;
247
248 if (plugin->flags & GST_PLUGIN_FLAG_CACHED)
249 {
250 int ret;
251 struct stat statbuf;
252
253 ret = g_stat (plugin->filename, &statbuf);
254 if ((ret = g_stat (plugin->filename, &statbuf)) < 0 ||
255 plugin->file_mtime != statbuf.st_mtime ||
256 plugin->file_size != statbuf.st_size)
257 continue;
258 }
259
260 if (!gst_registry_binary_save_plugin(&to_write, registry, plugin))
261 {
262 GST_ERROR("Can't write binary plugin information for \"%s\"", plugin->filename);
263 continue; /* Try anyway */
264 }
265 }
266
267 for (walk = g_list_first(to_write); walk; walk = g_list_next(walk))
268 {
269 GstBinaryChunck *cur = walk->data;
270
271 if (!gst_registry_binary_write(registry, cur->data, cur->size))
272 {
273 free(cur->data);
274 free(cur);
275 g_list_free(to_write);
276 goto fail;
277 }
278 free(cur->data);
279 free(cur);
280 }
281 g_list_free(to_write);
282
283 if (close(registry->cache_file) < 0)
284 {
285 GST_DEBUG("Can't close registry file : %s", strerror(errno));
286 goto fail;
287 }
288
289 if (g_file_test (tmp_location, G_FILE_TEST_EXISTS)) {
290#ifdef WIN32
291 remove (location);
292#endif
293 rename (tmp_location, location);
294 }
295
296 g_free (tmp_location);
297 return TRUE;
298
299 fail:
300 g_free(tmp_location);
301 return FALSE;
302}
303
304static GstPluginFeature*
305gst_registry_binary_load_feature(GstBinaryPluginFeature *in)
306{
307 GstPluginFeature *feature;
308 GType type;
309
310 if (!in->typename || !*(in->typename))
311 return NULL;
312
313 /* GST_INFO("Plugin feature typename : %s", in->typename);*/
314
315 if (!(type = g_type_from_name(in->typename)))
316 {
317 GST_ERROR("Unknown type from typename");
318 return NULL;
319 }
320 feature = g_object_new (type, NULL);
321
322 if (!feature) {
323 GST_ERROR("Can't create feature from type");
324 return NULL;
325 }
326
327 if (!GST_IS_PLUGIN_FEATURE (feature)) {
328 /* don't really know what it is */
329 if (GST_IS_OBJECT (feature))
330 gst_object_unref (feature);
331 else
332 g_object_unref (feature);
333 return NULL;
334 }
335
336 feature->name = g_strdup(in->name);
337 feature->rank = in->rank;
338
339 if (GST_IS_ELEMENT_FACTORY(feature))
340 {
341 GstElementFactory *factory = GST_ELEMENT_FACTORY(feature);
342
343 factory->details.longname = g_strdup(in->longname);
344 factory->details.klass = g_strdup(in->class);
345 factory->details.description = g_strdup(in->description);
346 factory->details.author = g_strdup(in->author);
347
348 /* GST_INFO("Element factory : %s", factory->details.longname); */
349 }
350
351 GST_DEBUG("Added feature %p with name %s", feature, feature->name);
352 return feature;
353}
354
355/*
356** Make a new plugin from current GstBinaryPluginElement structure
357** and save it to the GstRegistry. Return an offset to the next
358** GstBinaryPluginElement structure.
359*/
360static unsigned long
361gst_registry_binary_get_binary_plugin(GstRegistry *registry, gchar *in)
362{
363 GstBinaryPluginElement *p = (GstBinaryPluginElement *) in;
364 GstPlugin *plugin = NULL;
365 GList *plugin_features = NULL;
366 GstBinaryPluginFeature *feat;
367 unsigned int i;
368 unsigned long offset;
369
370 plugin = g_object_new (GST_TYPE_PLUGIN, NULL);
371
372 plugin->flags |= GST_PLUGIN_FLAG_CACHED;
373
374 plugin->desc.name = g_strdup(p->name);
375 plugin->desc.description= g_strdup(p->description);
376 plugin->filename = g_strdup(p->filename);
377 plugin->desc.version = g_strdup(p->version);
378 plugin->desc.license = g_strdup(p->license);
379 plugin->desc.source = g_strdup(p->source);
380 plugin->desc.package = g_strdup(p->package);
381 plugin->desc.origin = g_strdup(p->origin);
382 plugin->file_mtime = p->m32p;
383 plugin->file_size = p->size;
384 plugin->basename = g_path_get_basename (plugin->filename);
385
386 if (plugin->file_mtime < 0 || plugin->file_size < 0)
387 {
388 GST_ERROR("Plugin time or file size is not valid !");
389 g_free(plugin);
390 return -1;
391 }
392
393 if (p->nfeatures < 0)
394 {
395 GST_ERROR("The number of feature structure is not valid !");
396 gst_object_unref(plugin);
397 return -1;
398 }
399
400 for (feat = (GstBinaryPluginFeature *) (in + sizeof (GstBinaryPluginElement)), i = 0;
401 i < p->nfeatures; i++, feat++)
402 {
403 GstPluginFeature *gstfeat;
404
405 if ((gstfeat = gst_registry_binary_load_feature(feat)) == NULL)
406 {
407 g_list_free(plugin_features);
408 g_free(plugin);
409 GST_ERROR("Error while loading binary feature");
410 return -1;
411 }
412 gstfeat->plugin_name = g_strdup(plugin->desc.name);
413 plugin_features = g_list_prepend(plugin_features, gstfeat);
414 }
415
416 GST_DEBUG("Added plugin \"%s\" to global registry from binary registry", plugin->desc.name);
417 GList *g;
418
419 gst_registry_add_plugin (registry, plugin);
420 for (g = plugin_features; g; g = g_list_next (g))
421 gst_registry_add_feature (registry, GST_PLUGIN_FEATURE (g->data));
422 /* g_list_free(plugin_features); */
423
424 offset = sizeof (GstBinaryPluginElement) + p->nfeatures * sizeof (GstBinaryPluginFeature);
425 return offset;
426}
427
428
429/*
430** Read the cache and adapt it to fill GstRegistry
431*/
432gboolean
433gst_registry_binary_read_cache(GstRegistry *registry, const char *location)
434{
435 GMappedFile *mapped = NULL;
436 GTimer *timer = NULL;
437 gchar *contents = NULL;
438 gdouble seconds;
439 unsigned long offset, inc;
440 gsize size;
441
442 /* make sure these types exist */
443 GST_TYPE_ELEMENT_FACTORY;
444 GST_TYPE_TYPE_FIND_FACTORY;
445 GST_TYPE_INDEX_FACTORY;
446
447 timer = g_timer_new ();
448
449 if ((mapped = g_mapped_file_new(location, FALSE, NULL)) == NULL ||
450 (contents = g_mapped_file_get_contents(mapped)) == NULL)
451 {
452 GST_ERROR("Can't load file : %s", strerror(errno));
453 return FALSE;
454 }
455 if ((contents = gst_registry_binary_check_magic(contents)) == NULL)
456 {
457 GST_ERROR("Binary registry type not recognized (invalid magic)");
458 g_mapped_file_free(mapped);
459 return FALSE;
460 }
461
462 if ((size = g_mapped_file_get_length(mapped)) < sizeof (GstBinaryPluginElement))
463 {
464 GST_INFO("No binary plugins structure to read");
465 return TRUE; /* This is not really an error */
466 }
467
468 for (offset = inc = 0; (offset + sizeof (GstBinaryPluginElement)) < size &&
469 (inc = gst_registry_binary_get_binary_plugin(registry, contents + offset)) > 0;
470 offset += inc)
471 ; /* May want in the future to do something here */
472 if (inc < 0)
473 {
474 GST_DEBUG("Problem while reading binary registry");
475 return FALSE;
476 }
477
478 g_timer_stop (timer);
479 seconds = g_timer_elapsed (timer, NULL);
480 g_timer_destroy (timer);
481
482 GST_INFO ("loaded %s in %f seconds", location, seconds);
483
484 if (mapped)
485 g_mapped_file_free (mapped);
486 return TRUE;
487}
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer-0.10.29/gstregistrybinary.h b/meta/recipes-multimedia/gstreamer/gstreamer-0.10.29/gstregistrybinary.h
new file mode 100644
index 0000000000..2ef24d765d
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gstreamer-0.10.29/gstregistrybinary.h
@@ -0,0 +1,194 @@
1/* GStreamer
2 * Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu>
3 * 2000 Wim Taymans <wim.taymans@chello.be>
4 *
5 * gstregistry.h: Header for registry handling
6 *
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Library General Public
9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version.
11 *
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Library General Public License for more details.
16 *
17 * You should have received a copy of the GNU Library General Public
18 * License along with this library; if not, write to the
19 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20 * Boston, MA 02111-1307, USA.
21 */
22
23/* SUGGESTIONS AND TODO :
24** ====================
25** - Use a compressed registry, but would induce performance loss
26** - Encrypt the registry, for security purpose, but would also reduce performances
27** - Also have a non-mmap based cache reading (work with file descriptors)
28*/
29
30#ifndef __GST_REGISTRYBINARY_H__
31#define __GST_REGISTRYBINARY_H__
32
33#ifdef HAVE_CONFIG_H
34# include "config.h"
35#endif
36
37#include <stdio.h>
38#include <errno.h>
39#include <sys/types.h>
40#include <sys/stat.h>
41#include <dirent.h>
42#include <fcntl.h>
43#include <sys/mman.h>
44#ifdef HAVE_UNISTD_H
45#include <unistd.h>
46#endif
47
48#include <gst/gst_private.h>
49#include <gst/gstelement.h>
50#include <gst/gsttypefind.h>
51#include <gst/gsttypefindfactory.h>
52#include <gst/gsturi.h>
53#include <gst/gstinfo.h>
54#include <gst/gstenumtypes.h>
55#include <gst/gstregistry.h>
56#include <gst/gstpadtemplate.h>
57
58#include "glib-compat-private.h"
59#include <glib/gstdio.h>
60
61/* A magic, written at the beginning of the file */
62#define GST_MAGIC_BINARY_REGISTRY_STR "\xc0\xde\xf0\x0d"
63#define GST_MAGIC_BINARY_REGISTRY_LEN (4)
64#define GST_MAGIC_BINARY_VERSION_LEN (64)
65
66typedef struct _GstBinaryRegistryMagic
67{
68 char magic[GST_MAGIC_BINARY_REGISTRY_LEN];
69 char version[GST_MAGIC_BINARY_VERSION_LEN];
70} GstBinaryRegistryMagic;
71
72
73/* Used to store pointers to write */
74typedef struct _GstBinaryChunck
75{
76 void *data;
77 unsigned int size;
78} GstBinaryChunck;
79
80
81/* A structure containing (staticely) every information needed for a plugin
82**
83** Notes :
84** "nfeatures" is used to say how many GstBinaryPluginFeature structures we will have
85** right after the structure itself.
86*/
87
88/* Various lenght defines for our GstBinaryPluginElement structure
89** Note : We could eventually use smaller size
90*/
91#define GST_BINARY_REGISTRY_NAME_LEN (256)
92#define GST_BINARY_REGISTRY_DESCRIPTION_LEN (1024)
93#define GST_BINARY_REGISTRY_VERSION_LEN (64)
94#define GST_BINARY_REGISTRY_LICENSE_LEN (256)
95#define GST_BINARY_REGISTRY_SOURCE_LEN (256)
96#define GST_BINARY_REGISTRY_PACKAGE_LEN (1024)
97#define GST_BINARY_REGISTRY_ORIGIN_LEN (1024)
98
99typedef struct _GstBinaryPluginElement
100{
101 char name[GST_BINARY_REGISTRY_NAME_LEN];
102 char description[GST_BINARY_REGISTRY_DESCRIPTION_LEN];
103 char filename[_POSIX_PATH_MAX];
104 char version[GST_BINARY_REGISTRY_VERSION_LEN];
105 char license[GST_BINARY_REGISTRY_LICENSE_LEN];
106 char source[GST_BINARY_REGISTRY_SOURCE_LEN];
107 char package[GST_BINARY_REGISTRY_PACKAGE_LEN];
108 char origin[GST_BINARY_REGISTRY_ORIGIN_LEN];
109 unsigned long size;
110 unsigned long m32p;
111 unsigned int nfeatures;
112} GstBinaryPluginElement;
113
114
115/* A structure containing the plugin features
116**
117** Note :
118** "npadtemplates" is used to store the number of GstBinaryPadTemplate structures following the structure itself.
119** "ninterfaces" is used to store the number of GstBinaryInterface structures following the structure itself.
120** "nuritypes" is used to store the number of GstBinaryUriType structures following the structure itself.
121*/
122#define GST_BINARY_REGISTRY_TYPENAME_TYPENAME_LEN (256)
123#define GST_BINARY_REGISTRY_TYPENAME_NAME_LEN (256)
124#define GST_BINARY_REGISTRY_TYPENAME_LONGNAME_LEN (1024)
125#define GST_BINARY_REGISTRY_TYPENAME_CLASS_LEN (512)
126#define GST_BINARY_REGISTRY_TYPENAME_DESCRIPTION_LEN (1024)
127#define GST_BINARY_REGISTRY_TYPENAME_AUTHOR_LEN (256)
128
129typedef struct _GstBinaryPluginFeature
130{
131 char typename[GST_BINARY_REGISTRY_TYPENAME_TYPENAME_LEN];
132 char name[GST_BINARY_REGISTRY_TYPENAME_NAME_LEN];
133 unsigned long rank;
134 char longname[GST_BINARY_REGISTRY_TYPENAME_LONGNAME_LEN];
135 char class[GST_BINARY_REGISTRY_TYPENAME_CLASS_LEN];
136 char description[GST_BINARY_REGISTRY_TYPENAME_DESCRIPTION_LEN];
137 char author[GST_BINARY_REGISTRY_TYPENAME_AUTHOR_LEN];
138 unsigned int npadtemplates;
139 unsigned int ninterfaces;
140 unsigned int nuritypes;
141} GstBinaryPluginFeature;
142
143
144/*
145** A structure containing the static pad templates of a plugin feature
146*/
147#define GST_BINARY_REGISTRY_PADTEMPLATE_NAME_LEN (256)
148#define GST_BINARY_REGISTRY_PADTEMPLATE_CAP_LEN (1024)
149
150typedef struct _GstBinaryPadTemplate
151{
152 char name[GST_BINARY_REGISTRY_PADTEMPLATE_NAME_LEN];
153 char cap[GST_BINARY_REGISTRY_PADTEMPLATE_CAP_LEN];
154 int direction; /* Either 0:"sink" or 1:"src" */
155 GstPadPresence presence;
156} GstBinaryPadTemplate;
157
158/*
159** A very simple structure defining the plugin feature interface string
160*/
161#define GST_BINARY_REGISTRY_INTERFACE_INTERFACE_LEN (512)
162typedef struct _GstBinaryInterface
163{
164 char interface[GST_BINARY_REGISTRY_INTERFACE_INTERFACE_LEN];
165 unsigned long size;
166} GstBinaryInterface;
167
168/* Uri Type */
169typedef struct _GstBinaryUriType
170{
171 GstURIType type;
172 unsigned long nuriprotocols;
173} GstBinaryUriType;
174
175/*
176** Function prototypes
177*/
178
179/* Local prototypes */
180inline static gboolean gst_registry_binary_write(GstRegistry *registry, const void *mem, const ssize_t size);
181inline static gboolean gst_registry_binary_initialize_magic(GstBinaryRegistryMagic *m);
182static gboolean gst_registry_binary_fill_feature(GList **list, GstPluginFeature *, GstBinaryPluginFeature *, const char *);
183static gboolean gst_registry_binary_save_plugin(GList **list, GstRegistry *registry, GstPlugin *plugin);
184static gchar *gst_registry_binary_check_magic(gchar *in);
185static GstPluginFeature *gst_registry_binary_load_feature(GstBinaryPluginFeature *);
186static unsigned long gst_registry_binary_get_binary_plugin(GstRegistry *registry, gchar *in);
187
188/* Exportable */
189gboolean gst_registry_binary_write_cache(GstRegistry *registry, const char *location);
190gboolean gst_registry_binary_read_cache(GstRegistry *registry, const char *location);
191
192#endif /* !__GST_REGISTRYBINARY_H__ */
193
194
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer_0.10.29.bb b/meta/recipes-multimedia/gstreamer/gstreamer_0.10.29.bb
new file mode 100644
index 0000000000..38e28fa534
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gstreamer_0.10.29.bb
@@ -0,0 +1,30 @@
1DESCRIPTION = "GStreamer is a multimedia framework for encoding and decoding video and sound. \
2It supports a wide range of formats including mp3, ogg, avi, mpeg and quicktime."
3HOMEPAGE = "http://gstreamer.freedesktop.org/"
4BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=Gstreamer"
5SECTION = "multimedia"
6PRIORITY = "optional"
7LICENSE = "LGPLv2+"
8LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605 \
9 file://gst/gst.h;beginline=1;endline=21;md5=8e5fe5e87d33a04479fde862e238eaa4"
10DEPENDS = "glib-2.0 gettext libxml2 bison-native flex-native"
11
12PR = "r0"
13
14SRC_URI = "http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.bz2 \
15 file://check_fix.patch;patch=1 \
16 file://gst-inspect-check-error.patch;patch=1"
17
18inherit autotools pkgconfig
19
20EXTRA_OECONF = "--disable-docs-build --disable-dependency-tracking --with-check=no --disable-examples --disable-tests --disable-valgrind --disable-debug"
21
22#do_compile_prepend () {
23# mv ${WORKDIR}/gstregistrybinary.[ch] ${S}/gst/
24#}
25
26PARALLEL_MAKE = ""
27
28FILES_${PN} += " ${libdir}/gstreamer-0.10/*.so"
29FILES_${PN}-dev += " ${libdir}/gstreamer-0.10/*.la ${libdir}/gstreamer-0.10/*.a"
30FILES_${PN}-dbg += " ${libdir}/gstreamer-0.10/.debug/"
diff --git a/meta/recipes-multimedia/lame/lame-3.98.4/no-gtk1.patch b/meta/recipes-multimedia/lame/lame-3.98.4/no-gtk1.patch
new file mode 100644
index 0000000000..8669d3b43b
--- /dev/null
+++ b/meta/recipes-multimedia/lame/lame-3.98.4/no-gtk1.patch
@@ -0,0 +1,18 @@
1# Acquired from OpenEmbedded
2
3--- lame-3.96.1/configure.in~no-gtk1.patch 2004-07-25 15:52:12.000000000 +0100
4+++ lame-3.96.1/configure.in 2004-09-10 15:54:39.000000000 +0100
5@@ -363,7 +363,12 @@
6
7 dnl configure use of features
8
9-AM_PATH_GTK(1.2.0, HAVE_GTK="yes", HAVE_GTK="no")
10+#AM_PATH_GTK(1.2.0, HAVE_GTK="yes", HAVE_GTK="no")
11+HAVE_GTK="no"
12+GTK_CFLAGS=""
13+GTK_LIBS=""
14+AC_SUBST(GTK_CFLAGS)
15+AC_SUBST(GTK_LIBS)
16
17 dnl ElectricFence malloc debugging
18 AC_MSG_CHECKING(use of ElectricFence malloc debugging)
diff --git a/meta/recipes-multimedia/lame/lame_3.98.4.bb b/meta/recipes-multimedia/lame/lame_3.98.4.bb
new file mode 100644
index 0000000000..316933495c
--- /dev/null
+++ b/meta/recipes-multimedia/lame/lame_3.98.4.bb
@@ -0,0 +1,28 @@
1DESCRIPTION = "LAME is an educational tool to be used for learning about MP3 encoding."
2HOMEPAGE = "http://sourceforge.net/projects/lame/files/lame/"
3BUGTRACKER = "http://sourceforge.net/tracker/?group_id=290&atid=100290"
4SECTION = "console/utils"
5LICENSE = "LGPLv2+"
6LIC_FILES_CHKSUM = "file://COPYING;md5=c46bda00ffbb0ba1dac22f8d087f54d9 \
7 file://include/lame.h;beginline=1;endline=20;md5=d3ff8cae3e79c4e9da7169c7928dc3a2"
8PR = "r0"
9
10SRC_URI = "${SOURCEFORGE_MIRROR}/lame/lame-${PV}.tar.gz \
11 file://no-gtk1.patch;patch=1"
12
13inherit autotools
14
15PACKAGES += "libmp3lame libmp3lame-dev"
16FILES_${PN} = "${bindir}/lame"
17FILES_libmp3lame = "${libdir}/libmp3lame.so.*"
18FILES_libmp3lame-dev = "${includedir} ${libdir}/*"
19FILES_${PN}-dev = ""
20
21do_configure() {
22 # no autoreconf please
23 aclocal
24 autoconf
25 libtoolize --force
26 gnu-configize --force
27 oe_runconf
28}
diff --git a/meta/recipes-multimedia/liba52/liba52/buildcleanup.patch b/meta/recipes-multimedia/liba52/liba52/buildcleanup.patch
new file mode 100644
index 0000000000..a86c5a8e37
--- /dev/null
+++ b/meta/recipes-multimedia/liba52/liba52/buildcleanup.patch
@@ -0,0 +1,87 @@
1It makes much more sense to control our own CFLAGS and avoiding fPIC breaks
2some arches too. Assume we know what we're doing and remove all the messing
3around.
4
5RP 23/2/10
6
7Index: a52dec-0.7.4/configure.in
8===================================================================
9--- a52dec-0.7.4.orig/configure.in 2010-02-23 14:51:50.000000000 +0000
10+++ a52dec-0.7.4/configure.in 2010-02-23 14:52:36.000000000 +0000
11@@ -14,62 +14,6 @@
12 AC_PROG_CC
13 AC_PROG_GCC_TRADITIONAL
14
15-if test x"$GCC" = x"yes"; then
16-
17- dnl GCC-specific flags - try to optimize them sometime
18- dnl -Wall -Werror moved to the end to not disturb the configure script
19-
20- dnl -O3
21- changequote(<<,>>)
22- OPT_CFLAGS=`echo "$CFLAGS"|sed "s/-O[0-9]*//g"`
23- changequote([,])
24- OPT_CFLAGS="$OPT_CFLAGS -O3"
25- AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS])
26-
27- dnl -fomit-frame-pointer
28- OPT_CFLAGS="$CFLAGS -fomit-frame-pointer"
29- AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS])
30-
31- dnl arch-specific flags
32- case "$host" in
33- i?86-* | k?-*)
34- case "$host" in
35- i386-*) OPT_CFLAGS="$CFLAGS -mcpu=i386";;
36- i486-*) OPT_CFLAGS="$CFLAGS -mcpu=i486";;
37- i586-*) OPT_CFLAGS="$CFLAGS -mcpu=pentium";;
38- i686-*) OPT_CFLAGS="$CFLAGS -mcpu=pentiumpro";;
39- k6-*) OPT_CFLAGS="$CFLAGS -mcpu=k6";;
40- esac
41- AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS]);;
42- sparc-* | sparc64-*)
43- OPT_CFLAGS="$CFLAGS -mtune=ultrasparc"
44- AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS]);;
45- mips-sgi-irix6.*) dnl do we need to be that specific ?
46- OPT_CFLAGS="$CFLAGS -mabi=64"
47- AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS]);;
48- esac
49-elif test x"$CC" = x"tcc" -a x"`$CC -version 2>&1 | grep TenDRA`" != x""; then
50- dnl TenDRA portability checking compiler
51- TENDRA=yes
52- CFLAGS="-Xp -Yansi -f`pwd`/include/tendra.h -DELIDE_CODE"
53- enable_mlib=no
54- enable_oss=no
55- enable_solaris_audio=no
56-elif test x"$CC" = x"icc" -a x"`$CC -V 2>&1 | grep Intel`" != x""; then
57- dnl Intel C++ compiler
58- CFLAGS="-g -O3 -unroll -ip"
59-else
60- dnl non-gcc flags - we probably need exact configuration triplets here.
61- case "$host" in
62- mips-sgi-irix6.*)
63- OPT_CFLAGS="$CFLAGS -64"
64- AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS]);;
65- sparc-sun-solaris*)
66- OPT_CFLAGS="$CFLAGS -xCC -fast -xO5"
67- AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS]);;
68- esac
69-fi
70-
71 dnl Checks for libtool - this must be done after we set cflags
72 AC_DISABLE_SHARED
73 AC_LIBTOOL_WIN32_DLL
74Index: a52dec-0.7.4/liba52/configure.incl
75===================================================================
76--- a52dec-0.7.4.orig/liba52/configure.incl 2010-02-23 14:51:44.000000000 +0000
77+++ a52dec-0.7.4/liba52/configure.incl 2010-02-23 14:51:59.000000000 +0000
78@@ -1,9 +1,6 @@
79 AC_SUBST([LIBA52_CFLAGS])
80 AC_SUBST([LIBA52_LIBS])
81
82-dnl avoid -fPIC when possible
83-LIBA52_CFLAGS="$LIBA52_CFLAGS -prefer-non-pic"
84-
85 AC_ARG_ENABLE([double],
86 [ --enable-double use double-precision samples])
87 if test x"$enable_double" = x"yes"; then
diff --git a/meta/recipes-multimedia/liba52/liba52_0.7.4.bb b/meta/recipes-multimedia/liba52/liba52_0.7.4.bb
new file mode 100644
index 0000000000..884b861a91
--- /dev/null
+++ b/meta/recipes-multimedia/liba52/liba52_0.7.4.bb
@@ -0,0 +1,25 @@
1DESCRIPTION = "Library for reading some sort of media format."
2HOMEPAGE = "http://liba52.sourceforge.net/"
3LICENSE = "GPLv2+"
4LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
5 file://include/a52.h;beginline=1;endline=12;md5=81152ceb3562bf20a60d1b6018175dd1"
6SECTION = "libs"
7PRIORITY = "optional"
8PR = "r2"
9
10inherit autotools
11
12SRC_URI = "http://liba52.sourceforge.net/files/a52dec-${PV}.tar.gz \
13 file://buildcleanup.patch;patch=1"
14S = "${WORKDIR}/a52dec-${PV}"
15
16EXTRA_OECONF = " --enable-shared "
17
18PACKAGES =+ "a52dec a52dec-dbg a52dec-doc"
19
20FILES_${PN} = " ${libdir}/liba52.so.0 ${libdir}/liba52.so.0.0.0 "
21FILES_${PN}-dev = " ${includedir}/a52dec/*.h ${libdir}/liba52.so ${libdir}/liba52.la ${libdir}/liba52.a "
22FILES_${PN}-dbg = " ${libdir}/.debug/*"
23FILES_a52dec = " ${bindir}/* "
24FILES_a52dec-dbg = " ${bindir}/.debug/* "
25FILES_a52dec-doc = " ${mandir}/man1/* "
diff --git a/meta/recipes-multimedia/libexif/libexif_0.6.16.bb b/meta/recipes-multimedia/libexif/libexif_0.6.16.bb
new file mode 100644
index 0000000000..e3b5c331a8
--- /dev/null
+++ b/meta/recipes-multimedia/libexif/libexif_0.6.16.bb
@@ -0,0 +1,15 @@
1DESCRIPTION = "Library to read the extended image information (EXIF) from JPEG pictures"
2HOMEPAGE = "http://sourceforge.net/projects/libexif"
3SECTION = "libs"
4LICENSE = "LGPL"
5DEPENDS = "gettext"
6
7SRC_URI = "${SOURCEFORGE_MIRROR}/libexif/libexif-${PV}.tar.bz2"
8
9inherit autotools
10
11do_configure_append() {
12 sed -i s:doc\ binary:binary:g Makefile
13}
14
15AUTOTOOLS_STAGE_PKGCONFIG = "1"
diff --git a/meta/recipes-multimedia/libid3tag/libid3tag/addpkgconfig.patch b/meta/recipes-multimedia/libid3tag/libid3tag/addpkgconfig.patch
new file mode 100644
index 0000000000..07a8f6ec4d
--- /dev/null
+++ b/meta/recipes-multimedia/libid3tag/libid3tag/addpkgconfig.patch
@@ -0,0 +1,41 @@
1Index: libid3tag-0.15.1b/Makefile.am
2===================================================================
3--- libid3tag-0.15.1b.orig/Makefile.am 2009-07-29 09:29:20.000000000 +0100
4+++ libid3tag-0.15.1b/Makefile.am 2009-07-29 09:29:47.000000000 +0100
5@@ -27,6 +27,9 @@
6 lib_LTLIBRARIES = libid3tag.la
7 include_HEADERS = id3tag.h
8
9+pkgconfigdir = $(libdir)/pkgconfig
10+pkgconfig_DATA = id3tag.pc
11+
12 ## From the libtool documentation on library versioning:
13 ##
14 ## CURRENT
15Index: libid3tag-0.15.1b/configure.ac
16===================================================================
17--- libid3tag-0.15.1b.orig/configure.ac 2009-07-29 09:27:15.000000000 +0100
18+++ libid3tag-0.15.1b/configure.ac 2009-07-29 09:27:45.000000000 +0100
19@@ -201,5 +201,5 @@
20 dnl AC_SUBST(LTLIBOBJS)
21
22 AC_CONFIG_FILES([Makefile msvc++/Makefile \
23- libid3tag.list])
24+ libid3tag.list id3tag.pc])
25 AC_OUTPUT
26Index: libid3tag-0.15.1b/id3tag.pc.in
27===================================================================
28--- /dev/null 1970-01-01 00:00:00.000000000 +0000
29+++ libid3tag-0.15.1b/id3tag.pc.in 2009-07-29 09:29:10.000000000 +0100
30@@ -0,0 +1,11 @@
31+prefix=@prefix@
32+exec_prefix=@exec_prefix@
33+libdir=@libdir@
34+includedir=@includedir@
35+
36+Name: id3tag
37+Description: ID3 tag reading library
38+Requires:
39+Version: @VERSION@
40+Libs: -L${libdir} -lid3tag -lz
41+Cflags: -I${includedir}
diff --git a/meta/recipes-multimedia/libid3tag/libid3tag_0.15.1b.bb b/meta/recipes-multimedia/libid3tag/libid3tag_0.15.1b.bb
new file mode 100644
index 0000000000..072db9de66
--- /dev/null
+++ b/meta/recipes-multimedia/libid3tag/libid3tag_0.15.1b.bb
@@ -0,0 +1,20 @@
1DESCRIPTION = "Library for interacting with ID3 tags."
2HOMEPAGE = "http://sourceforge.net/projects/mad/"
3BUGTRACKER = "http://sourceforge.net/tracker/?group_id=12349&atid=112349"
4LICENSE = "GPLv2+"
5LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
6 file://COPYRIGHT;md5=5e6279efb87c26c6e5e7a68317a6a87a \
7 file://version.h;beginline=1;endline=8;md5=86ac68b67f054b7afde9e149bbc3fe63"
8SECTION = "libs"
9PRIORITY = "optional"
10DEPENDS = "zlib"
11PR = "r3"
12
13SRC_URI = "ftp://ftp.mars.org/pub/mpeg/libid3tag-${PV}.tar.gz \
14 file://addpkgconfig.patch;patch=1"
15
16S = "${WORKDIR}/libid3tag-${PV}"
17
18inherit autotools pkgconfig
19
20EXTRA_OECONF = "-enable-speed"
diff --git a/meta/recipes-multimedia/libmad/libmad/add-pkgconfig.patch b/meta/recipes-multimedia/libmad/libmad/add-pkgconfig.patch
new file mode 100644
index 0000000000..636b27a928
--- /dev/null
+++ b/meta/recipes-multimedia/libmad/libmad/add-pkgconfig.patch
@@ -0,0 +1,68 @@
1Here is a patch for adding pkg-config support to libmad.
2It would make life a bit easier for distro maintainers if this was applied.
3In case you didn't know, pkg-config is a tool for providing LDFLAGS and
4CFLAGS for packages using shared libraries. It's on freedesktop.org.
5Debian has already been distributing the pkg-config file mad.pc with
6libmad for some time, and people developing on debian (notably xmms2
7developers) have started relying on this support being present, causing
8some confusion for people installing from source and on some BSDs which
9do not provide mad.pc (google: pkgconfig libmad).
10
11EMH
12
13--h31gzZEtNLTqOjlF
14Content-Type: text/plain; charset=us-ascii
15Content-Disposition: attachment; filename=&quot;libmad-0.15.1b-pkgconfig.patch&quot;
16
17diff -Naur libmad-0.15.1b.old/configure.ac libmad-0.15.1b/configure.ac
18--- libmad-0.15.1b.old/configure.ac 2004-01-23 10:41:32.000000000 +0100
19+++ libmad-0.15.1b/configure.ac 2004-08-07 02:25:24.633462168 +0200
20@@ -429,5 +429,5 @@
21 dnl AC_SUBST(LTLIBOBJS)
22
23 AC_CONFIG_FILES([Makefile msvc++/Makefile \
24- libmad.list])
25+ libmad.list mad.pc])
26 AC_OUTPUT
27diff -Naur libmad-0.15.1b.old/mad.pc.in libmad-0.15.1b/mad.pc.in
28--- libmad-0.15.1b.old/mad.pc.in 1970-01-01 01:00:00.000000000 +0100
29+++ libmad-0.15.1b/mad.pc.in 2004-08-07 02:04:59.617692872 +0200
30@@ -0,0 +1,14 @@
31+# libmad pkg-config source file
32+
33+prefix=@prefix@
34+exec_prefix=@exec_prefix@
35+libdir=@libdir@
36+includedir=@includedir@
37+
38+Name: mad
39+Description: MPEG Audio Decoder
40+Version: @VERSION@
41+Requires:
42+Conflicts:
43+Libs: -L${libdir} -lmad -lm
44+Cflags: -I${includedir}
45diff -Naur libmad-0.15.1b.old/Makefile.am libmad-0.15.1b/Makefile.am
46--- libmad-0.15.1b.old/Makefile.am 2004-02-17 03:02:03.000000000 +0100
47+++ libmad-0.15.1b/Makefile.am 2004-08-07 02:03:19.859858368 +0200
48@@ -24,6 +24,9 @@
49 SUBDIRS =
50 DIST_SUBDIRS = msvc++
51
52+pkgconfigdir = $(libdir)/pkgconfig
53+pkgconfig_DATA = mad.pc
54+
55 lib_LTLIBRARIES = libmad.la
56 include_HEADERS = mad.h
57
58@@ -34,7 +37,8 @@
59 minimad_LDADD = libmad.la
60
61 EXTRA_DIST = mad.h.sed \
62- CHANGES COPYRIGHT CREDITS README TODO VERSION
63+ CHANGES COPYRIGHT CREDITS README TODO VERSION \
64+ mad.pc.in
65
66 exported_headers = version.h fixed.h bit.h timer.h stream.h frame.h \
67 synth.h decoder.h
68
diff --git a/meta/recipes-multimedia/libmad/libmad/fix_for_mips_with_gcc-4.5.0.patch b/meta/recipes-multimedia/libmad/libmad/fix_for_mips_with_gcc-4.5.0.patch
new file mode 100644
index 0000000000..785a8a22db
--- /dev/null
+++ b/meta/recipes-multimedia/libmad/libmad/fix_for_mips_with_gcc-4.5.0.patch
@@ -0,0 +1,31 @@
1gcc 4.4 did this: The MIPS port no longer recognizes the h asm constraint. It was necessary to remove this constraint in order to avoid generating unpredictable code sequences.
2
3so the libmad build with gcc-4.5.0 was failing.
4
5Found a solution here:
6
7http://us.generation-nt.com/answer/bug-568418-libmad0-dev-mpg321-compilation-errors-mips-mipsel-architectures-help-169033451.html
8
92010/07/29
10Nitin A Kamble <nitin.a.kamble@intel.com>
11
12Index: libmad-0.15.1b/fixed.h
13===================================================================
14--- libmad-0.15.1b.orig/fixed.h
15+++ libmad-0.15.1b/fixed.h
16@@ -297,6 +297,15 @@ mad_fixed_t mad_f_mul_inline(mad_fixed_t
17
18 /* --- MIPS ---------------------------------------------------------------- */
19
20+# elif defined(FPM_MIPS) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
21+ typedef unsigned int u64_di_t __attribute__ ((mode (DI)));
22+# define MAD_F_MLX(hi, lo, x, y) \
23+ do { \
24+ u64_di_t __ll = (u64_di_t) (x) * (y); \
25+ hi = __ll >> 32; \
26+ lo = __ll; \
27+ } while (0)
28+
29 # elif defined(FPM_MIPS)
30
31 /*
diff --git a/meta/recipes-multimedia/libmad/libmad/no-force-mem.patch b/meta/recipes-multimedia/libmad/libmad/no-force-mem.patch
new file mode 100644
index 0000000000..d4dab7556d
--- /dev/null
+++ b/meta/recipes-multimedia/libmad/libmad/no-force-mem.patch
@@ -0,0 +1,16 @@
1This option no longer exists in gcc 3.4.1
2
3RP - 18/07/2008
4
5Index: libmad-0.15.1b/configure.ac
6===================================================================
7--- libmad-0.15.1b.orig/configure.ac 2008-07-18 15:45:30.000000000 +0100
8+++ libmad-0.15.1b/configure.ac 2008-07-18 15:45:37.000000000 +0100
9@@ -140,7 +140,6 @@
10 case "$optimize" in
11 -O|"-O "*)
12 optimize="-O"
13- optimize="$optimize -fforce-mem"
14 optimize="$optimize -fforce-addr"
15 : #x optimize="$optimize -finline-functions"
16 : #- optimize="$optimize -fstrength-reduce"
diff --git a/meta/recipes-multimedia/libmad/libmad_0.15.1b.bb b/meta/recipes-multimedia/libmad/libmad_0.15.1b.bb
new file mode 100644
index 0000000000..acc9df5501
--- /dev/null
+++ b/meta/recipes-multimedia/libmad/libmad_0.15.1b.bb
@@ -0,0 +1,32 @@
1DESCRIPTION = "MPEG Audio Decoder Library"
2HOMEPAGE = "http://sourceforge.net/projects/mad/"
3BUGTRACKER = "http://sourceforge.net/tracker/?group_id=12349&atid=112349"
4LICENSE = "GPLv2+"
5LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
6 file://COPYRIGHT;md5=8e55eb14894e782b84488d5a239bc23d \
7 file://version.h;beginline=1;endline=8;md5=aa07311dd39288d4349f28e1de516454"
8SECTION = "libs"
9PRIORITY = "optional"
10DEPENDS = "libid3tag"
11PR = "r2"
12
13SRC_URI = "${SOURCEFORGE_MIRROR}/mad/libmad-${PV}.tar.gz \
14 file://no-force-mem.patch \
15 file://add-pkgconfig.patch \
16 file://fix_for_mips_with_gcc-4.5.0.patch"
17
18S = "${WORKDIR}/libmad-${PV}"
19
20inherit autotools pkgconfig
21
22EXTRA_OECONF = "-enable-speed --enable-shared"
23# The ASO's don't take any account of thumb...
24EXTRA_OECONF_append_thumb = " --disable-aso --enable-fpm=default"
25EXTRA_OECONF_append_arm = " --enable-fpm=arm"
26
27do_configure_prepend () {
28# damn picky automake...
29 touch NEWS AUTHORS ChangeLog
30}
31
32ARM_INSTRUCTION_SET = "arm"
diff --git a/meta/recipes-multimedia/libogg/libogg_1.2.0.bb b/meta/recipes-multimedia/libogg/libogg_1.2.0.bb
new file mode 100644
index 0000000000..0c64da280b
--- /dev/null
+++ b/meta/recipes-multimedia/libogg/libogg_1.2.0.bb
@@ -0,0 +1,15 @@
1DESCRIPTION = "libogg is the bitstream and framing library \
2for the Ogg project. It provides functions which are \
3necessary to codec libraries like libvorbis."
4HOMEPAGE = "http://xiph.org/"
5BUGTRACKER = "https://trac.xiph.org/newticket"
6SECTION = "libs"
7LICENSE = "BSD"
8LIC_FILES_CHKSUM = "file://COPYING;md5=db1b7a668b2a6f47b2af88fb008ad555 \
9 file://include/ogg/ogg.h;beginline=1;endline=11;md5=eda812856f13a3b1326eb8f020cc3b0b"
10
11PR = "r0"
12
13SRC_URI = "http://downloads.xiph.org/releases/ogg/libogg-${PV}.tar.gz"
14
15inherit autotools pkgconfig
diff --git a/meta/recipes-multimedia/libpng/libpng_1.2.44.bb b/meta/recipes-multimedia/libpng/libpng_1.2.44.bb
new file mode 100644
index 0000000000..318bb7436d
--- /dev/null
+++ b/meta/recipes-multimedia/libpng/libpng_1.2.44.bb
@@ -0,0 +1,23 @@
1DESCRIPTION = "PNG Library"
2HOMEPAGE = "http://www.libpng.org/"
3SECTION = "libs"
4PRIORITY = "required"
5LICENSE = "libpng"
6LIC_FILES_CHKSUM = "file://LICENSE;md5=a294a2bb08b7f25558119edbfd6b2e92 \
7 file://png.h;startline=172;endline=261;md5=3253923f0093658f470e52a06ddcf4e7"
8DEPENDS = "zlib"
9PR = "r0"
10
11SRC_URI = "${SOURCEFORGE_MIRROR}/libpng/libpng-${PV}.tar.bz2"
12
13inherit autotools binconfig pkgconfig
14
15PACKAGES =+ "${PN}12-dbg ${PN}12 ${PN}12-dev"
16
17FILES_${PN}12-dbg = "${libdir}/.debug/libpng12*"
18FILES_${PN}12 = "${libdir}/libpng12${SOLIBS}"
19FILES_${PN}12-dev = "${libdir}/libpng12.* ${includedir}/libpng12 ${libdir}/pkgconfig/libpng12.pc"
20FILES_${PN} = "${libdir}/lib*${SOLIBS}"
21FILES_${PN}-dev += " ${bindir} ${sbindir}"
22
23BBCLASSEXTEND = "native"
diff --git a/meta/recipes-multimedia/libtiff/files/libtool2.patch b/meta/recipes-multimedia/libtiff/files/libtool2.patch
new file mode 100644
index 0000000000..8285be51d2
--- /dev/null
+++ b/meta/recipes-multimedia/libtiff/files/libtool2.patch
@@ -0,0 +1,19 @@
1---
2 configure.ac | 2 +-
3 1 file changed, 1 insertion(+), 1 deletion(-)
4
5--- tiff-3.8.2.orig/configure.ac
6+++ tiff-3.8.2/configure.ac
7@@ -25,11 +25,11 @@ dnl OF THIS SOFTWARE.
8 dnl Process this file with autoconf to produce a configure script.
9
10 AC_PREREQ(2.59)
11 AC_INIT([LibTIFF Software], 3.8.2, [tiff@lists.maptools.org], tiff)
12 AC_CONFIG_AUX_DIR(config)
13-AC_CONFIG_MACRO_DIR(m4)
14+dnl AC_CONFIG_MACRO_DIR(m4)
15 AC_LANG(C)
16
17 dnl Compute the canonical target-system type variable
18 AC_CANONICAL_TARGET
19
diff --git a/meta/recipes-multimedia/libtiff/tiff_3.8.2.bb b/meta/recipes-multimedia/libtiff/tiff_3.8.2.bb
new file mode 100644
index 0000000000..4e3c82baa9
--- /dev/null
+++ b/meta/recipes-multimedia/libtiff/tiff_3.8.2.bb
@@ -0,0 +1,17 @@
1DESCRIPTION = "This software provides support for the Tag Image File Format (TIFF)"
2LICENSE = "${PN}"
3HOMEPAGE = "http://www.remotesensing.org/libtiff/"
4DEPENDS = "zlib jpeg lzo"
5PR = "r2"
6
7SRC_URI = "ftp://ftp.remotesensing.org/pub/libtiff/tiff-${PV}.tar.gz \
8 file://libtool2.patch;patch=1"
9
10inherit autotools
11
12PACKAGES =+ "tiffxx tiffxx-dbg tiffxx-dev tiff-utils tiff-utils-dbg"
13FILES_tiffxx = "${libdir}/libtiffxx.so.*"
14FILES_tiffxx-dev = "${libdir}/libtiffxx.so ${libdir}/libtiffxx.*a"
15FILES_tiffxx-dbg += "${libdir}/.debug/libtiffxx.so*"
16FILES_tiff-utils = "${bindir}/*"
17FILES_tiff-utils-dbg += "${bindir}/.debug/"
diff --git a/meta/recipes-multimedia/libvorbis/libvorbis_1.3.1.bb b/meta/recipes-multimedia/libvorbis/libvorbis_1.3.1.bb
new file mode 100644
index 0000000000..2181cb609a
--- /dev/null
+++ b/meta/recipes-multimedia/libvorbis/libvorbis_1.3.1.bb
@@ -0,0 +1,23 @@
1DESCRIPTION = "Ogg Vorbis is a high-quality lossy audio codec \
2that is free of intellectual property restrictions. libvorbis \
3is the main vorbis codec library."
4HOMEPAGE = "http://xiph.org/"
5BUGTRACKER = "https://trac.xiph.org/newticket"
6SECTION = "libs"
7LICENSE = "BSD"
8LIC_FILES_CHKSUM = "file://COPYING;md5=ca77c6c3ea4d29cb68dce8ef5ab0d897 \
9 file://include/vorbis/vorbisenc.h;beginline=1;endline=11;md5=d1c1d138863d6315131193d4046d81cb"
10DEPENDS = "libogg"
11
12PR = "r0"
13
14SRC_URI = "http://downloads.xiph.org/releases/vorbis/libvorbis-${PV}.tar.gz"
15
16inherit autotools pkgconfig
17
18# vorbisfile.c reveals a problem in the gcc register spilling for the
19# thumb instruction set...
20FULL_OPTIMIZATION_thumb = "-O0"
21
22EXTRA_OECONF = "--with-ogg-libraries=${STAGING_LIBDIR} \
23 --with-ogg-includes=${STAGING_INCDIR}"
diff --git a/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.4.1.bb b/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.4.1.bb
new file mode 100644
index 0000000000..a769e5a70e
--- /dev/null
+++ b/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.4.1.bb
@@ -0,0 +1,31 @@
1DESCRIPTION = "Library and test program for decoding mpeg-2 and mpeg-1 video streams"
2HOMEPAGE = "http://libmpeg2.sourceforge.net/"
3SECTION = "libs"
4PRIORITY = "optional"
5LICENSE = "GPLv2+"
6LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
7 file://include/mpeg2.h;beginline=1;endline=22;md5=ead62602d4638329d3b5b86a55803154"
8
9DEPENDS = "virtual/libx11"
10
11PR = "r0"
12
13SRC_URI = "http://libmpeg2.sourceforge.net/files/mpeg2dec-${PV}.tar.gz"
14
15inherit autotools pkgconfig
16
17EXTRA_OECONF = "--enable-shared --disable-sdl --with-x"
18
19PACKAGES = "mpeg2dec-dbg mpeg2dec mpeg2dec-doc libmpeg2 libmpeg2-dev libmpeg2convert libmpeg2convert-dev"
20
21FILES_${PN} = "${bindir}/*"
22FILES_libmpeg2 = "${libdir}/libmpeg2.so.*"
23FILES_libmpeg2convert = "${libdir}/libmpeg2convert.so.*"
24FILES_libmpeg2-dev = "${libdir}/libmpeg2.so \
25 ${libdir}/libmpeg2.*a \
26 ${libdir}/pkgconfig/libmpeg2.pc \
27 ${includedir}/mpeg2dec/mpeg2.h"
28FILES_libmpeg2convert-dev = "${libdir}/libmpeg2convert.so \
29 ${libdir}/libmpeg2convert.*a \
30 ${libdir}/pkgconfig/libmpeg2convert.pc \
31 ${includedir}/mpeg2dec/mpeg2convert.h"
diff --git a/meta/recipes-multimedia/musicbrainz/libmusicbrainz/fix_build_issue_for_gcc_4.5.0.patch b/meta/recipes-multimedia/musicbrainz/libmusicbrainz/fix_build_issue_for_gcc_4.5.0.patch
new file mode 100644
index 0000000000..80d4d8bf2f
--- /dev/null
+++ b/meta/recipes-multimedia/musicbrainz/libmusicbrainz/fix_build_issue_for_gcc_4.5.0.patch
@@ -0,0 +1,37 @@
1GCC 4.4 cleaned up some more C++ headers. You always have to #include
2headers directly and cannot rely for things to be included indirectly.
3
4Otherwise you get errors like this:
5
6| /home/nitin/build/build0/tmp/work/i586-poky-linux/libmusicbrainz-3.0.2-r0/libmusicbrainz-3.0.2/src/utils_private.cpp: In function 'std::string MusicBrainz::intToString(int)':
7| /home/nitin/build/build0/tmp/work/i586-poky-linux/libmusicbrainz-3.0.2-r0/libmusicbrainz-3.0.2/src/utils_private.cpp:38:23: error: 'sprintf' was not declared in this scope
8| /home/nitin/build/build0/tmp/work/i586-poky-linux/libmusicbrainz-3.0.2-r0/libmusicbrainz-3.0.2/src/utils_private.cpp: In function 'void MusicBrainz::debug(const char*, ...)':
9| /home/nitin/build/build0/tmp/work/i586-poky-linux/libmusicbrainz-3.0.2-r0/libmusicbrainz-3.0.2/src/utils_private.cpp:80:10: error: 'stderr' was not declared in this scope
10| /home/nitin/build/build0/tmp/work/i586-poky-linux/libmusicbrainz-3.0.2-r0/libmusicbrainz-3.0.2/src/utils_private.cpp:80:33: error: 'fprintf' was not declared in this scope
11| /home/nitin/build/build0/tmp/work/i586-poky-linux/libmusicbrainz-3.0.2-r0/libmusicbrainz-3.0.2/src/utils_private.cpp:81:26: error: 'vfprintf' was not declared in this scope
12| make[2]: *** [src/CMakeFiles/musicbrainz3.dir/utils_private.o] Error 1
13| make[2]: *** Waiting for unfinished jobs....
14| /home/nitin/build/build0/tmp/work/i586-poky-linux/libmusicbrainz-3.0.2-r0/libmusicbrainz-3.0.2/src/xmlParser/xmlParser.cpp:116:1: warning: 'typedef' was ignored in this declaration
15| make[1]: *** [src/CMakeFiles/musicbrainz3.dir/all] Error 2
16| make: *** [all] Error 2
17| FATAL: oe_runmake failed
18NOTE: package libmusicbrainz-3.0.2-r0: task do_compile: Failed
19
20Found the solution here:
21http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=504895
22
23Date: 2010/07/28
24Nitin A Kamble <nitin.a.kamble@intel.com>
25
26Index: libmusicbrainz-3.0.2/src/utils_private.cpp
27===================================================================
28--- libmusicbrainz-3.0.2.orig/src/utils_private.cpp
29+++ libmusicbrainz-3.0.2/src/utils_private.cpp
30@@ -20,6 +20,7 @@
31 * $Id: utils_private.cpp 9934 2008-07-02 06:57:10Z luks $
32 */
33
34+#include <cstdio>
35 #include <cstdlib>
36 #include <cstring>
37 #include <cstdarg>
diff --git a/meta/recipes-multimedia/musicbrainz/libmusicbrainz_3.0.2.bb b/meta/recipes-multimedia/musicbrainz/libmusicbrainz_3.0.2.bb
new file mode 100644
index 0000000000..5dfda12a3d
--- /dev/null
+++ b/meta/recipes-multimedia/musicbrainz/libmusicbrainz_3.0.2.bb
@@ -0,0 +1,13 @@
1DESCRIPTION = "The MusicBrainz client is a library which can be built into other programs. The library allows you to access the data held on the MusicBrainz server."
2HOMEPAGE = "http://musicbrainz.org"
3LICENSE = "LGPLv2.1+"
4LIC_FILES_CHKSUM = "file://COPYING.txt;md5=fbc093901857fcd118f065f900982c24 \
5 file://include/musicbrainz3/includes.h;beginline=1;endline=21;md5=e7d3b3e6d8bb7ee278dc4040d380ebd5"
6DEPENDS = "expat neon"
7
8PR = "r1"
9
10SRC_URI = "http://ftp.musicbrainz.org/pub/musicbrainz/${PN}-${PV}.tar.gz \
11 file://fix_build_issue_for_gcc_4.5.0.patch"
12
13inherit cmake pkgconfig
diff --git a/meta/recipes-multimedia/tremor/tremor_20100422.bb b/meta/recipes-multimedia/tremor/tremor_20100422.bb
new file mode 100644
index 0000000000..5c66b2ab7b
--- /dev/null
+++ b/meta/recipes-multimedia/tremor/tremor_20100422.bb
@@ -0,0 +1,19 @@
1DESCRIPTION = "tremor is a fixed point implementation of the vorbis codec."
2SECTION = "libs"
3PRIORITY = "optional"
4LICENSE = "BSD"
5LIC_FILES_CHKSUM = "file://COPYING;md5=db1b7a668b2a6f47b2af88fb008ad555 \
6 file://os.h;beginline=3;endline=14;md5=5c0af5e1bedef3ce8178c89f48cd6f1f"
7DEPENDS = "libogg"
8SRCDATE = "${PV}"
9PR = "r0"
10
11SRC_URI = "svn://svn.xiph.org/trunk;module=Tremor;rev=17157;proto=http"
12
13S = "${WORKDIR}/Tremor"
14
15inherit autotools
16
17EXTRA_OECONF=" --enable-shared --disable-rpath "
18
19ARM_INSTRUCTION_SET = "arm"