diff options
author | Adrian Dudau <adrian.dudau@enea.com> | 2014-06-26 14:36:22 +0200 |
---|---|---|
committer | Adrian Dudau <adrian.dudau@enea.com> | 2014-06-26 15:32:53 +0200 |
commit | f4cf9fe05bb3f32fabea4e54dd92d368967a80da (patch) | |
tree | 487180fa9866985ea7b28e625651765d86f515c3 /meta/recipes-multimedia | |
download | poky-f4cf9fe05bb3f32fabea4e54dd92d368967a80da.tar.gz |
initial commit for Enea Linux 4.0
Migrated from the internal git server on the daisy-enea branch
Signed-off-by: Adrian Dudau <adrian.dudau@enea.com>
Diffstat (limited to 'meta/recipes-multimedia')
121 files changed, 4726 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..50402307c5 --- /dev/null +++ b/meta/recipes-multimedia/alsa/alsa-fpu.inc | |||
@@ -0,0 +1,6 @@ | |||
1 | |||
2 | def get_alsa_fpu_setting(bb, d): | ||
3 | if d.getVar('TARGET_FPU', True) in [ 'soft' ]: | ||
4 | return "--with-softfloat" | ||
5 | return "" | ||
6 | |||
diff --git a/meta/recipes-multimedia/alsa/alsa-lib/Check-if-wordexp-function-is-supported.patch b/meta/recipes-multimedia/alsa/alsa-lib/Check-if-wordexp-function-is-supported.patch new file mode 100644 index 0000000000..41b3c23a40 --- /dev/null +++ b/meta/recipes-multimedia/alsa/alsa-lib/Check-if-wordexp-function-is-supported.patch | |||
@@ -0,0 +1,50 @@ | |||
1 | From 2555c5d62229cf269974f6ec6e4689ab97bbda42 Mon Sep 17 00:00:00 2001 | ||
2 | From: "Hong H. Pham" <hong.pham@windriver.com> | ||
3 | Date: Tue, 26 Feb 2013 19:40:04 -0500 | ||
4 | Subject: [PATCH] Check if wordexp function is supported | ||
5 | |||
6 | eglibc could be configured to build without wordexp, so it is not enough | ||
7 | to check if wordexp.h exists (the header file could be installed, but it's | ||
8 | possible that the wordexp() function is not supported). An additional | ||
9 | check if wordexp() is supported by the system C library is needed. | ||
10 | |||
11 | Upstream-Status: Pending | ||
12 | |||
13 | Signed-off-by: Hong H. Pham <hong.pham@windriver.com> | ||
14 | --- | ||
15 | configure.in | 5 ++++- | ||
16 | src/userfile.c | 2 +- | ||
17 | 2 files changed, 5 insertions(+), 2 deletions(-) | ||
18 | |||
19 | diff --git a/configure.in b/configure.in | ||
20 | index 4bcb0d6..ba1c2dd 100644 | ||
21 | --- a/configure.in | ||
22 | +++ b/configure.in | ||
23 | @@ -333,7 +333,10 @@ arm*) | ||
24 | esac | ||
25 | |||
26 | dnl Check for wordexp.h | ||
27 | -AC_CHECK_HEADERS([wordexp.h]) | ||
28 | +AC_CHECK_HEADERS([wordexp.h], | ||
29 | + dnl Make sure wordexp is supported by the C library | ||
30 | + AC_CHECK_FUNCS([wordexp]) | ||
31 | +) | ||
32 | |||
33 | dnl Check for resmgr support... | ||
34 | AC_MSG_CHECKING(for resmgr support) | ||
35 | diff --git a/src/userfile.c b/src/userfile.c | ||
36 | index 3a73836..b8ce809 100644 | ||
37 | --- a/src/userfile.c | ||
38 | +++ b/src/userfile.c | ||
39 | @@ -32,7 +32,7 @@ | ||
40 | * stores the first matchine one. The returned string is strdup'ed. | ||
41 | */ | ||
42 | |||
43 | -#ifdef HAVE_WORDEXP_H | ||
44 | +#if (defined(HAVE_WORDEXP_H) && defined(HAVE_WORDEXP)) | ||
45 | #include <wordexp.h> | ||
46 | #include <assert.h> | ||
47 | int snd_user_file(const char *file, char **result) | ||
48 | -- | ||
49 | 1.7.10.4 | ||
50 | |||
diff --git a/meta/recipes-multimedia/alsa/alsa-lib/Update-iatomic.h-functions-definitions-for-mips.patch b/meta/recipes-multimedia/alsa/alsa-lib/Update-iatomic.h-functions-definitions-for-mips.patch new file mode 100644 index 0000000000..f1a7947c2b --- /dev/null +++ b/meta/recipes-multimedia/alsa/alsa-lib/Update-iatomic.h-functions-definitions-for-mips.patch | |||
@@ -0,0 +1,68 @@ | |||
1 | Upstream-Status: Backport | ||
2 | |||
3 | Signed-off-by: Kai Kang <kai.kang@windriver.com> | ||
4 | |||
5 | From f21f48a70f8437a671b58fcab75e54222a9eea16 Mon Sep 17 00:00:00 2001 | ||
6 | From: Kai Kang <jiashuo.kang at gmail.com> | ||
7 | Date: Thu, 15 Aug 2013 17:17:19 +0800 | ||
8 | Subject: [PATCH] Update iatomic.h functions definitions for mips | ||
9 | |||
10 | Functions atomic_add(s) and atomic_sub(s) are defined with 'extern | ||
11 | __inline__' that may cause compile fails when cross compile for mips. | ||
12 | The error message looks like: | ||
13 | |||
14 | | pcm/.libs/libpcm.a(pcm_meter.o): In function `snd_pcm_meter_update_scope': | ||
15 | | .../alsa-lib-1.0.27.2/src/pcm/pcm_meter.c:139: undefined reference to `atomic_sub' | ||
16 | |||
17 | Replace the 'extern __inline__' with 'static __inline__' to fix this | ||
18 | issue. | ||
19 | |||
20 | Signed-off-by: Kai Kang <jiashuo.kang at gmail.com> | ||
21 | Signed-off-by: Takashi Iwai <tiwai@suse.de> | ||
22 | --- | ||
23 | include/iatomic.h | 8 ++++---- | ||
24 | 1 file changed, 4 insertions(+), 4 deletions(-) | ||
25 | |||
26 | diff --git a/include/iatomic.h b/include/iatomic.h | ||
27 | index 5711fe8..2393297 100644 | ||
28 | --- a/include/iatomic.h | ||
29 | +++ b/include/iatomic.h | ||
30 | @@ -720,7 +720,7 @@ typedef struct { volatile int counter; } atomic_t; | ||
31 | * Atomically adds @i to @v. Note that the guaranteed useful range | ||
32 | * of an atomic_t is only 24 bits. | ||
33 | */ | ||
34 | -extern __inline__ void atomic_add(int i, atomic_t * v) | ||
35 | +static __inline__ void atomic_add(int i, atomic_t * v) | ||
36 | { | ||
37 | unsigned long temp; | ||
38 | |||
39 | @@ -744,7 +744,7 @@ extern __inline__ void atomic_add(int i, atomic_t * v) | ||
40 | * Atomically subtracts @i from @v. Note that the guaranteed | ||
41 | * useful range of an atomic_t is only 24 bits. | ||
42 | */ | ||
43 | -extern __inline__ void atomic_sub(int i, atomic_t * v) | ||
44 | +static __inline__ void atomic_sub(int i, atomic_t * v) | ||
45 | { | ||
46 | unsigned long temp; | ||
47 | |||
48 | @@ -763,7 +763,7 @@ extern __inline__ void atomic_sub(int i, atomic_t * v) | ||
49 | /* | ||
50 | * Same as above, but return the result value | ||
51 | */ | ||
52 | -extern __inline__ int atomic_add_return(int i, atomic_t * v) | ||
53 | +static __inline__ int atomic_add_return(int i, atomic_t * v) | ||
54 | { | ||
55 | unsigned long temp, result; | ||
56 | |||
57 | @@ -784,7 +784,7 @@ extern __inline__ int atomic_add_return(int i, atomic_t * v) | ||
58 | return result; | ||
59 | } | ||
60 | |||
61 | -extern __inline__ int atomic_sub_return(int i, atomic_t * v) | ||
62 | +static __inline__ int atomic_sub_return(int i, atomic_t * v) | ||
63 | { | ||
64 | unsigned long temp, result; | ||
65 | |||
66 | -- | ||
67 | 1.8.1.2 | ||
68 | |||
diff --git a/meta/recipes-multimedia/alsa/alsa-lib/fix-tstamp-declaration.patch b/meta/recipes-multimedia/alsa/alsa-lib/fix-tstamp-declaration.patch new file mode 100644 index 0000000000..32b84b7d7e --- /dev/null +++ b/meta/recipes-multimedia/alsa/alsa-lib/fix-tstamp-declaration.patch | |||
@@ -0,0 +1,21 @@ | |||
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 | |||
7 | Upstream-Status: Pending | ||
8 | |||
9 | Index: alsa-lib-1.0.13/include/global.h | ||
10 | =================================================================== | ||
11 | --- alsa-lib-1.0.13.orig/include/global.h | ||
12 | +++ alsa-lib-1.0.13/include/global.h | ||
13 | @@ -29,6 +29,8 @@ | ||
14 | #define __ALSA_GLOBAL_H_ | ||
15 | |||
16 | /* for timeval and timespec */ | ||
17 | +#define __need_timeval | ||
18 | +#define __need_timespec | ||
19 | #include <time.h> | ||
20 | |||
21 | #ifdef __cplusplus | ||
diff --git a/meta/recipes-multimedia/alsa/alsa-lib_1.0.27.2.bb b/meta/recipes-multimedia/alsa/alsa-lib_1.0.27.2.bb new file mode 100644 index 0000000000..cbe04484a4 --- /dev/null +++ b/meta/recipes-multimedia/alsa/alsa-lib_1.0.27.2.bb | |||
@@ -0,0 +1,49 @@ | |||
1 | SUMMARY = "ALSA sound library" | ||
2 | HOMEPAGE = "http://www.alsa-project.org" | ||
3 | BUGTRACKER = "https://bugtrack.alsa-project.org/alsa-bug/login_page.php" | ||
4 | SECTION = "libs/multimedia" | ||
5 | LICENSE = "LGPLv2.1 & GPLv2+" | ||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34 \ | ||
7 | file://src/socket.c;beginline=1;endline=26;md5=11ff89a8a7a4a690a5c78effe8159545" | ||
8 | |||
9 | BBCLASSEXTEND = "native nativesdk" | ||
10 | |||
11 | # configure.in sets -D__arm__ on the command line for any arm system | ||
12 | # (not just those with the ARM instruction set), this should be removed, | ||
13 | # (or replaced by a permitted #define). | ||
14 | #FIXME: remove the following | ||
15 | ARM_INSTRUCTION_SET = "arm" | ||
16 | |||
17 | SRC_URI = "ftp://ftp.alsa-project.org/pub/lib/alsa-lib-${PV}.tar.bz2 \ | ||
18 | file://Check-if-wordexp-function-is-supported.patch \ | ||
19 | file://fix-tstamp-declaration.patch \ | ||
20 | file://Update-iatomic.h-functions-definitions-for-mips.patch \ | ||
21 | " | ||
22 | SRC_URI[md5sum] = "69129a7c37697f81ac092335e9fa452b" | ||
23 | SRC_URI[sha256sum] = "690ed393e7efd4fc7e3a2d2cda5449298ca0c895197e5914e350882012430d19" | ||
24 | |||
25 | inherit autotools pkgconfig | ||
26 | |||
27 | require alsa-fpu.inc | ||
28 | EXTRA_OECONF += "${@get_alsa_fpu_setting(bb, d)} " | ||
29 | |||
30 | EXTRA_OECONF = "--disable-python" | ||
31 | |||
32 | EXTRA_OECONF_append_libc-uclibc = " --with-versioned=no " | ||
33 | |||
34 | PACKAGES =+ "alsa-server libasound alsa-conf-base alsa-conf alsa-doc alsa-dev" | ||
35 | FILES_${PN} += "${libdir}/${BPN}/smixer/*.so" | ||
36 | FILES_${PN}-dbg += "${libdir}/${BPN}/smixer/.debug" | ||
37 | FILES_${PN}-dev += "${libdir}/${BPN}/smixer/*.la" | ||
38 | FILES_libasound = "${libdir}/libasound.so.*" | ||
39 | FILES_alsa-server = "${bindir}/*" | ||
40 | FILES_alsa-conf = "${datadir}/alsa/" | ||
41 | FILES_alsa-dev += "${libdir}/pkgconfig/ ${includedir}/alsa ${datadir}/aclocal/*" | ||
42 | FILES_alsa-conf-base = "\ | ||
43 | ${datadir}/alsa/alsa.conf \ | ||
44 | ${datadir}/alsa/cards/aliases.conf \ | ||
45 | ${datadir}/alsa/pcm/default.conf \ | ||
46 | ${datadir}/alsa/pcm/dmix.conf \ | ||
47 | ${datadir}/alsa/pcm/dsnoop.conf" | ||
48 | |||
49 | RDEPENDS_libasound = "alsa-conf-base" | ||
diff --git a/meta/recipes-multimedia/alsa/alsa-tools/autotools.patch b/meta/recipes-multimedia/alsa/alsa-tools/autotools.patch new file mode 100644 index 0000000000..5aec84c60d --- /dev/null +++ b/meta/recipes-multimedia/alsa/alsa-tools/autotools.patch | |||
@@ -0,0 +1,32 @@ | |||
1 | Add parameters to autoreconf to support cross compile. | ||
2 | Remove some sub-components which needs further recipe support. | ||
3 | |||
4 | Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> | ||
5 | |||
6 | Upstream-Status: Inappropriate [configuration] | ||
7 | |||
8 | diff -ruN alsa-tools-1.0.24.1-orig//ld10k1/gitcompile alsa-tools-1.0.24.1/ld10k1/gitcompile | ||
9 | --- alsa-tools-1.0.24.1-orig//ld10k1/gitcompile 2011-07-06 11:27:40.227665002 +0800 | ||
10 | +++ alsa-tools-1.0.24.1/ld10k1/gitcompile 2011-07-14 13:26:18.017665004 +0800 | ||
11 | @@ -1,6 +1,6 @@ | ||
12 | #!/bin/bash | ||
13 | |||
14 | -autoreconf -fi || exit 1 | ||
15 | +autoreconf $ACLOCAL_FLAGS -fi || exit 1 | ||
16 | export CFLAGS='-O2 -Wall -pipe -g' | ||
17 | echo "CFLAGS=$CFLAGS" | ||
18 | echo "./configure $@" | ||
19 | diff -ruN alsa-tools-1.0.24.1-orig//Makefile alsa-tools-1.0.24.1/Makefile | ||
20 | --- alsa-tools-1.0.24.1-orig//Makefile 2011-07-06 11:27:40.207665000 +0800 | ||
21 | +++ alsa-tools-1.0.24.1/Makefile 2011-07-14 15:08:08.877665009 +0800 | ||
22 | @@ -1,8 +1,8 @@ | ||
23 | VERSION = 1.0.27 | ||
24 | TOP = . | ||
25 | -SUBDIRS = as10k1 envy24control hdsploader hdspconf hdspmixer \ | ||
26 | +SUBDIRS = as10k1 envy24control \ | ||
27 | mixartloader pcxhrloader rmedigicontrol sb16_csp seq sscape_ctl \ | ||
28 | - us428control usx2yloader vxloader echomixer ld10k1 qlo10k1 \ | ||
29 | + us428control usx2yloader vxloader echomixer \ | ||
30 | hwmixvolume hdajackretask hda-verb | ||
31 | |||
32 | all: | ||
diff --git a/meta/recipes-multimedia/alsa/alsa-tools/makefile_no_gtk.patch b/meta/recipes-multimedia/alsa/alsa-tools/makefile_no_gtk.patch new file mode 100644 index 0000000000..26657266a8 --- /dev/null +++ b/meta/recipes-multimedia/alsa/alsa-tools/makefile_no_gtk.patch | |||
@@ -0,0 +1,25 @@ | |||
1 | Remove some sub-components which need gtk+. | ||
2 | |||
3 | Upstream-Status: Inappropriate [configuration] | ||
4 | |||
5 | Signed-off-by: Rogerio Nunes <ronunes@gmail.com> | ||
6 | Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> | ||
7 | |||
8 | diff --git a/Makefile b/Makefile | ||
9 | index 2457a1c..72346d9 100644 | ||
10 | --- a/Makefile | ||
11 | +++ b/Makefile | ||
12 | @@ -1,9 +1,9 @@ | ||
13 | VERSION = 1.0.27 | ||
14 | TOP = . | ||
15 | -SUBDIRS = as10k1 envy24control \ | ||
16 | - mixartloader pcxhrloader rmedigicontrol sb16_csp seq sscape_ctl \ | ||
17 | - us428control usx2yloader vxloader echomixer \ | ||
18 | - hwmixvolume hdajackretask hda-verb | ||
19 | +SUBDIRS = as10k1 \ | ||
20 | + mixartloader pcxhrloader sb16_csp seq sscape_ctl \ | ||
21 | + us428control usx2yloader vxloader \ | ||
22 | + hwmixvolume hda-verb | ||
23 | |||
24 | all: | ||
25 | @for i in $(SUBDIRS); do \ | ||
diff --git a/meta/recipes-multimedia/alsa/alsa-tools/mips_has_no_io_h.patch b/meta/recipes-multimedia/alsa/alsa-tools/mips_has_no_io_h.patch new file mode 100644 index 0000000000..09b10f17e6 --- /dev/null +++ b/meta/recipes-multimedia/alsa/alsa-tools/mips_has_no_io_h.patch | |||
@@ -0,0 +1,16 @@ | |||
1 | Upstream-Status: Pending | ||
2 | Signed-off-by: Saul Wold <sgw@linux.intel.com> | ||
3 | |||
4 | Index: alsa-tools-1.0.26.1/hda-verb/hda-verb.c | ||
5 | =================================================================== | ||
6 | --- alsa-tools-1.0.26.1.orig/hda-verb/hda-verb.c | ||
7 | +++ alsa-tools-1.0.26.1/hda-verb/hda-verb.c | ||
8 | @@ -13,7 +13,7 @@ | ||
9 | #include <ctype.h> | ||
10 | #include <unistd.h> | ||
11 | #include <sys/ioctl.h> | ||
12 | -#ifndef __PPC__ | ||
13 | +#if !(__PPC__ || __mips__) | ||
14 | #include <sys/io.h> | ||
15 | #endif | ||
16 | #include <sys/types.h> | ||
diff --git a/meta/recipes-multimedia/alsa/alsa-tools_1.0.27.bb b/meta/recipes-multimedia/alsa/alsa-tools_1.0.27.bb new file mode 100644 index 0000000000..4f64a387ec --- /dev/null +++ b/meta/recipes-multimedia/alsa/alsa-tools_1.0.27.bb | |||
@@ -0,0 +1,35 @@ | |||
1 | SUMMARY = "Advanced tools for certain ALSA sound card drivers" | ||
2 | HOMEPAGE = "http://www.alsa-project.org" | ||
3 | BUGTRACKER = "https://bugtrack.alsa-project.org/alsa-bug/login_page.php" | ||
4 | SECTION = "console/utils" | ||
5 | LICENSE = "GPLv2 & LGPLv2+" | ||
6 | DEPENDS = "alsa-lib ncurses" | ||
7 | |||
8 | LIC_FILES_CHKSUM = "file://hdsploader/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ | ||
9 | file://ld10k1/COPYING.LIB;md5=7fbc338309ac38fefcd64b04bb903e34" | ||
10 | |||
11 | SRC_URI = "ftp://ftp.alsa-project.org/pub/tools/alsa-tools-${PV}.tar.bz2 \ | ||
12 | file://mips_has_no_io_h.patch \ | ||
13 | file://autotools.patch \ | ||
14 | ${@base_contains('DISTRO_FEATURES', 'x11', '', 'file://makefile_no_gtk.patch', d)}" | ||
15 | |||
16 | SRC_URI[md5sum] = "1ea381d00a6069a98613aa7effa4cb51" | ||
17 | SRC_URI[sha256sum] = "6562611b5a6560712f109e09740a9d4fa47296b07ed9590cb44139c5f154ada2" | ||
18 | |||
19 | inherit autotools-brokensep | ||
20 | |||
21 | EXTRA_OEMAKE += "GITCOMPILE_ARGS='--host=${HOST_SYS} --build=${BUILD_SYS} --target=${TARGET_SYS} --with-libtool-sysroot=${STAGING_DIR_HOST} --prefix=${prefix}'" | ||
22 | |||
23 | PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'gtk+', '', d)}" | ||
24 | PACKAGECONFIG[gtk+] = ",,gtk+ gtk+3," | ||
25 | |||
26 | # configure.ac/.in doesn't exist so force copy | ||
27 | AUTOTOOLS_COPYACLOCAL = "1" | ||
28 | |||
29 | do_compile_prepend () { | ||
30 | #Automake dir is not correctly detected in cross compilation case | ||
31 | export AUTOMAKE_DIR="$(automake --print-libdir)" | ||
32 | export ACLOCAL_FLAGS="--system-acdir=${ACLOCALDIR}/" | ||
33 | } | ||
34 | |||
35 | FILES_${PN} += "${datadir}/ld10k1" | ||
diff --git a/meta/recipes-multimedia/alsa/alsa-utils-alsaconf_1.0.27.2.bb b/meta/recipes-multimedia/alsa/alsa-utils-alsaconf_1.0.27.2.bb new file mode 100644 index 0000000000..968c81ee2b --- /dev/null +++ b/meta/recipes-multimedia/alsa/alsa-utils-alsaconf_1.0.27.2.bb | |||
@@ -0,0 +1,17 @@ | |||
1 | require alsa-utils_${PV}.bb | ||
2 | |||
3 | SUMMARY = "Shell script that creates ALSA configuration files" | ||
4 | |||
5 | FILESEXTRAPATHS_prepend := "${THISDIR}/alsa-utils:" | ||
6 | |||
7 | PACKAGES = "${PN}" | ||
8 | RDEPENDS_${PN} += "bash" | ||
9 | |||
10 | FILES_${PN} = "${sbindir}/alsaconf" | ||
11 | |||
12 | S = "${WORKDIR}/alsa-utils-${PV}" | ||
13 | |||
14 | do_install() { | ||
15 | install -d ${D}${sbindir} | ||
16 | install -m 0755 ${S}/alsaconf/alsaconf ${D}${sbindir}/ | ||
17 | } | ||
diff --git a/meta/recipes-multimedia/alsa/alsa-utils/0001-alsactl-don-t-let-systemd-unit-restore-the-volume-wh.patch b/meta/recipes-multimedia/alsa/alsa-utils/0001-alsactl-don-t-let-systemd-unit-restore-the-volume-wh.patch new file mode 100644 index 0000000000..477cd11b12 --- /dev/null +++ b/meta/recipes-multimedia/alsa/alsa-utils/0001-alsactl-don-t-let-systemd-unit-restore-the-volume-wh.patch | |||
@@ -0,0 +1,40 @@ | |||
1 | From 37c99a3cbff36915b56a5703eeaed3c70796f80f Mon Sep 17 00:00:00 2001 | ||
2 | From: Koen Kooi <koen@dominion.thruhere.net> | ||
3 | Date: Sun, 9 Oct 2011 20:06:35 +0200 | ||
4 | Subject: [PATCH] alsactl: don't let systemd unit restore the volume when asound.state is missing | ||
5 | |||
6 | This avoids an error on bootup | ||
7 | |||
8 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | ||
9 | |||
10 | Filed as https://bugtrack.alsa-project.org/alsa-bug/view.php?id=5459 | ||
11 | |||
12 | Upstream-Status: Pending | ||
13 | |||
14 | Index: alsa-utils-1.0.27.2/alsactl/Makefile.am | ||
15 | =================================================================== | ||
16 | --- alsa-utils-1.0.27.2.orig/alsactl/Makefile.am | ||
17 | +++ alsa-utils-1.0.27.2/alsactl/Makefile.am | ||
18 | @@ -36,8 +36,8 @@ install-data-hook: | ||
19 | endif | ||
20 | |||
21 | edit = \ | ||
22 | - $(SED) -r -e 's,@sbindir\@,$(sbindir),g' \ | ||
23 | - -e 's,@daemonswitch\@,$(ALSACTL_DAEMONSWITCH),g' \ | ||
24 | + $(SED) -e 's,@localstatedir\@,$(localstatedir),g' -e 's,@sbindir\@,$(sbindir),g' \ | ||
25 | + -e 's,@daemonswitch\@,$(ALSACTL_DAEMONSWITCH),g' \ | ||
26 | < $< > $@ || rm $@ | ||
27 | |||
28 | alsa-state.service: alsa-state.service.in | ||
29 | Index: alsa-utils-1.0.27.2/alsactl/alsa-restore.service.in | ||
30 | =================================================================== | ||
31 | --- alsa-utils-1.0.27.2.orig/alsactl/alsa-restore.service.in | ||
32 | +++ alsa-utils-1.0.27.2/alsactl/alsa-restore.service.in | ||
33 | @@ -10,6 +10,7 @@ DefaultDependencies=no | ||
34 | After=alsa-state.service | ||
35 | Before=shutdown.target | ||
36 | Conflicts=shutdown.target | ||
37 | +ConditionPathExists=@localstatedir@/lib/alsa/asound.state | ||
38 | |||
39 | [Service] | ||
40 | Type=oneshot | ||
diff --git a/meta/recipes-multimedia/alsa/alsa-utils_1.0.27.2.bb b/meta/recipes-multimedia/alsa/alsa-utils_1.0.27.2.bb new file mode 100644 index 0000000000..056fca2dac --- /dev/null +++ b/meta/recipes-multimedia/alsa/alsa-utils_1.0.27.2.bb | |||
@@ -0,0 +1,94 @@ | |||
1 | SUMMARY = "ALSA sound utilities" | ||
2 | HOMEPAGE = "http://www.alsa-project.org" | ||
3 | BUGTRACKER = "https://bugtrack.alsa-project.org/alsa-bug/login_page.php" | ||
4 | SECTION = "console/utils" | ||
5 | LICENSE = "GPLv2+" | ||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ | ||
7 | file://alsactl/utils.c;beginline=1;endline=20;md5=fe9526b055e246b5558809a5ae25c0b9" | ||
8 | DEPENDS = "alsa-lib ncurses libsamplerate0 udev" | ||
9 | |||
10 | PACKAGECONFIG ??= "udev" | ||
11 | PACKAGECONFIG[udev] = "--with-udev-rules-dir=`pkg-config --variable=udevdir udev`/rules.d,,udev" | ||
12 | |||
13 | SRC_URI = "ftp://ftp.alsa-project.org/pub/utils/alsa-utils-${PV}.tar.bz2 \ | ||
14 | file://0001-alsactl-don-t-let-systemd-unit-restore-the-volume-wh.patch \ | ||
15 | " | ||
16 | |||
17 | SRC_URI[md5sum] = "b65e9a04181bd7c9db7667a4566f8dc3" | ||
18 | SRC_URI[sha256sum] = "02bfac39092f3b68d743c23ad3d688d6c5aa8df69f2ccd692c5b8282edb352ea" | ||
19 | |||
20 | # lazy hack. needs proper fixing in gettext.m4, see | ||
21 | # http://bugs.openembedded.org/show_bug.cgi?id=2348 | ||
22 | # please close bug and remove this comment when properly fixed | ||
23 | # | ||
24 | EXTRA_OECONF = "--disable-xmlto" | ||
25 | EXTRA_OECONF_append_libc-uclibc = " --disable-nls" | ||
26 | |||
27 | inherit autotools-brokensep gettext | ||
28 | |||
29 | # This are all packages that we need to make. Also, the now empty alsa-utils | ||
30 | # ipk depends on them. | ||
31 | |||
32 | ALSA_UTILS_PKGS = "\ | ||
33 | alsa-utils-alsamixer \ | ||
34 | alsa-utils-midi \ | ||
35 | alsa-utils-aplay \ | ||
36 | alsa-utils-amixer \ | ||
37 | alsa-utils-aconnect \ | ||
38 | alsa-utils-iecset \ | ||
39 | alsa-utils-speakertest \ | ||
40 | alsa-utils-aseqnet \ | ||
41 | alsa-utils-aseqdump \ | ||
42 | alsa-utils-alsactl \ | ||
43 | alsa-utils-alsaloop \ | ||
44 | alsa-utils-alsaucm \ | ||
45 | " | ||
46 | |||
47 | PACKAGES += "${ALSA_UTILS_PKGS}" | ||
48 | RDEPENDS_${PN} += "${ALSA_UTILS_PKGS}" | ||
49 | |||
50 | FILES_${PN} = "" | ||
51 | FILES_alsa-utils-aplay = "${bindir}/aplay ${bindir}/arecord" | ||
52 | FILES_alsa-utils-amixer = "${bindir}/amixer" | ||
53 | FILES_alsa-utils-alsamixer = "${bindir}/alsamixer" | ||
54 | FILES_alsa-utils-speakertest = "${bindir}/speaker-test ${datadir}/sounds/alsa/ ${datadir}/alsa/speaker-test/" | ||
55 | FILES_alsa-utils-midi = "${bindir}/aplaymidi ${bindir}/arecordmidi ${bindir}/amidi" | ||
56 | FILES_alsa-utils-aconnect = "${bindir}/aconnect" | ||
57 | FILES_alsa-utils-aseqnet = "${bindir}/aseqnet" | ||
58 | FILES_alsa-utils-iecset = "${bindir}/iecset" | ||
59 | FILES_alsa-utils-alsactl = "${sbindir}/alsactl */udev/rules.d ${systemd_unitdir} ${localstatedir}/lib/alsa ${datadir}/alsa/init/" | ||
60 | FILES_alsa-utils-aseqdump = "${bindir}/aseqdump" | ||
61 | FILES_alsa-utils-alsaloop = "${bindir}/alsaloop" | ||
62 | FILES_alsa-utils-alsaucm = "${bindir}/alsaucm" | ||
63 | |||
64 | |||
65 | SUMMARY_alsa-utils-aplay = "Play (and record) sound files using ALSA" | ||
66 | SUMMARY_alsa-utils-amixer = "Command-line control for ALSA mixer and settings" | ||
67 | SUMMARY_alsa-utils-alsamixer = "ncurses-based control for ALSA mixer and settings" | ||
68 | SUMMARY_alsa-utils-speakertest = "ALSA surround speaker test utility" | ||
69 | SUMMARY_alsa-utils-midi = "Miscellaneous MIDI utilities for ALSA" | ||
70 | SUMMARY_alsa-utils-aconnect = "ALSA sequencer connection manager" | ||
71 | SUMMARY_alsa-utils-aseqnet = "Network client/server for ALSA sequencer" | ||
72 | SUMMARY_alsa-utils-iecset = "ALSA utility for setting/showing IEC958 (S/PDIF) status bits" | ||
73 | SUMMARY_alsa-utils-alsactl = "Saves/restores ALSA-settings in /etc/asound.state" | ||
74 | SUMMARY_alsa-utils-aseqdump = "Shows the events received at an ALSA sequencer port" | ||
75 | SUMMARY_alsa-utils-alsaloop = "ALSA PCM loopback utility" | ||
76 | SUMMARY_alsa-utils-alsaucm = "ALSA Use Case Manager" | ||
77 | |||
78 | RRECOMMENDS_alsa-utils-alsactl = "alsa-states" | ||
79 | |||
80 | ALLOW_EMPTY_alsa-utils = "1" | ||
81 | |||
82 | do_install() { | ||
83 | autotools_do_install | ||
84 | |||
85 | # We don't ship this here because it requires a dependency on bash. | ||
86 | # See alsa-utils-alsaconf_${PV}.bb | ||
87 | rm ${D}${sbindir}/alsaconf | ||
88 | |||
89 | if ${@base_contains('PACKAGECONFIG', 'udev', 'false', 'true', d)}; then | ||
90 | # This is where alsa-utils will install its rules if we don't tell it anything else. | ||
91 | rm -rf ${D}/lib/udev | ||
92 | rmdir --ignore-fail-on-non-empty ${D}/lib | ||
93 | fi | ||
94 | } | ||
diff --git a/meta/recipes-multimedia/flac/flac-1.3.0/0001-Fix-Makefile.am-altivec-logic.patch b/meta/recipes-multimedia/flac/flac-1.3.0/0001-Fix-Makefile.am-altivec-logic.patch new file mode 100644 index 0000000000..d086cc910f --- /dev/null +++ b/meta/recipes-multimedia/flac/flac-1.3.0/0001-Fix-Makefile.am-altivec-logic.patch | |||
@@ -0,0 +1,35 @@ | |||
1 | From 1b3597cdc7b5e604ea37db29b2a65aab91e263e6 Mon Sep 17 00:00:00 2001 | ||
2 | From: Gustavo Zacarias <gustavo@zacarias.com.ar> | ||
3 | Date: Wed, 4 Dec 2013 13:31:28 -0300 | ||
4 | Subject: [PATCH] Fix Makefile.am altivec logic | ||
5 | |||
6 | Upstream-Status: Backport | ||
7 | |||
8 | Besides SPE (FSL e500v? cores) there are other powerpc processors | ||
9 | that don't support altivec instructions so only enable them when it's | ||
10 | 100% sure that the target has it. | ||
11 | |||
12 | Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> | ||
13 | Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com> | ||
14 | Signed-off-by: Cristian Iorga <cristian.iorga@intel.com> | ||
15 | --- | ||
16 | src/libFLAC/Makefile.am | 3 +-- | ||
17 | 1 file changed, 1 insertion(+), 2 deletions(-) | ||
18 | |||
19 | diff --git a/src/libFLAC/Makefile.am b/src/libFLAC/Makefile.am | ||
20 | index 247e33c..258de40 100644 | ||
21 | --- a/src/libFLAC/Makefile.am | ||
22 | +++ b/src/libFLAC/Makefile.am | ||
23 | @@ -47,8 +47,7 @@ CPUCFLAGS = -faltivec -force_cpusubtype_ALL -DFLAC__NO_ASM | ||
24 | else | ||
25 | # Linux-gcc for PPC does not have -force_cpusubtype_ALL, it is Darwin-specific | ||
26 | CPUCFLAGS = | ||
27 | -if FLaC__CPU_PPC_SPE | ||
28 | -else | ||
29 | +if FLaC__USE_ALTIVEC | ||
30 | CPUCFLAGS += -maltivec -mabi=altivec | ||
31 | endif | ||
32 | #@@@ PPC optimizations temporarily disabled | ||
33 | -- | ||
34 | 1.8.3.2 | ||
35 | |||
diff --git a/meta/recipes-multimedia/flac/flac_1.3.0.bb b/meta/recipes-multimedia/flac/flac_1.3.0.bb new file mode 100644 index 0000000000..ab37cbe0ad --- /dev/null +++ b/meta/recipes-multimedia/flac/flac_1.3.0.bb | |||
@@ -0,0 +1,43 @@ | |||
1 | SUMMARY = "Free Lossless Audio Codec" | ||
2 | DESCRIPTION = "FLAC stands for Free Lossless Audio Codec, a lossless audio compression format." | ||
3 | HOMEPAGE = "https://xiph.org/flac/" | ||
4 | BUGTRACKER = "http://sourceforge.net/p/flac/bugs/" | ||
5 | SECTION = "libs" | ||
6 | LICENSE = "GFDL-1.2 & GPLv2+ & LGPLv2.1+ & BSD" | ||
7 | LIC_FILES_CHKSUM = "file://COPYING.FDL;md5=ad1419ecc56e060eccf8184a87c4285f \ | ||
8 | file://src/Makefile.am;beginline=1;endline=17;md5=59575c1aa8f5f70d9361b776c2e2bdb5 \ | ||
9 | file://COPYING.GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ | ||
10 | file://src/flac/main.c;beginline=1;endline=18;md5=d36a16abc38d5ffd346ac4ba1be1932b \ | ||
11 | file://COPYING.LGPL;md5=fbc093901857fcd118f065f900982c24 \ | ||
12 | file://src/plugin_common/all.h;beginline=1;endline=18;md5=e33e281151e7f40db2d3d170d9b0c1bb \ | ||
13 | file://COPYING.Xiph;md5=755582d124a03e3001afea59fc02b61b \ | ||
14 | file://include/FLAC/all.h;beginline=65;endline=70;md5=64474f2b22e9e77b28d8b8b25c983a48" | ||
15 | DEPENDS = "libogg" | ||
16 | |||
17 | SRC_URI = "http://downloads.xiph.org/releases/flac/${BP}.tar.xz \ | ||
18 | file://0001-Fix-Makefile.am-altivec-logic.patch \ | ||
19 | " | ||
20 | |||
21 | SRC_URI[md5sum] = "13b5c214cee8373464d3d65dee362cdd" | ||
22 | SRC_URI[sha256sum] = "fa2d64aac1f77e31dfbb270aeb08f5b32e27036a52ad15e69a77e309528010dc" | ||
23 | |||
24 | inherit autotools-brokensep gettext | ||
25 | |||
26 | EXTRA_OECONF = "--disable-oggtest \ | ||
27 | --with-ogg-libraries=${STAGING_LIBDIR} \ | ||
28 | --with-ogg-includes=${STAGING_INCDIR} \ | ||
29 | --disable-xmms-plugin \ | ||
30 | --without-libiconv-prefix \ | ||
31 | " | ||
32 | |||
33 | EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "altivec", " --enable-altivec", " --disable-altivec", d)}" | ||
34 | EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "core2", " --enable-sse", "", d)}" | ||
35 | EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "corei7", " --enable-sse", "", d)}" | ||
36 | |||
37 | PACKAGES += "libflac libflac++ liboggflac liboggflac++" | ||
38 | FILES_${PN} = "${bindir}/*" | ||
39 | FILES_libflac = "${libdir}/libFLAC.so.*" | ||
40 | FILES_libflac++ = "${libdir}/libFLAC++.so.*" | ||
41 | FILES_liboggflac = "${libdir}/libOggFLAC.so.*" | ||
42 | FILES_liboggflac++ = "${libdir}/libOggFLAC++.so.*" | ||
43 | |||
diff --git a/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/configure-fix.patch b/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/configure-fix.patch new file mode 100644 index 0000000000..9ef6f7c4bf --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/configure-fix.patch | |||
@@ -0,0 +1,22 @@ | |||
1 | Disable yasm for libav when --disable-yasm | ||
2 | |||
3 | Upstream-Status: Inappropriate [configuration] | ||
4 | |||
5 | Signed-off-by: Shane Wang <shane.wang@intel.com> | ||
6 | |||
7 | diff -r f2f8f74c6e30 configure.ac | ||
8 | --- a/configure.ac Thu Dec 22 23:56:09 2011 +0800 | ||
9 | +++ b/configure.ac Thu Dec 22 23:57:37 2011 +0800 | ||
10 | @@ -325,6 +325,12 @@ | ||
11 | --enable-gpl" | ||
12 | fi | ||
13 | |||
14 | + AC_ARG_ENABLE(yasm, | ||
15 | + [AC_HELP_STRING([--disable-yasm], [disable use of yasm assembler])]) | ||
16 | + if test "x$enable_yasm" = "xno"; then | ||
17 | + embffmpeg_configure_args="$embffmpeg_configure_args --disable-yasm" | ||
18 | + fi | ||
19 | + | ||
20 | # if we are cross-compiling, tell ffmpeg so | ||
21 | target_os=`echo $host_os | sed 's/-gnu//'` | ||
22 | if test "x$cross_compiling" = xyes; then | ||
diff --git a/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/gst-ffmpeg-CVE-2013-3674.patch b/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/gst-ffmpeg-CVE-2013-3674.patch new file mode 100644 index 0000000000..a28404b072 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/gst-ffmpeg-CVE-2013-3674.patch | |||
@@ -0,0 +1,26 @@ | |||
1 | avcodec/cdgraphics: check buffer size before use | ||
2 | |||
3 | Fixes out of array accesses | ||
4 | |||
5 | Backported from:http://git.videolan.org/?p=ffmpeg.git;a=commit;h=ad002e1a13a8df934bd6cb2c84175a4780ab8942 | ||
6 | |||
7 | Upstream-status: Backport | ||
8 | |||
9 | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind | ||
10 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
11 | Signed-off-by: Ming Liu <ming.liu@windriver.com> | ||
12 | |||
13 | diff -urpN a/gst-libs/ext/libav/libavcodec/cdgraphics.c b/gst-libs/ext/libav/libavcodec/cdgraphics.c | ||
14 | --- a/gst-libs/ext/libav/libavcodec/cdgraphics.c 2013-07-18 13:17:08.399876575 +0800 | ||
15 | +++ b/gst-libs/ext/libav/libavcodec/cdgraphics.c 2013-07-18 13:18:05.880502267 +0800 | ||
16 | @@ -291,7 +291,9 @@ static int cdg_decode_frame(AVCodecConte | ||
17 | inst = bytestream_get_byte(&buf); | ||
18 | inst &= CDG_MASK; | ||
19 | buf += 2; /// skipping 2 unneeded bytes | ||
20 | - bytestream_get_buffer(&buf, cdg_data, buf_size - CDG_HEADER_SIZE); | ||
21 | + | ||
22 | + if (buf_size > CDG_HEADER_SIZE) | ||
23 | + bytestream_get_buffer(&buf, cdg_data, buf_size - CDG_HEADER_SIZE); | ||
24 | |||
25 | if ((command & CDG_MASK) == CDG_COMMAND) { | ||
26 | switch (inst) { | ||
diff --git a/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/h264_qpel_mmx.patch b/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/h264_qpel_mmx.patch new file mode 100644 index 0000000000..ade24dc06a --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/h264_qpel_mmx.patch | |||
@@ -0,0 +1,57 @@ | |||
1 | Backport http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=5f654897e325349dacf2546674e0510bb72ecb50;hp=250cebeb3b348c3da71f9972eb500d6005dc01f1 | ||
2 | |||
3 | Fixes these errors on x86 | ||
4 | |||
5 | libavcodec/x86/h264_qpel_mmx.c: Assembler messages: | ||
6 | libavcodec/x86/h264_qpel_mmx.c:1294: Error: operand type mismatch for `cmp' | ||
7 | libavcodec/x86/h264_qpel_mmx.c:1294: Error: operand type mismatch for `cmp' | ||
8 | libavcodec/x86/h264_qpel_mmx.c:1298: Error: operand type mismatch for `cmp' | ||
9 | libavcodec/x86/h264_qpel_mmx.c:1298: Error: operand type mismatch for `cmp' | ||
10 | libavcodec/x86/h264_qpel_mmx.c:964: Error: operand type mismatch for `cmp' | ||
11 | libavcodec/x86/h264_qpel_mmx.c:964: Error: operand type mismatch for `cmp' | ||
12 | libavcodec/x86/h264_qpel_mmx.c:964: Error: operand type mismatch for `cmp' | ||
13 | make[5]: *** [libavcodec/x86/dsputil_mmx.o] Error 1 | ||
14 | |||
15 | |||
16 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
17 | Upstream-Status: Backport | ||
18 | Index: gst-ffmpeg-0.10.13/gst-libs/ext/libav/libavcodec/x86/h264_qpel_mmx.c | ||
19 | =================================================================== | ||
20 | --- gst-ffmpeg-0.10.13.orig/gst-libs/ext/libav/libavcodec/x86/h264_qpel_mmx.c 2012-03-30 11:39:41.324522051 -0700 | ||
21 | +++ gst-ffmpeg-0.10.13/gst-libs/ext/libav/libavcodec/x86/h264_qpel_mmx.c 2012-03-30 11:54:08.152564075 -0700 | ||
22 | @@ -398,7 +398,7 @@ | ||
23 | "2: \n\t"\ | ||
24 | \ | ||
25 | : "+a"(src), "+c"(dst)\ | ||
26 | - : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "g"(h)\ | ||
27 | + : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "rm"(h)\ | ||
28 | : "memory"\ | ||
29 | );\ | ||
30 | src += 4-(h+5)*srcStride;\ | ||
31 | @@ -446,7 +446,7 @@ | ||
32 | QPEL_H264HV(%%mm3, %%mm4, %%mm5, %%mm0, %%mm1, %%mm2, 15*48)\ | ||
33 | "2: \n\t"\ | ||
34 | : "+a"(src)\ | ||
35 | - : "c"(tmp), "S"((x86_reg)srcStride), "g"(size)\ | ||
36 | + : "c"(tmp), "S"((x86_reg)srcStride), "rm"(size)\ | ||
37 | : "memory"\ | ||
38 | );\ | ||
39 | tmp += 4;\ | ||
40 | @@ -823,7 +823,7 @@ | ||
41 | "2: \n\t"\ | ||
42 | \ | ||
43 | : "+a"(src), "+c"(dst)\ | ||
44 | - : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "g"(h)\ | ||
45 | + : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "rm"(h)\ | ||
46 | : XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3", \ | ||
47 | "%xmm4", "%xmm5", "%xmm6", "%xmm7",)\ | ||
48 | "memory"\ | ||
49 | @@ -878,7 +878,7 @@ | ||
50 | QPEL_H264HV_XMM(%%xmm3, %%xmm4, %%xmm5, %%xmm0, %%xmm1, %%xmm2, 15*48) | ||
51 | "2: \n\t" | ||
52 | : "+a"(src) | ||
53 | - : "c"(tmp), "S"((x86_reg)srcStride), "g"(size) | ||
54 | + : "c"(tmp), "S"((x86_reg)srcStride), "rm"(size) | ||
55 | : XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3", | ||
56 | "%xmm4", "%xmm5", "%xmm6", "%xmm7",) | ||
57 | "memory" | ||
diff --git a/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/libav_e500mc.patch b/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/libav_e500mc.patch new file mode 100644 index 0000000000..eba4988031 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/libav_e500mc.patch | |||
@@ -0,0 +1,21 @@ | |||
1 | diff --git a/gst-libs/ext/libav/configure b/gst-libs/ext/libav/configure | ||
2 | index 8473069..4f74952 100755 | ||
3 | --- a/gst-libs/ext/libav/configure | ||
4 | +++ b/gst-libs/ext/libav/configure | ||
5 | Fix gst-ffmpeg build issues for libav on e500mc (fsl-p4080) | ||
6 | |||
7 | Upstream-Status: Backport | ||
8 | |||
9 | Signed-off-by: Yao Zhao <yao.zhao@windriver.com> | ||
10 | |||
11 | @@ -2210,6 +2210,10 @@ elif enabled ppc; then | ||
12 | cpuflags="-mcpu=cell" | ||
13 | enable ldbrx | ||
14 | ;; | ||
15 | + e500mc) | ||
16 | + cpuflags="-mcpu=e500mc" | ||
17 | + disable altivec | ||
18 | + ;; | ||
19 | e500v2) | ||
20 | cpuflags="-mcpu=8548 -mhard-float -mfloat-gprs=double" | ||
21 | disable altivec | ||
diff --git a/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/libav_e5500.patch b/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/libav_e5500.patch new file mode 100644 index 0000000000..d9ea2c29e0 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/libav_e5500.patch | |||
@@ -0,0 +1,19 @@ | |||
1 | libav: Add configs for ppc e5500 | ||
2 | |||
3 | Upstream-Status: Pending | ||
4 | |||
5 | Signed-off-by: Jesse Zhang <sen.zhang@windriver.com> | ||
6 | |||
7 | --- gst-ffmpeg-0.10.13/gst-libs/ext/libav/configure 2013-06-20 05:18:36.073104964 -0400 | ||
8 | +++ gst-ffmpeg-0.10.13/gst-libs/ext/libav/configure 2013-06-20 05:18:38.269104150 -0400 | ||
9 | @@ -2222,6 +2222,10 @@ | ||
10 | cpuflags="-mcpu=8540 -mhard-float" | ||
11 | disable altivec | ||
12 | ;; | ||
13 | + e5500) | ||
14 | + cpuflags="-mcpu=e5500 -mhard-float" | ||
15 | + disable altivec | ||
16 | + ;; | ||
17 | esac | ||
18 | |||
19 | elif enabled x86; then | ||
diff --git a/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/lower-rank.diff b/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/lower-rank.diff new file mode 100644 index 0000000000..5f08afe59a --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/lower-rank.diff | |||
@@ -0,0 +1,16 @@ | |||
1 | Lower the rank of ffmpeg plugin so codecs that hook into accelerated pieces (e.g. dsp or hw engines) can get picked over this | ||
2 | Derived from OE by Dongxiao Xu <dongxiao.xu@intel.com> | ||
3 | |||
4 | Upstream-Status: Inappropriate [embedded specific] | ||
5 | |||
6 | --- /tmp/gstffmpegdec.c 2009-03-05 09:31:15.000000000 +0100 | ||
7 | +++ gst-ffmpeg-0.10.6/ext/ffmpeg/gstffmpegdec.c 2009-03-05 09:33:09.000000000 +0100 | ||
8 | @@ -2588,7 +2588,7 @@ | ||
9 | case CODEC_ID_MSMPEG4V3: | ||
10 | case CODEC_ID_H264: | ||
11 | case CODEC_ID_COOK: | ||
12 | - rank = GST_RANK_PRIMARY; | ||
13 | + rank = GST_RANK_SECONDARY; | ||
14 | break; | ||
15 | case CODEC_ID_DVVIDEO: | ||
16 | /* we have a good dv decoder, fast on both ppc as well as x86. they say | ||
diff --git a/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.13.bb b/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.13.bb new file mode 100644 index 0000000000..e1257a2697 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.13.bb | |||
@@ -0,0 +1,56 @@ | |||
1 | SUMMARY = "FFmpeg-based GStreamer plug-in" | ||
2 | SECTION = "multimedia" | ||
3 | LICENSE = "GPLv2+ & LGPLv2+ & ( (GPLv2+ & LGPLv2.1+) | (GPLv3+ & LGPLv3+) )" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ | ||
5 | file://ext/libpostproc/gstpostproc.c;beginline=1;endline=18;md5=5896e445e41681324381f5869ee33d38 \ | ||
6 | file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605 \ | ||
7 | file://ext/ffmpeg/gstffmpeg.h;beginline=1;endline=18;md5=ff65467b0c53cdfa98d0684c1bc240a9 \ | ||
8 | file://gst-libs/ext/libav/LICENSE;md5=abc3b8cb02856aa7823bbbd162d16232 \ | ||
9 | file://gst-libs/ext/libav/COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ | ||
10 | file://gst-libs/ext/libav/COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \ | ||
11 | file://gst-libs/ext/libav/COPYING.LGPLv2.1;md5=e344c8fa836c3a41c4cbd79d7bd3a379 \ | ||
12 | file://gst-libs/ext/libav/COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02" | ||
13 | LICENSE_FLAGS = "commercial" | ||
14 | HOMEPAGE = "http://www.gstreamer.net/" | ||
15 | DEPENDS = "gstreamer gst-plugins-base zlib bzip2 yasm-native" | ||
16 | |||
17 | inherit autotools pkgconfig | ||
18 | |||
19 | SRC_URI = "http://gstreamer.freedesktop.org/src/${BPN}/${BPN}-${PV}.tar.bz2 \ | ||
20 | file://lower-rank.diff \ | ||
21 | file://configure-fix.patch \ | ||
22 | file://h264_qpel_mmx.patch \ | ||
23 | file://libav_e500mc.patch \ | ||
24 | file://libav_e5500.patch \ | ||
25 | file://gst-ffmpeg-CVE-2013-3674.patch \ | ||
26 | " | ||
27 | |||
28 | SRC_URI[md5sum] = "7f5beacaf1312db2db30a026b36888c4" | ||
29 | SRC_URI[sha256sum] = "76fca05b08e00134e3cb92fa347507f42cbd48ddb08ed3343a912def187fbb62" | ||
30 | |||
31 | PR = "r8" | ||
32 | |||
33 | GSTREAMER_DEBUG ?= "--disable-debug" | ||
34 | |||
35 | FFMPEG_EXTRA_CONFIGURE = "--with-ffmpeg-extra-configure" | ||
36 | # pass --cpu for powerpc. get cpu name by stripping "ppc" or "ppc64" | ||
37 | # from DEFAULTTUNE | ||
38 | FFMPEG_CPU_powerpc = "--cpu=${@d.getVar('DEFAULTTUNE')[3:]}" | ||
39 | FFMPEG_CPU_powerpc64 = "--cpu=${@d.getVar('DEFAULTTUNE')[5:]}" | ||
40 | FFMPEG_EXTRA_CONFIGURE_COMMON_ARG = "--target-os=linux ${FFMPEG_CPU} \ | ||
41 | --cc='${CC}' --as='${CC}' --ld='${CC}' --nm='${NM}' --ar='${AR}' \ | ||
42 | --ranlib='${RANLIB}' \ | ||
43 | ${GSTREAMER_DEBUG}" | ||
44 | FFMPEG_EXTRA_CONFIGURE_COMMON = \ | ||
45 | '${FFMPEG_EXTRA_CONFIGURE}="${FFMPEG_EXTRA_CONFIGURE_COMMON_ARG}"' | ||
46 | |||
47 | EXTRA_OECONF = "${FFMPEG_EXTRA_CONFIGURE_COMMON}" | ||
48 | |||
49 | PACKAGECONFIG ??= "external-libav" | ||
50 | PACKAGECONFIG[external-libav] = "--with-system-ffmpeg,,libav" | ||
51 | PACKAGECONFIG[orc] = "--enable-orc,--disable-orc,orc" | ||
52 | |||
53 | FILES_${PN} += "${libdir}/gstreamer-0.10/*.so" | ||
54 | FILES_${PN}-dbg += "${libdir}/gstreamer-0.10/.debug" | ||
55 | FILES_${PN}-dev += "${libdir}/gstreamer-0.10/*.la" | ||
56 | FILES_${PN}-staticdev += "${libdir}/gstreamer-0.10/*.a" | ||
diff --git a/meta/recipes-multimedia/gstreamer/gst-fluendo-mp3_0.10.19.bb b/meta/recipes-multimedia/gstreamer/gst-fluendo-mp3_0.10.19.bb new file mode 100644 index 0000000000..47dbc3492b --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gst-fluendo-mp3_0.10.19.bb | |||
@@ -0,0 +1,11 @@ | |||
1 | require gst-fluendo.inc | ||
2 | |||
3 | SUMMARY = "Fluendo closed-format mp3 GStreamer plug-in" | ||
4 | LICENSE = "MIT" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=259a43dd1c9854b71fc396f74699f4d2" | ||
6 | LICENSE_FLAGS = "commercial" | ||
7 | |||
8 | acpaths = "-I ${S}/common/m4 -I ${S}/m4" | ||
9 | |||
10 | SRC_URI[md5sum] = "5d95a9a216dd15bc5c00c9414061115c" | ||
11 | SRC_URI[sha256sum] = "30c79d24d8926f75dd4ef0f572942ce155ad541734b36a95591b9c0524dcc0f3" | ||
diff --git a/meta/recipes-multimedia/gstreamer/gst-fluendo-mpegdemux_0.10.72.bb b/meta/recipes-multimedia/gstreamer/gst-fluendo-mpegdemux_0.10.72.bb new file mode 100644 index 0000000000..f79015403b --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gst-fluendo-mpegdemux_0.10.72.bb | |||
@@ -0,0 +1,12 @@ | |||
1 | require gst-fluendo.inc | ||
2 | |||
3 | SUMMARY = "Fluendo closed-format mpeg video GStreamer plug-in" | ||
4 | LICENSE = "MPLv1.1" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=be282f1c3cc9a98cc0dc5c2b25dfc510 \ | ||
6 | file://src/gstmpegdemux.h;beginline=1;endline=19;md5=a9e90033f59897b91664d9f2a2ff01dd" | ||
7 | LICENSE_FLAGS = "commercial" | ||
8 | |||
9 | acpaths = "-I ${S}/common/m4 -I ${S}/m4" | ||
10 | |||
11 | SRC_URI[md5sum] = "df726579404af65b9536428661ab4322" | ||
12 | SRC_URI[sha256sum] = "a9784bc16352d0fb73de81b9c17142609e8bede46f6d9b881fc3d19673954abf" | ||
diff --git a/meta/recipes-multimedia/gstreamer/gst-fluendo.inc b/meta/recipes-multimedia/gstreamer/gst-fluendo.inc new file mode 100644 index 0000000000..c7e6595232 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gst-fluendo.inc | |||
@@ -0,0 +1,15 @@ | |||
1 | SUMMARY = "Fluendo closed-format GStreamer plug-in" | ||
2 | SECTION = "multimedia" | ||
3 | HOMEPAGE = "http://www.fluendo.com/resources/source-plugins.php" | ||
4 | DEPENDS = "gstreamer zlib" | ||
5 | |||
6 | inherit autotools pkgconfig | ||
7 | |||
8 | SRC_URI = "http://core.fluendo.com/gstreamer/src/${BPN}/${BPN}-${PV}.tar.bz2" | ||
9 | |||
10 | FILES_${PN} += "${libdir}/gstreamer-0.10/*.so" | ||
11 | FILES_${PN}-dbg += "${libdir}/gstreamer-0.10/.debug" | ||
12 | FILES_${PN}-dev += "${libdir}/gstreamer-0.10/*.la ${libdir}/gstreamer-0.10/*.a" | ||
13 | |||
14 | GSTREAMER_DEBUG ?= "--disable-debug" | ||
15 | EXTRA_OECONF = "${GSTREAMER_DEBUG} --disable-valgrind" | ||
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..9fb2f8fbb3 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gst-meta-base_0.10.bb | |||
@@ -0,0 +1,68 @@ | |||
1 | SUMMARY = "GStreamer package groups" | ||
2 | LICENSE = "MIT" | ||
3 | DEPENDS = "gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad" | ||
4 | LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \ | ||
5 | file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | ||
6 | |||
7 | |||
8 | PR = "r13" | ||
9 | |||
10 | PACKAGES = "\ | ||
11 | gst-meta-base \ | ||
12 | gst-meta-x11-base \ | ||
13 | gst-meta-audio \ | ||
14 | gst-meta-debug \ | ||
15 | gst-meta-video" | ||
16 | |||
17 | ALLOW_EMPTY_gst-meta-base = "1" | ||
18 | ALLOW_EMPTY_gst-meta-x11-base = "1" | ||
19 | ALLOW_EMPTY_gst-meta-audio = "1" | ||
20 | ALLOW_EMPTY_gst-meta-debug = "1" | ||
21 | ALLOW_EMPTY_gst-meta-video = "1" | ||
22 | |||
23 | RDEPENDS_gst-meta-base = "\ | ||
24 | ${@base_contains('DISTRO_FEATURES', 'x11', 'gst-meta-x11-base', '', d)} \ | ||
25 | gstreamer \ | ||
26 | gst-plugins-base-playbin \ | ||
27 | gst-plugins-base-decodebin \ | ||
28 | gst-plugins-base-decodebin2 \ | ||
29 | gst-plugins-base-gio \ | ||
30 | gst-plugins-base-alsa \ | ||
31 | gst-plugins-base-volume \ | ||
32 | gst-plugins-base-audioconvert \ | ||
33 | gst-plugins-base-audioresample \ | ||
34 | gst-plugins-base-typefindfunctions \ | ||
35 | gst-plugins-base-videoscale \ | ||
36 | gst-plugins-base-ffmpegcolorspace \ | ||
37 | gst-plugins-good-autodetect \ | ||
38 | gst-plugins-good-souphttpsrc" | ||
39 | |||
40 | RRECOMMENDS_gst-meta-x11-base = "\ | ||
41 | gst-plugins-base-ximagesink \ | ||
42 | gst-plugins-base-xvimagesink" | ||
43 | |||
44 | RDEPENDS_gst-meta-audio = "\ | ||
45 | gst-meta-base \ | ||
46 | gst-plugins-base-vorbis \ | ||
47 | gst-plugins-base-ogg \ | ||
48 | gst-plugins-good-wavparse \ | ||
49 | gst-plugins-good-flac \ | ||
50 | ${COMMERCIAL_AUDIO_PLUGINS}" | ||
51 | |||
52 | |||
53 | RDEPENDS_gst-meta-debug = "\ | ||
54 | gst-meta-base \ | ||
55 | gst-plugins-good-debug \ | ||
56 | gst-plugins-base-audiotestsrc \ | ||
57 | gst-plugins-base-videotestsrc" | ||
58 | |||
59 | |||
60 | RDEPENDS_gst-meta-video = "\ | ||
61 | gst-meta-base \ | ||
62 | gst-plugins-good-avi \ | ||
63 | gst-plugins-good-matroska \ | ||
64 | gst-plugins-base-theora \ | ||
65 | ${COMMERCIAL_VIDEO_PLUGINS}" | ||
66 | |||
67 | RRECOMMENDS_gst-meta-video = "\ | ||
68 | gst-meta-audio" | ||
diff --git a/meta/recipes-multimedia/gstreamer/gst-openmax/gcc_4.6.patch b/meta/recipes-multimedia/gstreamer/gst-openmax/gcc_4.6.patch new file mode 100644 index 0000000000..57a63b5a0f --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gst-openmax/gcc_4.6.patch | |||
@@ -0,0 +1,18 @@ | |||
1 | Upstream-Status: Pending | ||
2 | |||
3 | Signed-off-by: Saul Wold <sgw@linux.intel.com> | ||
4 | |||
5 | Index: gst-openmax-0.10.1/omx/gstomx.c | ||
6 | =================================================================== | ||
7 | --- gst-openmax-0.10.1.orig/omx/gstomx.c 2010-09-30 18:00:24.000000000 -0700 | ||
8 | +++ gst-openmax-0.10.1/omx/gstomx.c 2011-05-17 23:08:08.794535872 -0700 | ||
9 | @@ -238,7 +238,8 @@ | ||
10 | const gchar *element_name = gst_structure_nth_field_name (element_table, i); | ||
11 | GstStructure *element = get_element_entry (element_name); | ||
12 | const gchar *type_name, *parent_type_name; | ||
13 | - const gchar *component_name, *component_role, *library_name; | ||
14 | + const gchar *component_name, *library_name; | ||
15 | + const gchar __attribute__((__unused__)) *component_role; | ||
16 | GType type; | ||
17 | gint rank; | ||
18 | |||
diff --git a/meta/recipes-multimedia/gstreamer/gst-openmax_0.10.1.bb b/meta/recipes-multimedia/gstreamer/gst-openmax_0.10.1.bb new file mode 100644 index 0000000000..ea3b66ba8c --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gst-openmax_0.10.1.bb | |||
@@ -0,0 +1,34 @@ | |||
1 | SUMMARY = "GStreamer plug-in for communication with OpenMAX IL components" | ||
2 | DESCRIPTION = "GstOpenMAX is a GStreamer plug-in that allows \ | ||
3 | communication with OpenMAX Integration Layer (IL) components. OpenMAX \ | ||
4 | IL is an industry standard that provides an abstraction layer for \ | ||
5 | computer graphics, video, and sound routines." | ||
6 | HOMEPAGE = "http://freedesktop.org/wiki/GstOpenMAX" | ||
7 | DEPENDS = "gstreamer" | ||
8 | RDEPENDS_${PN} = "libomxil" | ||
9 | LICENSE = "LGPLv2.1" | ||
10 | LICENSE_FLAGS = "commercial" | ||
11 | LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24 \ | ||
12 | file://util/sem.h;beginline=1;endline=20;md5=accce5550d5583b839b441a0623f09fc" | ||
13 | |||
14 | SRC_URI = "http://gstreamer.freedesktop.org/src/gst-openmax/gst-openmax-${PV}.tar.bz2 \ | ||
15 | file://gcc_4.6.patch \ | ||
16 | " | ||
17 | |||
18 | inherit autotools | ||
19 | |||
20 | # Tell configure that this isn't a development snapshot so we don't want | ||
21 | # -Werror (hopefully fixed in 0.10.2) | ||
22 | export GST_CVS="no" | ||
23 | |||
24 | EXTRA_OECONF += "--disable-valgrind" | ||
25 | |||
26 | PR = "r4" | ||
27 | |||
28 | FILES_${PN} += "${libdir}/gstreamer-0.10/libgstomx.so" | ||
29 | FILES_${PN}-dev += "${libdir}/gstreamer-0.10/libgstomx.la" | ||
30 | FILES_${PN}-staticdev += "${libdir}/gstreamer-0.10/libgstomx.a" | ||
31 | FILES_${PN}-dbg += "${libdir}/gstreamer-0.10/.debug/" | ||
32 | |||
33 | SRC_URI[md5sum] = "4d0370bfe99dea20918c84347abadb4e" | ||
34 | SRC_URI[sha256sum] = "9074d5a0591995133d19cfb15144f19664f902c1623f996595695cf2c2070e1f" | ||
diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-bad_0.10.23.bb b/meta/recipes-multimedia/gstreamer/gst-plugins-bad_0.10.23.bb new file mode 100644 index 0000000000..dceb12cf2a --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gst-plugins-bad_0.10.23.bb | |||
@@ -0,0 +1,46 @@ | |||
1 | require gst-plugins.inc | ||
2 | |||
3 | LICENSE = "GPLv2+ & LGPLv2+ & LGPLv2.1+ " | ||
4 | LIC_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/tta/crc32.h;beginline=12;endline=29;md5=71a904d99ce7ae0c1cf129891b98145c" | ||
8 | |||
9 | DEPENDS += "gst-plugins-base" | ||
10 | |||
11 | PR = "r4" | ||
12 | |||
13 | inherit gettext gsettings | ||
14 | |||
15 | EXTRA_OECONF += "--disable-experimental \ | ||
16 | --disable-sdl --disable-cdaudio --disable-directfb \ | ||
17 | --disable-vdpau --disable-apexsink" | ||
18 | |||
19 | PACKAGECONFIG ??= "bzip curl \ | ||
20 | ${@base_contains('DISTRO_FEATURES', 'x11', 'rsvg', '', d)}" | ||
21 | |||
22 | PACKAGECONFIG[bzip] = "--enable-bz2,--disable-bz2,bzip2" | ||
23 | PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl" | ||
24 | PACKAGECONFIG[rsvg] = "--enable-rsvg,--disable-rsvg,librsvg," | ||
25 | PACKAGECONFIG[orc] = "--enable-orc,--disable-orc,orc" | ||
26 | PACKAGECONFIG[neon] = "--enable-neon,--disable-neon,neon" | ||
27 | PACKAGECONFIG[mms] = "--enable-libmms,--disable-libmms,libmms" | ||
28 | PACKAGECONFIG[cog] = "--enable-cog,--disable-cog,libpng" | ||
29 | PACKAGECONFIG[faad] = "--enable-faad,--disable-faad,faad2" | ||
30 | PACKAGECONFIG[jp2k] = "--enable-jp2k,--disable-jp2k,jasper" | ||
31 | PACKAGECONFIG[modplug] = "--enable-modplug,--disable-modplug,libmodplug" | ||
32 | PACKAGECONFIG[opus] = "--enable-opus,--disable-opus,libopus" | ||
33 | PACKAGECONFIG[sndfile] = "--enable-sndfile,--disable-sndfile,libsndfile1" | ||
34 | PACKAGECONFIG[vp8] = "--enable-vp8,--disable-vp8,libvpx" | ||
35 | PACKAGECONFIG[ass] = "--enable-assrender,--disable-assrender,libass" | ||
36 | PACKAGECONFIG[openal] = "--enable-openal,--disable-openal,openal-soft" | ||
37 | |||
38 | ARM_INSTRUCTION_SET = "arm" | ||
39 | |||
40 | do_configure_prepend() { | ||
41 | # This m4 file contains nastiness which conflicts with libtool 2.2.2 | ||
42 | rm ${S}/m4/lib-link.m4 || true | ||
43 | } | ||
44 | |||
45 | SRC_URI[md5sum] = "fcb09798114461955260e4d940db5987" | ||
46 | SRC_URI[sha256sum] = "0eae7d1a1357ae8377fded6a1b42e663887beabe0e6cc336e2ef9ada42e11491" | ||
diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-base-0.10.36/configure.ac-fix-subparse-plugin.patch b/meta/recipes-multimedia/gstreamer/gst-plugins-base-0.10.36/configure.ac-fix-subparse-plugin.patch new file mode 100644 index 0000000000..b8602c80d7 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gst-plugins-base-0.10.36/configure.ac-fix-subparse-plugin.patch | |||
@@ -0,0 +1,27 @@ | |||
1 | Upstream-Status: Submitted [similar patch by other author, bugzilla] | ||
2 | Bugtracker-URL: https://bugzilla.gnome.org/show_bug.cgi?id=663600 | ||
3 | |||
4 | Prepend PKG_CONFIG_SYSROOT to includedir, so configure doesn't | ||
5 | search for gstconfig.h in /usr/include. | ||
6 | |||
7 | Signed-off-by: Andreas Oberritter <obi@opendreambox.org> | ||
8 | --- | ||
9 | configure.ac | 2 +- | ||
10 | 1 files changed, 1 insertions(+), 1 deletions(-) | ||
11 | |||
12 | diff --git a/configure.ac b/configure.ac | ||
13 | index 1901bcf..460fb0a 100644 | ||
14 | --- a/configure.ac | ||
15 | +++ b/configure.ac | ||
16 | @@ -435,7 +435,7 @@ AG_GST_CHECK_PLUGIN(volume) | ||
17 | dnl check for gstreamer core features (subsystems) | ||
18 | dnl FIXME: this assumes srcdir == builddir for uninstalled setups | ||
19 | GST_CONFIGPATH=`$PKG_CONFIG --variable=includedir gstreamer-0.10`"/gst/gstconfig.h" | ||
20 | -AG_GST_PARSE_SUBSYSTEM_DISABLES($GST_CONFIGPATH) | ||
21 | +AG_GST_PARSE_SUBSYSTEM_DISABLES($PKG_CONFIG_SYSROOT_DIR$GST_CONFIGPATH) | ||
22 | AM_CONDITIONAL(USE_XML, test $GST_DISABLE_XML != "1") | ||
23 | |||
24 | dnl disable plug-ins that require libxml2's HTML support if it is not available | ||
25 | -- | ||
26 | 1.7.5.4 | ||
27 | |||
diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-base-0.10.36/gst-plugins-base-tremor.patch b/meta/recipes-multimedia/gstreamer/gst-plugins-base-0.10.36/gst-plugins-base-tremor.patch new file mode 100644 index 0000000000..99dbc9d52e --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gst-plugins-base-0.10.36/gst-plugins-base-tremor.patch | |||
@@ -0,0 +1,20 @@ | |||
1 | Remove -DTREMOR option since Tremor has dropped its internal | ||
2 | libogg2, and gst-plugins-base has dependency on that. | ||
3 | |||
4 | Upstream-Status: Inappropriate [configuration] | ||
5 | |||
6 | Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> | ||
7 | Signed-off-by: Shane Wang <shane.wang@intel.com> | ||
8 | |||
9 | diff -r 70065fb4e085 ext/vorbis/Makefile.am | ||
10 | --- a/ext/vorbis/Makefile.am Tue Mar 13 16:36:56 2012 +0800 | ||
11 | +++ b/ext/vorbis/Makefile.am Tue Mar 13 16:38:53 2012 +0800 | ||
12 | @@ -30,7 +30,7 @@ | ||
13 | gstvorbisdec.c gstvorbisdeclib.c gstvorbiscommon.c | ||
14 | libgstivorbisdec_la_CFLAGS = \ | ||
15 | $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) \ | ||
16 | - -DTREMOR $(IVORBIS_CFLAGS) | ||
17 | + $(IVORBIS_CFLAGS) | ||
18 | libgstivorbisdec_la_LIBADD = \ | ||
19 | $(top_builddir)/gst-libs/gst/tag/libgsttag-@GST_MAJORMINOR@.la \ | ||
20 | $(top_builddir)/gst-libs/gst/audio/libgstaudio-@GST_MAJORMINOR@.la \ | ||
diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-base_0.10.36.bb b/meta/recipes-multimedia/gstreamer/gst-plugins-base_0.10.36.bb new file mode 100644 index 0000000000..53cc55cc26 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gst-plugins-base_0.10.36.bb | |||
@@ -0,0 +1,35 @@ | |||
1 | require gst-plugins.inc | ||
2 | |||
3 | LICENSE = "GPLv2+ & LGPLv2+" | ||
4 | LIC_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 | |||
9 | DEPENDS += "alsa-lib liboil libogg libvorbis libtheora util-linux tremor glib-2.0-native" | ||
10 | |||
11 | SRC_URI += "file://gst-plugins-base-tremor.patch \ | ||
12 | file://configure.ac-fix-subparse-plugin.patch" | ||
13 | |||
14 | SRC_URI[md5sum] = "776c73883e567f67b9c4a2847d8d041a" | ||
15 | SRC_URI[sha256sum] = "2cd3b0fa8e9b595db8f514ef7c2bdbcd639a0d63d154c00f8c9b609321f49976" | ||
16 | |||
17 | PR = "r8" | ||
18 | |||
19 | inherit gettext | ||
20 | |||
21 | EXTRA_OECONF += "--disable-freetypetest" | ||
22 | |||
23 | PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}" | ||
24 | |||
25 | PACKAGECONFIG[gnomevfs] = "--enable-gnome_vfs,--disable-gnome_vfs,gnome-vfs" | ||
26 | PACKAGECONFIG[orc] = "--enable-orc,--disable-orc,orc" | ||
27 | PACKAGECONFIG[pango] = "--enable-pango,--disable-pango,pango" | ||
28 | PACKAGECONFIG[x11] = "--enable-x --enable-xvideo,--disable-x --disable-xvideo,virtual/libx11 libxv libsm libice" | ||
29 | |||
30 | do_configure_prepend() { | ||
31 | # This m4 file contains nastiness which conflicts with libtool 2.2.2 | ||
32 | rm -f ${S}/m4/lib-link.m4 | ||
33 | } | ||
34 | |||
35 | FILES_${PN} += "${datadir}/${BPN}" | ||
diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-gl/0001-conditional-gl-framebuffer-undefined-use.patch b/meta/recipes-multimedia/gstreamer/gst-plugins-gl/0001-conditional-gl-framebuffer-undefined-use.patch new file mode 100644 index 0000000000..bc2f88b241 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gst-plugins-gl/0001-conditional-gl-framebuffer-undefined-use.patch | |||
@@ -0,0 +1,35 @@ | |||
1 | From 14d51cbefef19737e7ab2b6818ee1d3bdb248d12 Mon Sep 17 00:00:00 2001 | ||
2 | From: Jeremy Stashluk <jstashluk@dekaresearch.com> | ||
3 | Date: Wed, 6 Feb 2013 09:59:48 -0500 | ||
4 | Subject: [PATCH] conditional gl framebuffer undefined use | ||
5 | |||
6 | The OpenGL extension GL_ARB_framebuffer_object defines the macro | ||
7 | GL_FRAMEBUFFER_UNDEFINED. The macro will only need to map to an error | ||
8 | string if the extension provides functions that might return the macro. | ||
9 | |||
10 | Upstream-Status: Pending | ||
11 | |||
12 | Signed-off-by: Jeremy Stashluk <jstashluk@dekaresearch.com> | ||
13 | --- | ||
14 | gst-libs/gst/gl/gstgldisplay.c | 2 ++ | ||
15 | 1 file changed, 2 insertions(+) | ||
16 | |||
17 | diff --git a/gst-libs/gst/gl/gstgldisplay.c b/gst-libs/gst/gl/gstgldisplay.c | ||
18 | index 3ed0b71..64c6c2c 100644 | ||
19 | --- a/gst-libs/gst/gl/gstgldisplay.c | ||
20 | +++ b/gst-libs/gst/gl/gstgldisplay.c | ||
21 | @@ -2177,9 +2177,11 @@ gst_gl_display_check_framebuffer_status (void) | ||
22 | GST_ERROR ("GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS"); | ||
23 | break; | ||
24 | |||
25 | +#if defined(GL_ARB_framebuffer_object) | ||
26 | case GL_FRAMEBUFFER_UNDEFINED: | ||
27 | GST_ERROR ("GL_FRAMEBUFFER_UNDEFINED"); | ||
28 | break; | ||
29 | +#endif | ||
30 | |||
31 | default: | ||
32 | GST_ERROR ("General FBO error"); | ||
33 | -- | ||
34 | 1.7.9.5 | ||
35 | |||
diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-gl_0.10.3.bb b/meta/recipes-multimedia/gstreamer/gst-plugins-gl_0.10.3.bb new file mode 100644 index 0000000000..90efbcc025 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gst-plugins-gl_0.10.3.bb | |||
@@ -0,0 +1,25 @@ | |||
1 | require recipes-multimedia/gstreamer/gst-plugins.inc | ||
2 | |||
3 | LICENSE = "GPLv2+ & LGPLv2+ & LGPLv2.1+ " | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605" | ||
5 | |||
6 | SRC_URI[md5sum] = "ac70ede13f79978d56eaed8abaa3c938" | ||
7 | SRC_URI[sha256sum] = "48340b6a4b8abce16344a7bc33e74a94fdcce4f57ef6342cdf2f941c429bf210" | ||
8 | |||
9 | SRC_URI += " file://0001-conditional-gl-framebuffer-undefined-use.patch" | ||
10 | |||
11 | DEPENDS += "gst-plugins-base virtual/libgles2 virtual/egl jpeg libpng glew" | ||
12 | |||
13 | PR = "r4" | ||
14 | |||
15 | inherit gettext | ||
16 | |||
17 | # This package doesn't have a configure switch for EGL or GL, so forcibly tell | ||
18 | # configure that it can't find gl.h so it always uses EGL. If/when we have some | ||
19 | # way for machines to specify their preferred GL flavour this can be | ||
20 | # automatically adapted. | ||
21 | EXTRA_OECONF += "ac_cv_header_GL_gl_h=no" | ||
22 | |||
23 | ALLOW_EMPTY_${PN} = "1" | ||
24 | ALLOW_EMPTY_${PN}-apps = "1" | ||
25 | ALLOW_EMPTY_${PN}-glib = "1" | ||
diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-good-0.10.31/0001-v4l2-fix-build-with-recent-kernels-the-v4l2_buffer-i.patch b/meta/recipes-multimedia/gstreamer/gst-plugins-good-0.10.31/0001-v4l2-fix-build-with-recent-kernels-the-v4l2_buffer-i.patch new file mode 100644 index 0000000000..6456d3c6c2 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gst-plugins-good-0.10.31/0001-v4l2-fix-build-with-recent-kernels-the-v4l2_buffer-i.patch | |||
@@ -0,0 +1,33 @@ | |||
1 | From 12d18fe4e98e7c232d59b56d529a0521f293fe6d Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> | ||
3 | Date: Wed, 5 Sep 2012 18:54:42 +0200 | ||
4 | Subject: [PATCH] v4l2: fix build with recent kernels, the v4l2_buffer input | ||
5 | field was removed | ||
6 | MIME-Version: 1.0 | ||
7 | Content-Type: text/plain; charset=UTF-8 | ||
8 | Content-Transfer-Encoding: 8bit | ||
9 | |||
10 | Upstream-Status: Backport | ||
11 | |||
12 | [1] http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=9f2aa8d47f835ea155aaf635f618c0fc1ca87012 | ||
13 | |||
14 | Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> | ||
15 | --- | ||
16 | sys/v4l2/gstv4l2bufferpool.c | 1 - | ||
17 | 1 files changed, 0 insertions(+), 1 deletions(-) | ||
18 | |||
19 | diff --git a/sys/v4l2/gstv4l2bufferpool.c b/sys/v4l2/gstv4l2bufferpool.c | ||
20 | index b81c6a4..51cc0ce 100644 | ||
21 | --- a/sys/v4l2/gstv4l2bufferpool.c | ||
22 | +++ b/sys/v4l2/gstv4l2bufferpool.c | ||
23 | @@ -181,7 +181,6 @@ gst_v4l2_buffer_new (GstV4l2BufferPool * pool, guint index, GstCaps * caps) | ||
24 | GST_LOG_OBJECT (pool->v4l2elem, " MMAP offset: %u", | ||
25 | ret->vbuffer.m.offset); | ||
26 | GST_LOG_OBJECT (pool->v4l2elem, " length: %u", ret->vbuffer.length); | ||
27 | - GST_LOG_OBJECT (pool->v4l2elem, " input: %u", ret->vbuffer.input); | ||
28 | |||
29 | data = (guint8 *) v4l2_mmap (0, ret->vbuffer.length, | ||
30 | PROT_READ | PROT_WRITE, MAP_SHARED, pool->video_fd, | ||
31 | -- | ||
32 | 1.7.6.5 | ||
33 | |||
diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-good-0.10.31/0001-v4l2_calls-define-V4L2_CID_HCENTER-and-V4L2_CID_VCEN.patch b/meta/recipes-multimedia/gstreamer/gst-plugins-good-0.10.31/0001-v4l2_calls-define-V4L2_CID_HCENTER-and-V4L2_CID_VCEN.patch new file mode 100644 index 0000000000..bd0de583a5 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gst-plugins-good-0.10.31/0001-v4l2_calls-define-V4L2_CID_HCENTER-and-V4L2_CID_VCEN.patch | |||
@@ -0,0 +1,45 @@ | |||
1 | From ccb01de8096a32d86d47b0d92ec3416c57ee4d25 Mon Sep 17 00:00:00 2001 | ||
2 | From: Bruce Ashfield <bruce.ashfield@windriver.com> | ||
3 | Date: Thu, 22 Aug 2013 12:15:54 -0400 | ||
4 | Subject: [PATCH] v4l2_calls: define V4L2_CID_HCENTER and V4L2_CID_VCENTER | ||
5 | |||
6 | kernel commit 24b9f5017 [[media] V4L: Remove deprecated image centering controls] | ||
7 | removed the definitions of V4L2_CID_HCENTER and V4L2_CID_VCENTER after three | ||
8 | years of depreciation. | ||
9 | |||
10 | The ioctl values are still free, and the case statement which processess them | ||
11 | in v4l2 userspace falls through to the proper replacement. So in the short | ||
12 | term, we can explicitly define them using the old absolute values, and everything | ||
13 | will work. | ||
14 | |||
15 | Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> | ||
16 | --- | ||
17 | sys/v4l2/v4l2_calls.c | 9 +++++++-- | ||
18 | 1 file changed, 7 insertions(+), 2 deletions(-) | ||
19 | |||
20 | diff --git a/sys/v4l2/v4l2_calls.c b/sys/v4l2/v4l2_calls.c | ||
21 | index 309bfb6..3c64544 100644 | ||
22 | --- a/sys/v4l2/v4l2_calls.c | ||
23 | +++ b/sys/v4l2/v4l2_calls.c | ||
24 | @@ -54,11 +54,16 @@ | ||
25 | #include "gst/gst-i18n-plugin.h" | ||
26 | |||
27 | /* Those are ioctl calls */ | ||
28 | + | ||
29 | +/* V4L2_CID_HCENTER has been removed from the mainline kernel, but | ||
30 | + the ioctl space is still present. Since these values fall through | ||
31 | + to their replacement, it is safe (in the short term) to re-use the | ||
32 | + old values explictily */ | ||
33 | #ifndef V4L2_CID_HCENTER | ||
34 | -#define V4L2_CID_HCENTER V4L2_CID_HCENTER_DEPRECATED | ||
35 | +#define V4L2_CID_HCENTER V4L2_CID_BASE+22 | ||
36 | #endif | ||
37 | #ifndef V4L2_CID_VCENTER | ||
38 | -#define V4L2_CID_VCENTER V4L2_CID_VCENTER_DEPRECATED | ||
39 | +#define V4L2_CID_VCENTER V4L2_CID_BASE+23 | ||
40 | #endif | ||
41 | |||
42 | GST_DEBUG_CATEGORY_EXTERN (v4l2_debug); | ||
43 | -- | ||
44 | 1.7.10.4 | ||
45 | |||
diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.31.bb b/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.31.bb new file mode 100644 index 0000000000..e0443406a0 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.31.bb | |||
@@ -0,0 +1,39 @@ | |||
1 | require gst-plugins.inc | ||
2 | |||
3 | LICENSE = "GPLv2+ & LGPLv2.1+" | ||
4 | LIC_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 | |||
8 | PR = "r8" | ||
9 | |||
10 | PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)} jpeg" | ||
11 | PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio" | ||
12 | PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack" | ||
13 | PACKAGECONFIG[jpeg] = "--enable-jpeg,--disable-jpeg,jpeg" | ||
14 | PACKAGECONFIG[wavpack] = "--enable-wavpack,--disable-wavpack,wavpack" | ||
15 | PACKAGECONFIG[gdkpixbuf] = "--enable-gdk_pixbuf,--disable-gdk_pixbuf,gdk-pixbuf" | ||
16 | PACKAGECONFIG[v4l] = "--with-libv4l2,--without-libv4l2,libv4l" | ||
17 | PACKAGECONFIG[bzip2] = "--enable-bz2,--disable-bz2,bzip2" | ||
18 | PACKAGECONFIG[orc] = "--enable-orc,--disable-orc,orc" | ||
19 | |||
20 | DEPENDS += "gst-plugins-base gconf cairo libpng zlib libid3tag flac \ | ||
21 | speex libsoup-2.4" | ||
22 | |||
23 | inherit gettext gconf | ||
24 | |||
25 | SRC_URI += "file://0001-v4l2-fix-build-with-recent-kernels-the-v4l2_buffer-i.patch" | ||
26 | SRC_URI += "file://0001-v4l2_calls-define-V4L2_CID_HCENTER-and-V4L2_CID_VCEN.patch" | ||
27 | |||
28 | EXTRA_OECONF += "--disable-aalib --disable-esd --disable-shout2 --disable-libcaca --disable-hal \ | ||
29 | --disable-examples --disable-taglib" | ||
30 | |||
31 | do_configure_prepend() { | ||
32 | # This m4 file contains nastiness which conflicts with libtool 2.2.2 | ||
33 | rm ${S}/m4/lib-link.m4 || true | ||
34 | } | ||
35 | |||
36 | SRC_URI[md5sum] = "24f98a294a2b521e1b29412bdadae2e6" | ||
37 | SRC_URI[sha256sum] = "7e27840e40a7932ef2dc032d7201f9f41afcaf0b437daf5d1d44dc96d9e35ac6" | ||
38 | |||
39 | FILES_${PN}-gconfelements += "${sysconfdir}/gconf/schemas/gstreamer-0.10.schemas" | ||
diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-package.inc b/meta/recipes-multimedia/gstreamer/gst-plugins-package.inc new file mode 100644 index 0000000000..0503b34ea3 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gst-plugins-package.inc | |||
@@ -0,0 +1,56 @@ | |||
1 | PACKAGESPLITFUNCS_prepend = " split_gstreamer10_packages " | ||
2 | PACKAGESPLITFUNCS_append = " set_metapkg_rdepends " | ||
3 | |||
4 | python split_gstreamer10_packages () { | ||
5 | gst_libdir = d.expand('${libdir}/gstreamer-${LIBV}') | ||
6 | postinst = d.getVar('plugin_postinst', True) | ||
7 | glibdir = d.getVar('libdir', True) | ||
8 | |||
9 | do_split_packages(d, glibdir, '^lib(.*)\.so\.*', 'lib%s', 'gstreamer %s library', extra_depends='', allow_links=True) | ||
10 | do_split_packages(d, gst_libdir, 'libgst(.*)\.so$', d.expand('${PN}-%s'), 'GStreamer plugin for %s', postinst=postinst, extra_depends=d.expand('${PN}')) | ||
11 | do_split_packages(d, gst_libdir, 'libgst(.*)\.la$', d.expand('${PN}-%s-dev'), 'GStreamer plugin for %s (development files)', extra_depends=d.expand('${PN}-dev')) | ||
12 | do_split_packages(d, gst_libdir, 'libgst(.*)\.a$', d.expand('${PN}-%s-staticdev'), 'GStreamer plugin for %s (static development files)', extra_depends=d.expand('${PN}-staticdev')) | ||
13 | } | ||
14 | |||
15 | python set_metapkg_rdepends () { | ||
16 | import os | ||
17 | |||
18 | pn = d.getVar('PN', True) | ||
19 | metapkg = pn + '-meta' | ||
20 | d.setVar('ALLOW_EMPTY_' + metapkg, "1") | ||
21 | d.setVar('FILES_' + metapkg, "") | ||
22 | blacklist = [ pn, pn + '-locale', pn + '-dev', pn + '-dbg', pn + '-doc', pn + '-meta' ] | ||
23 | metapkg_rdepends = [] | ||
24 | packages = d.getVar('PACKAGES', True).split() | ||
25 | pkgdest = d.getVar('PKGDEST', True) | ||
26 | for pkg in packages[1:]: | ||
27 | if not pkg in blacklist and not pkg in metapkg_rdepends and not pkg.endswith('-dev') and not pkg.endswith('-dbg') and not pkg.count('locale') and not pkg.count('-staticdev'): | ||
28 | # See if the package is empty by looking at the contents of its PKGDEST subdirectory. | ||
29 | # If this subdirectory is empty, then the package is. | ||
30 | # Empty packages do not get added to the meta package's RDEPENDS | ||
31 | pkgdir = os.path.join(pkgdest, pkg) | ||
32 | if os.path.exists(pkgdir): | ||
33 | dir_contents = os.listdir(pkgdir) or [] | ||
34 | else: | ||
35 | dir_contents = [] | ||
36 | is_empty = len(dir_contents) == 0 | ||
37 | if not is_empty: | ||
38 | metapkg_rdepends.append(pkg) | ||
39 | d.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends)) | ||
40 | d.setVar('DESCRIPTION_' + metapkg, pn + ' meta package') | ||
41 | } | ||
42 | |||
43 | # metapkg has runtime dependency on PN | ||
44 | # each plugin depends on PN, plugin-dev on PN-dev, plugin-staticdev on PN-staticdev | ||
45 | # so we need them even when empty (like in gst-plugins-good case) | ||
46 | ALLOW_EMPTY_${PN} = "1" | ||
47 | ALLOW_EMPTY_${PN}-dev = "1" | ||
48 | ALLOW_EMPTY_${PN}-staticdev = "1" | ||
49 | |||
50 | PACKAGES += "${PN}-apps ${PN}-meta ${PN}-glib" | ||
51 | FILES_${PN}-apps = "${bindir}" | ||
52 | |||
53 | FILES_${PN} = "${datadir}/gstreamer-${LIBV}" | ||
54 | FILES_${PN}-dbg += "${libdir}/gstreamer-${LIBV}/.debug" | ||
55 | FILES_${PN}-glib = "${datadir}/glib-2.0" | ||
56 | |||
diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-ugly_0.10.19.bb b/meta/recipes-multimedia/gstreamer/gst-plugins-ugly_0.10.19.bb new file mode 100644 index 0000000000..2fdf03f348 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gst-plugins-ugly_0.10.19.bb | |||
@@ -0,0 +1,29 @@ | |||
1 | require gst-plugins.inc | ||
2 | |||
3 | LICENSE = "GPLv2+ & LGPLv2.1+ & LGPLv2+" | ||
4 | LICENSE_FLAGS = "commercial" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \ | ||
6 | file://gst/synaesthesia/synaescope.h;beginline=1;endline=20;md5=99f301df7b80490c6ff8305fcc712838 \ | ||
7 | file://tests/check/elements/xingmux.c;beginline=1;endline=21;md5=4c771b8af188724855cb99cadd390068 \ | ||
8 | file://gst/mpegstream/gstmpegparse.h;beginline=1;endline=18;md5=ff65467b0c53cdfa98d0684c1bc240a9" | ||
9 | |||
10 | DEPENDS += "gst-plugins-base libid3tag libmad mpeg2dec liba52 lame" | ||
11 | PR = "r3" | ||
12 | |||
13 | inherit gettext | ||
14 | |||
15 | EXTRA_OECONF += "--with-plugins=a52dec,lame,id3tag,mad,mpeg2dec,mpegstream,mpegaudioparse,asfdemux,realmedia \ | ||
16 | --disable-orc" | ||
17 | |||
18 | PACKAGECONFIG ??= "" | ||
19 | PACKAGECONFIG[x264] = "--enable-x264,--disable-x264,x264" | ||
20 | PACKAGECONFIG[cdio] = "--enable-cdio,--disable-cdio,libcdio" | ||
21 | PACKAGECONFIG[dvdread] = "--enable-dvdread,--disable-dvdread,libdvdread" | ||
22 | |||
23 | do_configure_prepend() { | ||
24 | # This m4 file contains nastiness which conflicts with libtool 2.2.2 | ||
25 | rm ${S}/m4/lib-link.m4 || true | ||
26 | } | ||
27 | |||
28 | SRC_URI[md5sum] = "1d81c593e22a6cdf0f2b4f57eae93df2" | ||
29 | SRC_URI[sha256sum] = "1ca90059275c0f5dca71d4d1601a8f429b7852baed0723e820703b977e2c8df0" | ||
diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins.inc b/meta/recipes-multimedia/gstreamer/gst-plugins.inc new file mode 100644 index 0000000000..b2d3d3c6a1 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gst-plugins.inc | |||
@@ -0,0 +1,30 @@ | |||
1 | SUMMARY = "Plugins for the GStreamer multimedia framework" | ||
2 | HOMEPAGE = "http://gstreamer.freedesktop.org/" | ||
3 | BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=Gstreamer" | ||
4 | SECTION = "multimedia" | ||
5 | DEPENDS = "gstreamer" | ||
6 | |||
7 | inherit autotools pkgconfig | ||
8 | |||
9 | FILESPATH =. "${FILE_DIRNAME}/gst-plugins:" | ||
10 | |||
11 | SRC_URI = "http://gstreamer.freedesktop.org/src/${BPN}/${BPN}-${PV}.tar.bz2" | ||
12 | |||
13 | GSTREAMER_DEBUG ?= "--disable-debug" | ||
14 | EXTRA_OECONF = "--disable-valgrind ${GSTREAMER_DEBUG} --disable-examples " | ||
15 | |||
16 | acpaths = "-I ${S}/common/m4 -I ${S}/m4" | ||
17 | |||
18 | LIBV = "0.10" | ||
19 | require gst-plugins-package.inc | ||
20 | |||
21 | PACKAGES_DYNAMIC += "^${PN}-.*" | ||
22 | |||
23 | # apply gstreamer hack after Makefile.in.in in source is replaced by our version from | ||
24 | # ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in, but before configure is executed | ||
25 | # http://lists.linuxtogo.org/pipermail/openembedded-core/2012-November/032233.html | ||
26 | oe_runconf_prepend() { | ||
27 | if [ -e ${S}/po/Makefile.in.in ]; then | ||
28 | sed -i -e "1a\\" -e 'GETTEXT_PACKAGE = @GETTEXT_PACKAGE@' ${S}/po/Makefile.in.in | ||
29 | fi | ||
30 | } | ||
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer-0.10.36/check_fix.patch b/meta/recipes-multimedia/gstreamer/gstreamer-0.10.36/check_fix.patch new file mode 100644 index 0000000000..5d8bb13403 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer-0.10.36/check_fix.patch | |||
@@ -0,0 +1,19 @@ | |||
1 | # gstreamer: Fix a problem with configure if check has already been built | ||
2 | # Richard Purdie <rpurdie@linux.intel.com> | ||
3 | |||
4 | Upstream-Status: Inappropriate [configuration] | ||
5 | |||
6 | diff -urN gstreamer-0.10.29-orig/configure.ac gstreamer-0.10.29/configure.ac | ||
7 | --- gstreamer-0.10.29-orig/configure.ac 2010-06-26 12:49:27.774930773 +0800 | ||
8 | +++ gstreamer-0.10.29/configure.ac 2010-06-26 12:51:12.899200233 +0800 | ||
9 | @@ -543,8 +543,10 @@ | ||
10 | *) BUILD_CHECK=yes ;; | ||
11 | esac | ||
12 | ]) | ||
13 | + | ||
14 | dnl bit of a misnomer, but keep the conditional named like this so we don't | ||
15 | dnl have to change too much elsewhere | ||
16 | +HAVE_CHECK=no | ||
17 | AM_CONDITIONAL(HAVE_CHECK, test "x$BUILD_CHECK" = "xyes") | ||
18 | |||
19 | dnl configure the desired buffer alignment | ||
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer-0.10.36/gst-inspect-check-error.patch b/meta/recipes-multimedia/gstreamer/gstreamer-0.10.36/gst-inspect-check-error.patch new file mode 100644 index 0000000000..30be85f59d --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer-0.10.36/gst-inspect-check-error.patch | |||
@@ -0,0 +1,16 @@ | |||
1 | # Fix crash with gst-inspect | ||
2 | # Chris Lord <chris@openedhand.com> | ||
3 | |||
4 | Upstream-Status: Pending | ||
5 | |||
6 | --- gstreamer-0.10.9/tools/gst-inspect.c.old 2006-09-12 11:56:53.000000000 +0100 | ||
7 | +++ gstreamer-0.10.9/tools/gst-inspect.c 2006-09-12 11:57:27.000000000 +0100 | ||
8 | @@ -1123,7 +1123,7 @@ | ||
9 | g_option_context_add_main_entries (ctx, options, GETTEXT_PACKAGE); | ||
10 | g_option_context_add_group (ctx, gst_init_get_option_group ()); | ||
11 | if (!g_option_context_parse (ctx, &argc, &argv, &err)) { | ||
12 | - g_print ("Error initializing: %s\n", err->message); | ||
13 | + g_print ("Error initializing: %s\n", err ? err->message : "(null)"); | ||
14 | exit (1); | ||
15 | } | ||
16 | g_option_context_free (ctx); | ||
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer-0.10.36/gstregistrybinary.c b/meta/recipes-multimedia/gstreamer/gstreamer-0.10.36/gstregistrybinary.c new file mode 100644 index 0000000000..c1f3e71af6 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer-0.10.36/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 | */ | ||
30 | inline static gboolean | ||
31 | gst_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 | */ | ||
45 | static gboolean | ||
46 | gst_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 | */ | ||
92 | inline static gboolean | ||
93 | gst_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 | */ | ||
108 | static gchar * | ||
109 | gst_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 | */ | ||
139 | static gboolean | ||
140 | gst_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 | */ | ||
200 | gboolean | ||
201 | gst_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 | |||
304 | static GstPluginFeature* | ||
305 | gst_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 | */ | ||
360 | static unsigned long | ||
361 | gst_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 | */ | ||
432 | gboolean | ||
433 | gst_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.36/gstregistrybinary.h b/meta/recipes-multimedia/gstreamer/gstreamer-0.10.36/gstregistrybinary.h new file mode 100644 index 0000000000..2ef24d765d --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer-0.10.36/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 | |||
66 | typedef 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 */ | ||
74 | typedef 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 | |||
99 | typedef 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 | |||
129 | typedef 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 | |||
150 | typedef 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) | ||
162 | typedef struct _GstBinaryInterface | ||
163 | { | ||
164 | char interface[GST_BINARY_REGISTRY_INTERFACE_INTERFACE_LEN]; | ||
165 | unsigned long size; | ||
166 | } GstBinaryInterface; | ||
167 | |||
168 | /* Uri Type */ | ||
169 | typedef struct _GstBinaryUriType | ||
170 | { | ||
171 | GstURIType type; | ||
172 | unsigned long nuriprotocols; | ||
173 | } GstBinaryUriType; | ||
174 | |||
175 | /* | ||
176 | ** Function prototypes | ||
177 | */ | ||
178 | |||
179 | /* Local prototypes */ | ||
180 | inline static gboolean gst_registry_binary_write(GstRegistry *registry, const void *mem, const ssize_t size); | ||
181 | inline static gboolean gst_registry_binary_initialize_magic(GstBinaryRegistryMagic *m); | ||
182 | static gboolean gst_registry_binary_fill_feature(GList **list, GstPluginFeature *, GstBinaryPluginFeature *, const char *); | ||
183 | static gboolean gst_registry_binary_save_plugin(GList **list, GstRegistry *registry, GstPlugin *plugin); | ||
184 | static gchar *gst_registry_binary_check_magic(gchar *in); | ||
185 | static GstPluginFeature *gst_registry_binary_load_feature(GstBinaryPluginFeature *); | ||
186 | static unsigned long gst_registry_binary_get_binary_plugin(GstRegistry *registry, gchar *in); | ||
187 | |||
188 | /* Exportable */ | ||
189 | gboolean gst_registry_binary_write_cache(GstRegistry *registry, const char *location); | ||
190 | gboolean 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/gstreamer1.0-libav.inc b/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav.inc new file mode 100644 index 0000000000..84e6e95d36 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav.inc | |||
@@ -0,0 +1,32 @@ | |||
1 | SUMMARY = "Libav-based GStreamer 1.x plugin" | ||
2 | SECTION = "multimedia" | ||
3 | LICENSE = "GPLv2+ & LGPLv2+ & ( (GPLv2+ & LGPLv2.1+) | (GPLv3+ & LGPLv3+) )" | ||
4 | LICENSE_FLAGS = "commercial" | ||
5 | HOMEPAGE = "http://www.gstreamer.net/" | ||
6 | DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base zlib bzip2" | ||
7 | |||
8 | inherit autotools pkgconfig | ||
9 | |||
10 | # CAUTION: Using the system libav is not recommended. Since the libav API is changing all the time, | ||
11 | # compilation errors (and other, more subtle bugs) can happen. It is usually better to rely on the | ||
12 | # libav copy included in the gst-libav package. | ||
13 | PACKAGECONFIG ??= " orc yasm " | ||
14 | PACKAGECONFIG[libav] = "--with-system-libav,,libav" | ||
15 | PACKAGECONFIG[lgpl] = "--enable-lgpl,," | ||
16 | PACKAGECONFIG[yasm] = "--enable-yasm,--disable-yasm,yasm-native" | ||
17 | PACKAGECONFIG[orc] = "--enable-orc,--disable-orc,orc" | ||
18 | |||
19 | |||
20 | GSTREAMER_1_0_DEBUG ?= "--disable-debug" | ||
21 | |||
22 | LIBAV_EXTRA_CONFIGURE = "--with-libav-extra-configure" | ||
23 | LIBAV_EXTRA_CONFIGURE_COMMON = \ | ||
24 | '${LIBAV_EXTRA_CONFIGURE}="${LIBAV_EXTRA_CONFIGURE_COMMON_ARG}"' | ||
25 | |||
26 | EXTRA_OECONF = "${LIBAV_EXTRA_CONFIGURE_COMMON}" | ||
27 | |||
28 | FILES_${PN} += "${libdir}/gstreamer-1.0/*.so" | ||
29 | FILES_${PN}-dbg += "${libdir}/gstreamer-1.0/.debug" | ||
30 | FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la" | ||
31 | FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a" | ||
32 | |||
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-Disable-yasm-for-libav-when-disable-yasm.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-Disable-yasm-for-libav-when-disable-yasm.patch new file mode 100644 index 0000000000..1d99ad1251 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-Disable-yasm-for-libav-when-disable-yasm.patch | |||
@@ -0,0 +1,33 @@ | |||
1 | From 54bba228ea52d01fd84941d97be23c03f9862b64 Mon Sep 17 00:00:00 2001 | ||
2 | From: Carlos Rafael Giani <dv@pseudoterminal.org> | ||
3 | Date: Sat, 6 Apr 2013 01:22:22 +0200 | ||
4 | Subject: [PATCH] Disable yasm for libav when --disable-yasm | ||
5 | |||
6 | Upstream-Status: Inappropriate [configuration] | ||
7 | |||
8 | Signed-off-by: Shane Wang <shane.wang@intel.com> | ||
9 | Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org> | ||
10 | --- | ||
11 | configure.ac | 4 ++++ | ||
12 | 1 file changed, 4 insertions(+) | ||
13 | |||
14 | diff --git a/configure.ac b/configure.ac | ||
15 | index 22ede88..ef3c050 100644 | ||
16 | --- a/configure.ac | ||
17 | +++ b/configure.ac | ||
18 | @@ -305,6 +305,12 @@ else | ||
19 | emblibav_configure_args="$emblibav_configure_args --enable-gpl" | ||
20 | fi | ||
21 | |||
22 | + AC_ARG_ENABLE(yasm, | ||
23 | + [AC_HELP_STRING([--disable-yasm], [disable use of yasm assembler])]) | ||
24 | + if test "x$enable_yasm" = "xno"; then | ||
25 | + emblibav_configure_args="$emblibav_configure_args --disable-yasm" | ||
26 | + fi | ||
27 | + | ||
28 | # if we are cross-compiling, tell libav so | ||
29 | case $host in | ||
30 | *android*) | ||
31 | -- | ||
32 | 1.8.2 | ||
33 | |||
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.2.3.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.2.3.bb new file mode 100644 index 0000000000..9561e38c85 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.2.3.bb | |||
@@ -0,0 +1,24 @@ | |||
1 | include gstreamer1.0-libav.inc | ||
2 | |||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ | ||
4 | file://COPYING.LIB;md5=6762ed442b3822387a51c92d928ead0d \ | ||
5 | file://ext/libav/gstav.h;beginline=1;endline=18;md5=a752c35267d8276fd9ca3db6994fca9c \ | ||
6 | file://gst-libs/ext/libav/LICENSE;md5=23a54f59b82572c203a559346e89ed57 \ | ||
7 | file://gst-libs/ext/libav/COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ | ||
8 | file://gst-libs/ext/libav/COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \ | ||
9 | file://gst-libs/ext/libav/COPYING.LGPLv2.1;md5=bd7a443320af8c812e4c18d1b79df004 \ | ||
10 | file://gst-libs/ext/libav/COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02" | ||
11 | |||
12 | SRC_URI = " \ | ||
13 | http://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz \ | ||
14 | file://0001-Disable-yasm-for-libav-when-disable-yasm.patch \ | ||
15 | " | ||
16 | SRC_URI[md5sum] = "58c7998a054d8d8ca041fa35738f72b6" | ||
17 | SRC_URI[sha256sum] = "ebc7fbe10955f40df6ccc4bf689075e7e296205fc7ecd8ff383d43c5cdf5bcd6" | ||
18 | LIBAV_EXTRA_CONFIGURE_COMMON_ARG = "--target-os=linux \ | ||
19 | --cc='${CC}' --as='${CC}' --ld='${CC}' --nm='${NM}' --ar='${AR}' \ | ||
20 | --ranlib='${RANLIB}' \ | ||
21 | ${GSTREAMER_1_0_DEBUG}" | ||
22 | |||
23 | S = "${WORKDIR}/gst-libav-${PV}" | ||
24 | |||
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_git.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_git.bb new file mode 100644 index 0000000000..5ce28ccbe7 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_git.bb | |||
@@ -0,0 +1,27 @@ | |||
1 | DEFAULT_PREFERENCE = "-1" | ||
2 | |||
3 | include gstreamer1.0-libav.inc | ||
4 | |||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ | ||
6 | file://COPYING.LIB;md5=6762ed442b3822387a51c92d928ead0d \ | ||
7 | file://ext/libav/gstav.h;beginline=1;endline=18;md5=a752c35267d8276fd9ca3db6994fca9c \ | ||
8 | file://gst-libs/ext/libav/LICENSE;md5=23a54f59b82572c203a559346e89ed57 \ | ||
9 | file://gst-libs/ext/libav/COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ | ||
10 | file://gst-libs/ext/libav/COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \ | ||
11 | file://gst-libs/ext/libav/COPYING.LGPLv2.1;md5=bd7a443320af8c812e4c18d1b79df004 \ | ||
12 | file://gst-libs/ext/libav/COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02" | ||
13 | |||
14 | SRC_URI = "git://anongit.freedesktop.org/gstreamer/gst-libav;branch=master" | ||
15 | S = "${WORKDIR}/git" | ||
16 | |||
17 | SRCREV = "127202d6f65584891dabf92be031f0d170b0e7f1" | ||
18 | |||
19 | LIBAV_EXTRA_CONFIGURE_COMMON_ARG = "--target-os=linux \ | ||
20 | --cc='${CC}' --as='${CC}' --ld='${CC}' --nm='${NM}' --ar='${AR}' \ | ||
21 | ${GSTREAMER_1_0_DEBUG}" | ||
22 | |||
23 | do_configure() { | ||
24 | ./autogen.sh --noconfigure | ||
25 | oe_runconf | ||
26 | } | ||
27 | |||
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-meta-base.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-meta-base.bb new file mode 100644 index 0000000000..cb8dd1ac5f --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-meta-base.bb | |||
@@ -0,0 +1,62 @@ | |||
1 | DESCRIPTION = "Gstreamer1.0 package groups" | ||
2 | LICENSE = "MIT" | ||
3 | |||
4 | inherit packagegroup | ||
5 | |||
6 | DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad" | ||
7 | |||
8 | PACKAGES = "\ | ||
9 | gstreamer1.0-meta-base \ | ||
10 | gstreamer1.0-meta-x11-base \ | ||
11 | gstreamer1.0-meta-audio \ | ||
12 | gstreamer1.0-meta-debug \ | ||
13 | gstreamer1.0-meta-video" | ||
14 | |||
15 | ALLOW_EMPTY_gstreamer1.0-meta-base = "1" | ||
16 | ALLOW_EMPTY_gstreamer1.0-meta-x11-base = "1" | ||
17 | ALLOW_EMPTY_gstreamer1.0-meta-audio = "1" | ||
18 | ALLOW_EMPTY_gstreamer1.0-meta-debug = "1" | ||
19 | ALLOW_EMPTY_gstreamer1.0-meta-video = "1" | ||
20 | |||
21 | RDEPENDS_gstreamer1.0-meta-base = "\ | ||
22 | ${@base_contains('DISTRO_FEATURES', 'x11', 'gstreamer1.0-meta-x11-base', '', d)} \ | ||
23 | gstreamer1.0 \ | ||
24 | gstreamer1.0-plugins-base-playback \ | ||
25 | gstreamer1.0-plugins-base-gio \ | ||
26 | gstreamer1.0-plugins-base-alsa \ | ||
27 | gstreamer1.0-plugins-base-volume \ | ||
28 | gstreamer1.0-plugins-base-audioconvert \ | ||
29 | gstreamer1.0-plugins-base-audioresample \ | ||
30 | gstreamer1.0-plugins-base-typefindfunctions \ | ||
31 | gstreamer1.0-plugins-base-videoscale \ | ||
32 | gstreamer1.0-plugins-base-videoconvert \ | ||
33 | gstreamer1.0-plugins-good-autodetect \ | ||
34 | gstreamer1.0-plugins-good-souphttpsrc" | ||
35 | |||
36 | RRECOMMENDS_gstreamer1.0-meta-x11-base = "\ | ||
37 | gstreamer1.0-plugins-base-ximagesink \ | ||
38 | gstreamer1.0-plugins-base-xvimagesink" | ||
39 | |||
40 | RDEPENDS_gstreamer1.0-meta-audio = "\ | ||
41 | gstreamer1.0-meta-base \ | ||
42 | gstreamer1.0-plugins-base-vorbis \ | ||
43 | gstreamer1.0-plugins-base-ogg \ | ||
44 | gstreamer1.0-plugins-good-wavparse \ | ||
45 | gstreamer1.0-plugins-good-flac \ | ||
46 | ${COMMERCIAL_AUDIO_PLUGINS}" | ||
47 | |||
48 | RDEPENDS_gstreamer1.0-meta-debug = "\ | ||
49 | gstreamer1.0-meta-base \ | ||
50 | gstreamer1.0-plugins-good-debug \ | ||
51 | gstreamer1.0-plugins-base-audiotestsrc \ | ||
52 | gstreamer1.0-plugins-base-videotestsrc" | ||
53 | |||
54 | RDEPENDS_gstreamer1.0-meta-video = "\ | ||
55 | gstreamer1.0-meta-base \ | ||
56 | gstreamer1.0-plugins-good-avi \ | ||
57 | gstreamer1.0-plugins-good-matroska \ | ||
58 | gstreamer1.0-plugins-base-theora \ | ||
59 | ${COMMERCIAL_VIDEO_PLUGINS}" | ||
60 | |||
61 | RRECOMMENDS_gstreamer1.0-meta-video = "\ | ||
62 | gstreamer1.0-meta-audio" | ||
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx.inc b/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx.inc new file mode 100644 index 0000000000..b76786bddb --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx.inc | |||
@@ -0,0 +1,42 @@ | |||
1 | SUMMARY = "OpenMAX IL plugins for GStreamer" | ||
2 | SECTION = "multimedia" | ||
3 | LICENSE = "LGPLv2.1" | ||
4 | LICENSE_FLAGS = "commercial" | ||
5 | HOMEPAGE = "http://www.gstreamer.net/" | ||
6 | DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base" | ||
7 | RDEPENDS_${PN} = "libomxil" | ||
8 | |||
9 | inherit autotools pkgconfig gettext | ||
10 | |||
11 | acpaths = "-I ${S}/common/m4 -I ${S}/m4" | ||
12 | |||
13 | PR = "r1" | ||
14 | |||
15 | GSTREAMER_1_0_OMX_TARGET ?= "bellagio" | ||
16 | GSTREAMER_1_0_OMX_CORE_NAME ?= "/usr/lib/libomxil-bellagio.so.0" | ||
17 | |||
18 | EXTRA_OECONF += "--disable-valgrind --with-omx-target=${GSTREAMER_1_0_OMX_TARGET}" | ||
19 | |||
20 | python __anonymous () { | ||
21 | omx_target = d.getVar("GSTREAMER_1_0_OMX_TARGET", True) | ||
22 | if omx_target in ['generic', 'bellagio']: | ||
23 | srcdir = d.getVar("S", True) | ||
24 | # Bellagio headers are incomplete (they are missing the OMX_VERSION_MAJOR,# | ||
25 | # OMX_VERSION_MINOR, OMX_VERSION_REVISION, and OMX_VERSION_STEP macros); | ||
26 | # appending a directory path to gst-omx' internal OpenMAX IL headers fixes this | ||
27 | d.appendVar("CFLAGS", " -I%s/omx/openmax" % srcdir) | ||
28 | elif omx_target == "rpi": | ||
29 | # Dedicated Raspberry Pi OpenMAX IL support makes this package machine specific | ||
30 | d.setVar("PACKAGE_ARCH", d.getVar("MACHINE_ARCH", True)) | ||
31 | } | ||
32 | |||
33 | set_omx_core_name() { | ||
34 | sed -i -e "s;^core-name=.*;core-name=${GSTREAMER_1_0_OMX_CORE_NAME};" "${D}/etc/xdg/gstomx.conf" | ||
35 | } | ||
36 | do_install[postfuncs] += " set_omx_core_name " | ||
37 | |||
38 | FILES_${PN} += "${libdir}/gstreamer-1.0/*.so" | ||
39 | FILES_${PN}-dbg += "${libdir}/gstreamer-1.0/.debug" | ||
40 | FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la" | ||
41 | FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a" | ||
42 | |||
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx/0001-omx-fixed-type-error-in-printf-call.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx/0001-omx-fixed-type-error-in-printf-call.patch new file mode 100644 index 0000000000..a428ac9c91 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx/0001-omx-fixed-type-error-in-printf-call.patch | |||
@@ -0,0 +1,30 @@ | |||
1 | From f629e041e9f678fcd86ad764a15117dff63c271c Mon Sep 17 00:00:00 2001 | ||
2 | From: Carlos Rafael Giani <dv@pseudoterminal.org> | ||
3 | Date: Sat, 27 Apr 2013 02:50:25 +0200 | ||
4 | Subject: [PATCH] omx: fixed type error in printf call | ||
5 | |||
6 | %zu expects size_t | ||
7 | |||
8 | Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=699008] | ||
9 | |||
10 | Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org> | ||
11 | --- | ||
12 | omx/gstomx.c | 2 +- | ||
13 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
14 | |||
15 | diff --git a/omx/gstomx.c b/omx/gstomx.c | ||
16 | index a2945ed..1eca7cc 100644 | ||
17 | --- a/omx/gstomx.c | ||
18 | +++ b/omx/gstomx.c | ||
19 | @@ -1630,7 +1630,7 @@ gst_omx_port_allocate_buffers_unlocked (GstOMXPort * port, | ||
20 | |||
21 | GST_INFO_OBJECT (comp->parent, | ||
22 | "Allocating %d buffers of size %zu for %s port %u", n, | ||
23 | - port->port_def.nBufferSize, comp->name, (guint) port->index); | ||
24 | + (size_t) (port->port_def.nBufferSize), comp->name, (guint) port->index); | ||
25 | |||
26 | if (!port->buffers) | ||
27 | port->buffers = g_ptr_array_sized_new (n); | ||
28 | -- | ||
29 | 1.7.9.5 | ||
30 | |||
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.0.0.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.0.0.bb new file mode 100644 index 0000000000..f5956c66df --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.0.0.bb | |||
@@ -0,0 +1,12 @@ | |||
1 | include gstreamer1.0-omx.inc | ||
2 | |||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \ | ||
4 | file://omx/gstomx.h;beginline=1;endline=21;md5=5c8e1fca32704488e76d2ba9ddfa935f" | ||
5 | |||
6 | SRC_URI = "http://gstreamer.freedesktop.org/src/gst-omx/gst-omx-${PV}.tar.xz" | ||
7 | |||
8 | SRC_URI[md5sum] = "bb34b5742223267298bcffc209104a92" | ||
9 | SRC_URI[sha256sum] = "7a1d8d28d70dacc6bd3c7ee7d7e40df6d5a1d38d7c256d5c9c5c8ef15c005014" | ||
10 | |||
11 | S = "${WORKDIR}/gst-omx-${PV}" | ||
12 | |||
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_git.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_git.bb new file mode 100644 index 0000000000..11c77aeada --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_git.bb | |||
@@ -0,0 +1,22 @@ | |||
1 | DEFAULT_PREFERENCE = "-1" | ||
2 | |||
3 | include gstreamer1.0-omx.inc | ||
4 | |||
5 | DEPENDS = "gstreamer1.0-plugins-bad" | ||
6 | |||
7 | LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \ | ||
8 | file://omx/gstomx.h;beginline=1;endline=21;md5=5c8e1fca32704488e76d2ba9ddfa935f" | ||
9 | |||
10 | SRC_URI = " \ | ||
11 | git://anongit.freedesktop.org/gstreamer/gst-omx;branch=master \ | ||
12 | file://0001-omx-fixed-type-error-in-printf-call.patch \ | ||
13 | " | ||
14 | S = "${WORKDIR}/git" | ||
15 | |||
16 | SRCREV = "a2db76b048db278ef0aa798e106b7594264e06c0" | ||
17 | |||
18 | do_configure() { | ||
19 | ./autogen.sh --noconfigure | ||
20 | oe_runconf | ||
21 | } | ||
22 | |||
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc new file mode 100644 index 0000000000..08440a2536 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc | |||
@@ -0,0 +1,120 @@ | |||
1 | require gstreamer1.0-plugins.inc | ||
2 | |||
3 | LICENSE = "GPLv2+ & LGPLv2+ & LGPLv2.1+ " | ||
4 | |||
5 | DEPENDS += "gstreamer1.0-plugins-base bzip2" | ||
6 | |||
7 | S = "${WORKDIR}/gst-plugins-bad-${PV}" | ||
8 | |||
9 | inherit gettext | ||
10 | |||
11 | |||
12 | PACKAGECONFIG ??= " \ | ||
13 | ${@base_contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)} \ | ||
14 | ${@base_contains('DISTRO_FEATURES', 'opengl', 'eglgles', '', d)} \ | ||
15 | ${@base_contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \ | ||
16 | ${@base_contains('DISTRO_FEATURES', 'directfb', 'directfb', '', d)} \ | ||
17 | orc curl uvch264 neon \ | ||
18 | hls sbc dash bz2 smoothstreaming \ | ||
19 | " | ||
20 | # dash = Dynamic Adaptive Streaming over HTTP | ||
21 | PACKAGECONFIG[assrender] = "--enable-assrender,--disable-assrender,libass" | ||
22 | PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl" | ||
23 | PACKAGECONFIG[eglgles] = "--enable-eglgles,--disable-eglgles,virtual/egl virtual/libgles2" | ||
24 | PACKAGECONFIG[faac] = "--enable-faac,--disable-faac,faac" | ||
25 | PACKAGECONFIG[faad] = "--enable-faad,--disable-faad,faad2" | ||
26 | PACKAGECONFIG[libmms] = "--enable-libmms,--disable-libmms,libmms" | ||
27 | PACKAGECONFIG[modplug] = "--enable-modplug,--disable-modplug,libmodplug" | ||
28 | PACKAGECONFIG[mpg123] = "--enable-mpg123,--disable-mpg123,mpg123" | ||
29 | PACKAGECONFIG[opus] = "--enable-opus,--disable-opus,libopus" | ||
30 | PACKAGECONFIG[flite] = "--enable-flite,--disable-flite,flite-alsa" | ||
31 | PACKAGECONFIG[opencv] = "--enable-opencv,--disable-opencv,opencv" | ||
32 | PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland" | ||
33 | PACKAGECONFIG[uvch264] = "--enable-uvch264,--disable-uvch264,libusb1 udev" | ||
34 | PACKAGECONFIG[directfb] = "--enable-directfb,--disable-directfb,directfb" | ||
35 | PACKAGECONFIG[neon] = "--enable-neon,--disable-neon,neon" | ||
36 | PACKAGECONFIG[openal] = "--enable-openal,--disable-openal,openal-soft" | ||
37 | PACKAGECONFIG[hls] = "--enable-hls,--disable-hls,gnutls" | ||
38 | PACKAGECONFIG[sbc] = "--enable-sbc,--disable-sbc,sbc" | ||
39 | PACKAGECONFIG[dash] = "--enable-dash,--disable-dash,libxml2" | ||
40 | PACKAGECONFIG[bz2] = "--enable-bz2,--disable-bz2,bzip2" | ||
41 | PACKAGECONFIG[fluidsynth] = "--enable-fluidsynth,--disable-fluidsynth,fluidsynth" | ||
42 | PACKAGECONFIG[schroedinger] = "--enable-schro,--disable-schro,schroedinger" | ||
43 | PACKAGECONFIG[smoothstreaming] = "--enable-smoothstreaming,--disable-smoothstreaming,libxml2" | ||
44 | PACKAGECONFIG[bluez] = "--enable-bluez,--disable-bluez,bluez4" | ||
45 | PACKAGECONFIG[rsvg] = "--enable-rsvg,--disable-rsvg,librsvg" | ||
46 | |||
47 | # these plugins have not been ported to 1.0 (yet): | ||
48 | # directdraw vcd apexsink cdaudio dc1394 lv2 linsys musepack mythtv | ||
49 | # nas timidity teletextdec sdl sndfile xvid wininet acm gsettings | ||
50 | # sndio cdxaparse dccp faceoverlay hdvparse ivfparse jp2kdecimator | ||
51 | # linsys mve nuvdemux osx_video patchdetect quicktime real sdi stereo | ||
52 | # tta videomeasure videosignal vmnc | ||
53 | |||
54 | EXTRA_OECONF += " \ | ||
55 | --enable-dvb \ | ||
56 | --enable-shm \ | ||
57 | --enable-mfc \ | ||
58 | --enable-fbdev \ | ||
59 | --enable-decklink \ | ||
60 | --disable-acm \ | ||
61 | --disable-android_media \ | ||
62 | --disable-apexsink \ | ||
63 | --disable-apple_media \ | ||
64 | --disable-avc \ | ||
65 | --disable-cdaudio \ | ||
66 | --disable-chromaprint \ | ||
67 | --disable-daala \ | ||
68 | --disable-dc1394 \ | ||
69 | --disable-direct3d \ | ||
70 | --disable-directdraw \ | ||
71 | --disable-directshow \ | ||
72 | --disable-directsound \ | ||
73 | --disable-dts \ | ||
74 | --disable-gme \ | ||
75 | --disable-gsettings \ | ||
76 | --disable-gsm \ | ||
77 | --disable-kate \ | ||
78 | --disable-ladspa \ | ||
79 | --disable-linsys \ | ||
80 | --disable-lv2 \ | ||
81 | --disable-mimic \ | ||
82 | --disable-mpeg2enc \ | ||
83 | --disable-mplex \ | ||
84 | --disable-musepack \ | ||
85 | --disable-mythtv \ | ||
86 | --disable-nas \ | ||
87 | --disable-ofa \ | ||
88 | --disable-openjpeg \ | ||
89 | --disable-opensles \ | ||
90 | --disable-osx_video \ | ||
91 | --disable-pvr \ | ||
92 | --disable-quicktime \ | ||
93 | --disable-resindvd \ | ||
94 | --disable-rtmp \ | ||
95 | --disable-sdl \ | ||
96 | --disable-sdltest \ | ||
97 | --disable-sndfile \ | ||
98 | --disable-sndio \ | ||
99 | --disable-soundtouch \ | ||
100 | --disable-spandsp \ | ||
101 | --disable-spc \ | ||
102 | --disable-srtp \ | ||
103 | --disable-teletextdec \ | ||
104 | --disable-timidity \ | ||
105 | --disable-vcd \ | ||
106 | --disable-vdpau \ | ||
107 | --disable-voaacenc \ | ||
108 | --disable-voamrwbenc \ | ||
109 | --disable-wasapi \ | ||
110 | --disable-webp \ | ||
111 | --disable-wildmidi \ | ||
112 | --disable-wininet \ | ||
113 | --disable-winscreencap \ | ||
114 | --disable-xvid \ | ||
115 | --disable-zbar \ | ||
116 | ${GSTREAMER_1_0_ORC} \ | ||
117 | " | ||
118 | |||
119 | ARM_INSTRUCTION_SET = "arm" | ||
120 | |||
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.2.3.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.2.3.bb new file mode 100644 index 0000000000..a19988ca6f --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.2.3.bb | |||
@@ -0,0 +1,10 @@ | |||
1 | include gstreamer1.0-plugins-bad.inc | ||
2 | |||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=73a5855a8119deb017f5f13cf327095d \ | ||
4 | file://gst/tta/filters.h;beginline=12;endline=29;md5=8a08270656f2f8ad7bb3655b83138e5a \ | ||
5 | file://COPYING.LIB;md5=21682e4e8fea52413fd26c60acb907e5 \ | ||
6 | file://gst/tta/crc32.h;beginline=12;endline=29;md5=27db269c575d1e5317fffca2d33b3b50" | ||
7 | SRC_URI[md5sum] = "cfd6f303c8df2740b27cc63b945decef" | ||
8 | SRC_URI[sha256sum] = "595d7911a9e6207dea37200587724bdbf841b81a5eb0730118be36976684278c" | ||
9 | S = "${WORKDIR}/gst-plugins-bad-${PV}" | ||
10 | |||
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_git.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_git.bb new file mode 100644 index 0000000000..e1a5904abf --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_git.bb | |||
@@ -0,0 +1,26 @@ | |||
1 | DEFAULT_PREFERENCE = "-1" | ||
2 | |||
3 | include gstreamer1.0-plugins-bad.inc | ||
4 | |||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=73a5855a8119deb017f5f13cf327095d \ | ||
6 | file://gst/tta/filters.h;beginline=12;endline=29;md5=8a08270656f2f8ad7bb3655b83138e5a \ | ||
7 | file://COPYING.LIB;md5=21682e4e8fea52413fd26c60acb907e5 \ | ||
8 | file://gst/tta/crc32.h;beginline=12;endline=29;md5=27db269c575d1e5317fffca2d33b3b50" | ||
9 | |||
10 | S = "${WORKDIR}/git" | ||
11 | |||
12 | SRCREV = "6e5db57d2446a753aaa76bee268e1f95600b14ce" | ||
13 | |||
14 | PACKAGECONFIG[bluez] = "--enable-bluez,--disable-bluez,bluez4" | ||
15 | PACKAGECONFIG[sbc] = "--enable-sbc,--disable-sbc,sbc" | ||
16 | PACKAGECONFIG[hls] = "--enable-hls,--disable-hls,gnutls" | ||
17 | |||
18 | EXTRA_OECONF += " \ | ||
19 | -disable-openjpeg \ | ||
20 | " | ||
21 | |||
22 | do_configure() { | ||
23 | ./autogen.sh --noconfigure | ||
24 | oe_runconf | ||
25 | } | ||
26 | |||
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base.inc b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base.inc new file mode 100644 index 0000000000..b56c506486 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base.inc | |||
@@ -0,0 +1,39 @@ | |||
1 | require gstreamer1.0-plugins.inc | ||
2 | |||
3 | LICENSE = "GPLv2+ & LGPLv2+" | ||
4 | |||
5 | DEPENDS += "${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11 libxv', '', d)}" | ||
6 | DEPENDS += "freetype liboil util-linux" | ||
7 | |||
8 | inherit gettext | ||
9 | |||
10 | PACKAGES_DYNAMIC =+ "^libgst.*" | ||
11 | |||
12 | PACKAGECONFIG ??= " \ | ||
13 | ${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \ | ||
14 | ${@base_contains('DISTRO_FEATURES', 'alsa', 'alsa', '', d)} \ | ||
15 | orc ivorbis ogg theora vorbis \ | ||
16 | " | ||
17 | |||
18 | X11DEPENDS = "virtual/libx11 libsm libxrender" | ||
19 | X11ENABLEOPTS = "--enable-x --enable-xvideo --enable-xshm" | ||
20 | X11DISABLEOPTS = "--disable-x --disable-xvideo --disable-xshm" | ||
21 | PACKAGECONFIG[x11] = "${X11ENABLEOPTS},${X11DISABLEOPTS},${X11DEPENDS}" | ||
22 | PACKAGECONFIG[alsa] = "--enable-alsa,--disable-alsa,alsa-lib" | ||
23 | PACKAGECONFIG[ivorbis] = "--enable-ivorbis,--disable-ivorbis,tremor" | ||
24 | PACKAGECONFIG[ogg] = "--enable-ogg,--disable-ogg,libogg" | ||
25 | PACKAGECONFIG[theora] = "--enable-theora,--disable-theora,libtheora" | ||
26 | PACKAGECONFIG[vorbis] = "--enable-vorbis,--disable-vorbis,libvorbis" | ||
27 | PACKAGECONFIG[pango] = "--enable-pango,--disable-pango,pango" | ||
28 | |||
29 | |||
30 | # cdparanoia and libvisual do not seem to exist anywhere in OE | ||
31 | EXTRA_OECONF += " \ | ||
32 | --disable-freetypetest \ | ||
33 | --disable-cdparanoia \ | ||
34 | --disable-libvisual \ | ||
35 | ${GSTREAMER_1_0_ORC} \ | ||
36 | " | ||
37 | |||
38 | FILES_${PN} += "${datadir}/gst-plugins-base" | ||
39 | |||
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.2.3.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.2.3.bb new file mode 100644 index 0000000000..4ef34cfe85 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.2.3.bb | |||
@@ -0,0 +1,9 @@ | |||
1 | include gstreamer1.0-plugins-base.inc | ||
2 | |||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=c54ce9345727175ff66d17b67ff51f58 \ | ||
4 | file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=a4e1830fce078028c8f0974161272607 \ | ||
5 | file://COPYING.LIB;md5=6762ed442b3822387a51c92d928ead0d \ | ||
6 | " | ||
7 | SRC_URI[md5sum] = "17aeabfbcd232526f50c9bee375f1b97" | ||
8 | SRC_URI[sha256sum] = "61edec35c270f86928bad434bd059da4efff865d1ef01bcc64ecbd903625dae1" | ||
9 | S = "${WORKDIR}/gst-plugins-base-${PV}" | ||
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_git.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_git.bb new file mode 100644 index 0000000000..a894abe501 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_git.bb | |||
@@ -0,0 +1,18 @@ | |||
1 | DEFAULT_PREFERENCE = "-1" | ||
2 | |||
3 | include gstreamer1.0-plugins-base.inc | ||
4 | |||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=c54ce9345727175ff66d17b67ff51f58 \ | ||
6 | file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=a4e1830fce078028c8f0974161272607 \ | ||
7 | file://COPYING.LIB;md5=6762ed442b3822387a51c92d928ead0d \ | ||
8 | " | ||
9 | |||
10 | S = "${WORKDIR}/git" | ||
11 | |||
12 | SRCREV = "8d4cb64a4b9d84b10076bf350f80a0d6ea68ec2d" | ||
13 | |||
14 | do_configure() { | ||
15 | ./autogen.sh --noconfigure | ||
16 | oe_runconf | ||
17 | } | ||
18 | |||
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good.inc b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good.inc new file mode 100644 index 0000000000..06de4da5dd --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good.inc | |||
@@ -0,0 +1,56 @@ | |||
1 | require gstreamer1.0-plugins.inc | ||
2 | |||
3 | LICENSE = "GPLv2+ & LGPLv2.1+" | ||
4 | |||
5 | # libid3tag | ||
6 | DEPENDS += "gstreamer1.0-plugins-base zlib bzip2" | ||
7 | |||
8 | inherit gettext | ||
9 | |||
10 | |||
11 | PACKAGECONFIG ??= " \ | ||
12 | ${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \ | ||
13 | ${@base_contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)} \ | ||
14 | orc cairo flac gdk-pixbuf jpeg libpng soup speex taglib \ | ||
15 | " | ||
16 | |||
17 | X11DEPENDS = "virtual/libx11 libsm libxrender" | ||
18 | X11ENABLEOPTS = "--enable-x --enable-xvideo --enable-xshm" | ||
19 | X11DISABLEOPTS = "--disable-x --disable-xvideo --disable-xshm" | ||
20 | PACKAGECONFIG[x11] = "${X11ENABLEOPTS},${X11DISABLEOPTS},${X11DEPENDS}" | ||
21 | PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio" | ||
22 | PACKAGECONFIG[cairo] = "--enable-cairo,--disable-cairo,cairo" | ||
23 | PACKAGECONFIG[flac] = "--enable-flac,--disable-flac,flac" | ||
24 | PACKAGECONFIG[gdk-pixbuf] = "--enable-gdk_pixbuf,--disable-gdk_pixbuf,gdk-pixbuf" | ||
25 | PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack" | ||
26 | PACKAGECONFIG[jpeg] = "--enable-jpeg,--disable-jpeg,jpeg" | ||
27 | PACKAGECONFIG[libpng] = "--enable-libpng,--disable-libpng,libpng" | ||
28 | PACKAGECONFIG[soup] = "--enable-soup,--disable-soup,libsoup-2.4" | ||
29 | PACKAGECONFIG[speex] = "--enable-speex,--disable-speex,speex" | ||
30 | PACKAGECONFIG[taglib] = "--enable-taglib,--disable-taglib,taglib" | ||
31 | PACKAGECONFIG[vpx] = "--enable-vpx,--disable-vpx,libvpx" | ||
32 | PACKAGECONFIG[wavpack] = "--enable-wavpack,--disable-wavpack,wavpack" | ||
33 | |||
34 | # the 1394 plugins require both libraw1394 and libiec61883 | ||
35 | # the former is included in meta-oe, the latter isn't | ||
36 | # -> disabled | ||
37 | |||
38 | EXTRA_OECONF += " \ | ||
39 | --enable-oss \ | ||
40 | --enable-gst_v4l2 \ | ||
41 | --without-libv4l2 \ | ||
42 | --disable-directsound \ | ||
43 | --disable-waveform \ | ||
44 | --disable-oss4 \ | ||
45 | --disable-sunaudio \ | ||
46 | --disable-osx_audio \ | ||
47 | --disable-osx_video \ | ||
48 | --disable-aalib \ | ||
49 | --disable-libcaca \ | ||
50 | --disable-libdv \ | ||
51 | --disable-shout2 \ | ||
52 | --disable-examples \ | ||
53 | --disable-dv1394 \ | ||
54 | ${GSTREAMER_1_0_ORC} \ | ||
55 | " | ||
56 | |||
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.2.3.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.2.3.bb new file mode 100644 index 0000000000..d5e4b6a300 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.2.3.bb | |||
@@ -0,0 +1,9 @@ | |||
1 | include gstreamer1.0-plugins-good.inc | ||
2 | |||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \ | ||
4 | file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=a4e1830fce078028c8f0974161272607 \ | ||
5 | file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe" | ||
6 | SRC_URI[md5sum] = "1a1f96bc27ad446e559474299160a9a8" | ||
7 | SRC_URI[sha256sum] = "bfb33536a515bdcc34482f64b8d9cc3e47c753878b254923b419bc2f7485e470" | ||
8 | S = "${WORKDIR}/gst-plugins-good-${PV}" | ||
9 | |||
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_git.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_git.bb new file mode 100644 index 0000000000..8b11b20b1b --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_git.bb | |||
@@ -0,0 +1,17 @@ | |||
1 | DEFAULT_PREFERENCE = "-1" | ||
2 | |||
3 | include gstreamer1.0-plugins-good.inc | ||
4 | |||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \ | ||
6 | file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=a4e1830fce078028c8f0974161272607 \ | ||
7 | file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe" | ||
8 | |||
9 | S = "${WORKDIR}/git" | ||
10 | |||
11 | SRCREV = "fd0123800c8c1cf1468c0fa5d592ad0d0d8b4140" | ||
12 | |||
13 | do_configure() { | ||
14 | ./autogen.sh --noconfigure | ||
15 | oe_runconf | ||
16 | } | ||
17 | |||
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly.inc b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly.inc new file mode 100644 index 0000000000..0dd011bf33 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly.inc | |||
@@ -0,0 +1,31 @@ | |||
1 | require gstreamer1.0-plugins.inc | ||
2 | |||
3 | LICENSE = "GPLv2+ & LGPLv2.1+ & LGPLv2+" | ||
4 | LICENSE_FLAGS = "commercial" | ||
5 | |||
6 | DEPENDS += "gstreamer1.0-plugins-base libid3tag" | ||
7 | |||
8 | inherit gettext | ||
9 | |||
10 | |||
11 | PACKAGECONFIG ??= " \ | ||
12 | orc a52dec lame mad mpeg2dec \ | ||
13 | " | ||
14 | |||
15 | PACKAGECONFIG[a52dec] = "--enable-a52dec,--disable-a52dec,liba52" | ||
16 | PACKAGECONFIG[cdio] = "--enable-cdio,--disable-cdio,libcdio" | ||
17 | PACKAGECONFIG[dvdread] = "--enable-dvdread,--disable-dvdread,libdvdread" | ||
18 | PACKAGECONFIG[lame] = "--enable-lame,--disable-lame,lame" | ||
19 | PACKAGECONFIG[mad] = "--enable-mad,--disable-mad,libmad" | ||
20 | PACKAGECONFIG[mpeg2dec] = "--enable-mpeg2dec,--disable-mpeg2dec,mpeg2dec" | ||
21 | PACKAGECONFIG[x264] = "--enable-x264,--disable-x264,x264" | ||
22 | |||
23 | |||
24 | EXTRA_OECONF += " \ | ||
25 | --disable-amrnb \ | ||
26 | --disable-amrwb \ | ||
27 | --disable-sidplay \ | ||
28 | --disable-twolame \ | ||
29 | ${GSTREAMER_1_0_ORC} \ | ||
30 | " | ||
31 | |||
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.2.3.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.2.3.bb new file mode 100644 index 0000000000..33fd5ad50b --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.2.3.bb | |||
@@ -0,0 +1,8 @@ | |||
1 | include gstreamer1.0-plugins-ugly.inc | ||
2 | |||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \ | ||
4 | file://tests/check/elements/xingmux.c;beginline=1;endline=21;md5=4c771b8af188724855cb99cadd390068 " | ||
5 | SRC_URI[md5sum] = "7ae60e2f759f58f32af5fcdc3c9193c4" | ||
6 | SRC_URI[sha256sum] = "537b0a7607eee499026388bb705b5b68985a3fd59fe22ee09accaf8cdf57eb3b" | ||
7 | S = "${WORKDIR}/gst-plugins-ugly-${PV}" | ||
8 | |||
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_git.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_git.bb new file mode 100644 index 0000000000..2f72497363 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_git.bb | |||
@@ -0,0 +1,16 @@ | |||
1 | DEFAULT_PREFERENCE = "-1" | ||
2 | |||
3 | include gstreamer1.0-plugins-ugly.inc | ||
4 | |||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \ | ||
6 | file://tests/check/elements/xingmux.c;beginline=1;endline=21;md5=4c771b8af188724855cb99cadd390068 " | ||
7 | |||
8 | S = "${WORKDIR}/git" | ||
9 | |||
10 | SRCREV = "06b8ac10cee85c5c304ca320997aa8f44295a66f" | ||
11 | |||
12 | do_configure() { | ||
13 | ./autogen.sh --noconfigure | ||
14 | oe_runconf | ||
15 | } | ||
16 | |||
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins.inc b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins.inc new file mode 100644 index 0000000000..4ab8ea8eb3 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins.inc | |||
@@ -0,0 +1,59 @@ | |||
1 | SUMMARY = "Plugins for the GStreamer multimedia framework 1.x" | ||
2 | HOMEPAGE = "http://gstreamer.freedesktop.org/" | ||
3 | BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=Gstreamer" | ||
4 | SECTION = "multimedia" | ||
5 | DEPENDS = "gstreamer1.0" | ||
6 | |||
7 | inherit autotools pkgconfig | ||
8 | |||
9 | FILESPATH =. "${FILE_DIRNAME}/gst-plugins:" | ||
10 | |||
11 | GSTREAMER_1_0_DEBUG ?= "--disable-debug" | ||
12 | GSTREAMER_1_0_GIT_BRANCH ?= "master" | ||
13 | EXTRA_OECONF = "--disable-valgrind ${GSTREAMER_1_0_DEBUG} --disable-examples " | ||
14 | |||
15 | acpaths = "-I ${S}/common/m4 -I ${S}/m4" | ||
16 | |||
17 | LIBV = "1.0" | ||
18 | require gst-plugins-package.inc | ||
19 | |||
20 | PACKAGECONFIG[orc] = "--enable-orc,--disable-orc,orc" | ||
21 | |||
22 | PACKAGES_DYNAMIC = "^${PN}-.*" | ||
23 | |||
24 | # apply gstreamer hack after Makefile.in.in in source is replaced by our version from | ||
25 | # ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in, but before configure is executed | ||
26 | # http://lists.linuxtogo.org/pipermail/openembedded-core/2012-November/032233.html | ||
27 | oe_runconf_prepend() { | ||
28 | if [ -e ${S}/po/Makefile.in.in ]; then | ||
29 | sed -i -e "1a\\" -e 'GETTEXT_PACKAGE = @GETTEXT_PACKAGE@' ${S}/po/Makefile.in.in | ||
30 | fi | ||
31 | } | ||
32 | |||
33 | SRC_URI = "${@get_gst_srcuri(d)}" | ||
34 | |||
35 | def get_gst_srcuri(d): | ||
36 | # check if expected prefix is present | ||
37 | prefix = "gstreamer1.0-" | ||
38 | bpn = d.getVar("BPN", True) | ||
39 | if not bpn.startswith(prefix): | ||
40 | bb.fatal('Invalid GStreamer 1.0 plugin package name "%s" : must start with "%s"' % (bpn, prefix)) | ||
41 | |||
42 | # replaced prefix with "gst-", which is what is used for the tarball and repository filenames | ||
43 | gstpkg_basename = "gst-" + bpn[len(prefix):] | ||
44 | pv = d.getVar("PV", True) | ||
45 | branch = d.getVar("GSTREAMER_1_0_GIT_BRANCH", True) | ||
46 | |||
47 | if pv == "git": | ||
48 | s = "git://anongit.freedesktop.org/gstreamer/%s;branch=%s" % (gstpkg_basename, branch) | ||
49 | else: | ||
50 | s = "http://gstreamer.freedesktop.org/src/%s/%s-%s.tar.xz" % (gstpkg_basename, gstpkg_basename, pv) | ||
51 | return s | ||
52 | |||
53 | delete_liblink_m4_file() { | ||
54 | # This m4 file contains nastiness which conflicts with libtool 2.2.2 | ||
55 | rm "${S}/m4/lib-link.m4" || true | ||
56 | } | ||
57 | |||
58 | do_configure[prefuncs] += " delete_liblink_m4_file " | ||
59 | |||
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0.inc b/meta/recipes-multimedia/gstreamer/gstreamer1.0.inc new file mode 100644 index 0000000000..a01c33ce5f --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0.inc | |||
@@ -0,0 +1,27 @@ | |||
1 | SUMMARY = "GStreamer 1.0 multimedia framework" | ||
2 | DESCRIPTION = "GStreamer is a multimedia framework for encoding and decoding video and sound. \ | ||
3 | It supports a wide range of formats including mp3, ogg, avi, mpeg and quicktime." | ||
4 | HOMEPAGE = "http://gstreamer.freedesktop.org/" | ||
5 | BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=Gstreamer" | ||
6 | SECTION = "multimedia" | ||
7 | LICENSE = "LGPLv2+" | ||
8 | DEPENDS = "glib-2.0 libxml2 bison-native flex-native" | ||
9 | |||
10 | inherit autotools pkgconfig gettext | ||
11 | |||
12 | GSTREAMER_1_DEBUG ?= "--disable-debug" | ||
13 | EXTRA_OECONF = "--disable-docbook --disable-gtk-doc \ | ||
14 | --disable-dependency-tracking --disable-check \ | ||
15 | --disable-examples --disable-tests \ | ||
16 | --disable-valgrind ${GSTREAMER_1_DEBUG} \ | ||
17 | " | ||
18 | |||
19 | RRECOMMENDS_${PN}_qemux86 += "kernel-module-snd-ens1370 kernel-module-snd-rawmidi" | ||
20 | RRECOMMENDS_${PN}_qemux86-64 += "kernel-module-snd-ens1370 kernel-module-snd-rawmidi" | ||
21 | |||
22 | CACHED_CONFIGUREVARS += "ac_cv_header_valgrind_valgrind_h=no" | ||
23 | |||
24 | FILES_${PN} += " ${libdir}/gstreamer-1.0/*.so" | ||
25 | FILES_${PN}-dev += " ${libdir}/gstreamer-1.0/*.la ${libdir}/gstreamer-1.0/*.a" | ||
26 | FILES_${PN}-dbg += " ${libdir}/gstreamer-1.0/.debug/ ${libexecdir}/gstreamer-1.0/.debug/" | ||
27 | |||
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-Fix-crash-with-gst-inspect.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-Fix-crash-with-gst-inspect.patch new file mode 100644 index 0000000000..94f5cc56e8 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-Fix-crash-with-gst-inspect.patch | |||
@@ -0,0 +1,28 @@ | |||
1 | From 6b26f3dbf9bf577d71534ab7410de66d06e46ba2 Mon Sep 17 00:00:00 2001 | ||
2 | From: Carlos Rafael Giani <dv@pseudoterminal.org> | ||
3 | Date: Sat, 6 Apr 2013 23:52:11 +0200 | ||
4 | Subject: [PATCH] Fix crash with gst-inspect Chris Lord <chris@openedhand.com> | ||
5 | |||
6 | Upstream-Status: Pending | ||
7 | |||
8 | Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org> | ||
9 | --- | ||
10 | tools/gst-inspect.c | 2 +- | ||
11 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
12 | |||
13 | diff --git a/tools/gst-inspect.c b/tools/gst-inspect.c | ||
14 | index 23b7c44..b79b02e 100644 | ||
15 | --- a/tools/gst-inspect.c | ||
16 | +++ b/tools/gst-inspect.c | ||
17 | @@ -1556,7 +1556,7 @@ main (int argc, char *argv[]) | ||
18 | g_option_context_add_main_entries (ctx, options, GETTEXT_PACKAGE); | ||
19 | g_option_context_add_group (ctx, gst_init_get_option_group ()); | ||
20 | if (!g_option_context_parse (ctx, &argc, &argv, &err)) { | ||
21 | - g_printerr ("Error initializing: %s\n", err->message); | ||
22 | + g_printerr ("Error initializing: %s\n", err ? err->message : "(null)"); | ||
23 | return -1; | ||
24 | } | ||
25 | g_option_context_free (ctx); | ||
26 | -- | ||
27 | 1.8.2 | ||
28 | |||
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.2.3.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.2.3.bb new file mode 100644 index 0000000000..f2c1db505b --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.2.3.bb | |||
@@ -0,0 +1,13 @@ | |||
1 | include gstreamer1.0.inc | ||
2 | |||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \ | ||
4 | file://gst/gst.h;beginline=1;endline=21;md5=e059138481205ee2c6fc1c079c016d0d" | ||
5 | |||
6 | SRC_URI = " \ | ||
7 | http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz \ | ||
8 | file://0001-Fix-crash-with-gst-inspect.patch \ | ||
9 | " | ||
10 | SRC_URI[md5sum] = "8155b9c7574ccaa361cc504e8e0e72dc" | ||
11 | SRC_URI[sha256sum] = "0f9a9817a384b3448c368c23345e5122435caef9c00f1c40d7b1953827b0d8eb" | ||
12 | S = "${WORKDIR}/gstreamer-${PV}" | ||
13 | |||
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0_git.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0_git.bb new file mode 100644 index 0000000000..424c90a9e8 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0_git.bb | |||
@@ -0,0 +1,17 @@ | |||
1 | DEFAULT_PREFERENCE = "-1" | ||
2 | |||
3 | include gstreamer1.0.inc | ||
4 | |||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \ | ||
6 | file://gst/gst.h;beginline=1;endline=21;md5=e059138481205ee2c6fc1c079c016d0d" | ||
7 | |||
8 | SRC_URI = "git://anongit.freedesktop.org/gstreamer/gstreamer;branch=master" | ||
9 | S = "${WORKDIR}/git" | ||
10 | |||
11 | SRCREV = "3b8181a8c550e74acaba4e8c55bdc649fa551dc9" | ||
12 | |||
13 | do_configure() { | ||
14 | ./autogen.sh --noconfigure | ||
15 | oe_runconf | ||
16 | } | ||
17 | |||
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer_0.10.36.bb b/meta/recipes-multimedia/gstreamer/gstreamer_0.10.36.bb new file mode 100644 index 0000000000..99eee81761 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer_0.10.36.bb | |||
@@ -0,0 +1,48 @@ | |||
1 | SUMMARY = "GStreamer multimedia framework" | ||
2 | DESCRIPTION = "GStreamer is a multimedia framework for encoding and decoding video and sound. \ | ||
3 | It supports a wide range of formats including mp3, ogg, avi, mpeg and quicktime." | ||
4 | HOMEPAGE = "http://gstreamer.freedesktop.org/" | ||
5 | BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=Gstreamer" | ||
6 | SECTION = "multimedia" | ||
7 | LICENSE = "LGPLv2+" | ||
8 | LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605 \ | ||
9 | file://gst/gst.h;beginline=1;endline=21;md5=8e5fe5e87d33a04479fde862e238eaa4" | ||
10 | DEPENDS = "glib-2.0 libxml2 bison-native flex-native" | ||
11 | |||
12 | PR = "r2" | ||
13 | |||
14 | SRC_URI = "http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.bz2 \ | ||
15 | file://check_fix.patch \ | ||
16 | file://gst-inspect-check-error.patch" | ||
17 | |||
18 | SRC_URI[md5sum] = "a0cf7d6877f694a1a2ad2b4d1ecb890b" | ||
19 | SRC_URI[sha256sum] = "e556a529e0a8cf1cd0afd0cab2af5488c9524e7c3f409de29b5d82bb41ae7a30" | ||
20 | |||
21 | inherit autotools pkgconfig gettext | ||
22 | |||
23 | GSTREAMER_DEBUG ?= "--disable-debug" | ||
24 | EXTRA_OECONF = "--disable-docbook --disable-gtk-doc \ | ||
25 | --disable-dependency-tracking --disable-check \ | ||
26 | --disable-examples --disable-tests \ | ||
27 | --disable-valgrind ${GSTREAMER_DEBUG} \ | ||
28 | " | ||
29 | |||
30 | CACHED_CONFIGUREVARS += "ac_cv_header_valgrind_valgrind_h=no" | ||
31 | |||
32 | # apply gstreamer hack after Makefile.in.in in source is replaced by our version from | ||
33 | # ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in, but before configure is executed | ||
34 | # http://lists.linuxtogo.org/pipermail/openembedded-core/2012-November/032233.html | ||
35 | oe_runconf_prepend() { | ||
36 | sed -i -e "1a\\" -e 'GETTEXT_PACKAGE = @GETTEXT_PACKAGE@' ${S}/po/Makefile.in.in | ||
37 | } | ||
38 | |||
39 | #do_compile_prepend () { | ||
40 | # mv ${WORKDIR}/gstregistrybinary.[ch] ${S}/gst/ | ||
41 | #} | ||
42 | |||
43 | RRECOMMENDS_${PN}_qemux86 += "kernel-module-snd-ens1370 kernel-module-snd-rawmidi" | ||
44 | RRECOMMENDS_${PN}_qemux86-64 += "kernel-module-snd-ens1370 kernel-module-snd-rawmidi" | ||
45 | |||
46 | FILES_${PN} += " ${libdir}/gstreamer-0.10/*.so" | ||
47 | FILES_${PN}-dev += " ${libdir}/gstreamer-0.10/*.la ${libdir}/gstreamer-0.10/*.a" | ||
48 | FILES_${PN}-dbg += " ${libdir}/gstreamer-0.10/.debug/ ${libexecdir}/gstreamer-0.10/.debug/" | ||
diff --git a/meta/recipes-multimedia/lame/lame/lame-3.99.5_fix_for_automake-1.12.x.patch b/meta/recipes-multimedia/lame/lame/lame-3.99.5_fix_for_automake-1.12.x.patch new file mode 100644 index 0000000000..571a1d07a3 --- /dev/null +++ b/meta/recipes-multimedia/lame/lame/lame-3.99.5_fix_for_automake-1.12.x.patch | |||
@@ -0,0 +1,59 @@ | |||
1 | Upstream-Status: Pending | ||
2 | |||
3 | Fix this kind of errors with automake 1.12.x: | ||
4 | | doc/man/Makefile.am:3: error: automatic de-ANSI-fication support has been removed | ||
5 | | autoreconf: automake failed with exit status: 1 | ||
6 | |||
7 | Signed-Off-by: Nitin A Kamble <nitin.a.kamble@intel.com> | ||
8 | 2012/07/13 | ||
9 | |||
10 | Index: lame-3.99.5/configure.in | ||
11 | =================================================================== | ||
12 | --- lame-3.99.5.orig/configure.in | ||
13 | +++ lame-3.99.5/configure.in | ||
14 | @@ -77,9 +77,6 @@ if test "${GCC}" = "yes"; then | ||
15 | AC_MSG_RESULT(${GCC_version}) | ||
16 | fi | ||
17 | |||
18 | -dnl more automake stuff | ||
19 | -AM_C_PROTOTYPES | ||
20 | - | ||
21 | AC_CHECK_HEADER(dmalloc.h) | ||
22 | if test "${ac_cv_header_dmalloc_h}" = "yes"; then | ||
23 | AM_WITH_DMALLOC | ||
24 | Index: lame-3.99.5/doc/html/Makefile.am | ||
25 | =================================================================== | ||
26 | --- lame-3.99.5.orig/doc/html/Makefile.am | ||
27 | +++ lame-3.99.5/doc/html/Makefile.am | ||
28 | @@ -1,6 +1,6 @@ | ||
29 | ## $Id: Makefile.am,v 1.7 2010/09/30 20:58:40 jaz001 Exp $ | ||
30 | |||
31 | -AUTOMAKE_OPTIONS = foreign ansi2knr | ||
32 | +AUTOMAKE_OPTIONS = foreign | ||
33 | |||
34 | docdir = $(datadir)/doc | ||
35 | pkgdocdir = $(docdir)/$(PACKAGE) | ||
36 | Index: lame-3.99.5/libmp3lame/i386/Makefile.am | ||
37 | =================================================================== | ||
38 | --- lame-3.99.5.orig/libmp3lame/i386/Makefile.am | ||
39 | +++ lame-3.99.5/libmp3lame/i386/Makefile.am | ||
40 | @@ -1,6 +1,6 @@ | ||
41 | ## $Id: Makefile.am,v 1.26 2011/04/04 09:42:34 aleidinger Exp $ | ||
42 | |||
43 | -AUTOMAKE_OPTIONS = foreign $(top_srcdir)/ansi2knr | ||
44 | +AUTOMAKE_OPTIONS = foreign | ||
45 | |||
46 | DEFS = @DEFS@ @CONFIG_DEFS@ | ||
47 | |||
48 | Index: lame-3.99.5/doc/man/Makefile.am | ||
49 | =================================================================== | ||
50 | --- lame-3.99.5.orig/doc/man/Makefile.am | ||
51 | +++ lame-3.99.5/doc/man/Makefile.am | ||
52 | @@ -1,6 +1,6 @@ | ||
53 | ## $Id: Makefile.am,v 1.1 2000/10/22 11:39:44 aleidinger Exp $ | ||
54 | |||
55 | -AUTOMAKE_OPTIONS = foreign ansi2knr | ||
56 | +AUTOMAKE_OPTIONS = foreign | ||
57 | |||
58 | man_MANS = lame.1 | ||
59 | EXTRA_DIST = ${man_MANS} | ||
diff --git a/meta/recipes-multimedia/lame/lame/no-gtk1.patch b/meta/recipes-multimedia/lame/lame/no-gtk1.patch new file mode 100644 index 0000000000..e88d7f1bb4 --- /dev/null +++ b/meta/recipes-multimedia/lame/lame/no-gtk1.patch | |||
@@ -0,0 +1,20 @@ | |||
1 | Upstream-Status: Inappropriate [configuration] | ||
2 | |||
3 | # Acquired from OpenEmbedded | ||
4 | |||
5 | --- lame-3.96.1/configure.in~no-gtk1.patch 2004-07-25 15:52:12.000000000 +0100 | ||
6 | +++ lame-3.96.1/configure.in 2004-09-10 15:54:39.000000000 +0100 | ||
7 | @@ -363,7 +363,12 @@ | ||
8 | |||
9 | dnl configure use of features | ||
10 | |||
11 | -AM_PATH_GTK(1.2.0, HAVE_GTK="yes", HAVE_GTK="no") | ||
12 | +#AM_PATH_GTK(1.2.0, HAVE_GTK="yes", HAVE_GTK="no") | ||
13 | +HAVE_GTK="no" | ||
14 | +GTK_CFLAGS="" | ||
15 | +GTK_LIBS="" | ||
16 | +AC_SUBST(GTK_CFLAGS) | ||
17 | +AC_SUBST(GTK_LIBS) | ||
18 | |||
19 | dnl ElectricFence malloc debugging | ||
20 | AC_MSG_CHECKING(use of ElectricFence malloc debugging) | ||
diff --git a/meta/recipes-multimedia/lame/lame_3.99.5.bb b/meta/recipes-multimedia/lame/lame_3.99.5.bb new file mode 100644 index 0000000000..907ff8f9d0 --- /dev/null +++ b/meta/recipes-multimedia/lame/lame_3.99.5.bb | |||
@@ -0,0 +1,28 @@ | |||
1 | SUMMARY = "High quality MP3 audio encoder" | ||
2 | HOMEPAGE = "http://lame.sourceforge.net/" | ||
3 | BUGTRACKER = "http://sourceforge.net/tracker/?group_id=290&atid=100290" | ||
4 | SECTION = "console/utils" | ||
5 | LICENSE = "LGPLv2+" | ||
6 | LICENSE_FLAGS = "commercial" | ||
7 | |||
8 | DEPENDS = "ncurses" | ||
9 | |||
10 | LIC_FILES_CHKSUM = "file://COPYING;md5=c46bda00ffbb0ba1dac22f8d087f54d9 \ | ||
11 | file://include/lame.h;beginline=1;endline=20;md5=a2258182c593c398d15a48262130a92b \ | ||
12 | " | ||
13 | PR = "r1" | ||
14 | |||
15 | SRC_URI = "${SOURCEFORGE_MIRROR}/lame/lame-${PV}.tar.gz \ | ||
16 | file://no-gtk1.patch \ | ||
17 | file://lame-3.99.5_fix_for_automake-1.12.x.patch " | ||
18 | |||
19 | SRC_URI[md5sum] = "84835b313d4a8b68f5349816d33e07ce" | ||
20 | SRC_URI[sha256sum] = "24346b4158e4af3bd9f2e194bb23eb473c75fb7377011523353196b19b9a23ff" | ||
21 | |||
22 | inherit autotools | ||
23 | |||
24 | PACKAGES += "libmp3lame libmp3lame-dev" | ||
25 | FILES_${PN} = "${bindir}/lame" | ||
26 | FILES_libmp3lame = "${libdir}/libmp3lame.so.*" | ||
27 | FILES_libmp3lame-dev = "${includedir} ${libdir}/*" | ||
28 | FILES_${PN}-dev = "" | ||
diff --git a/meta/recipes-multimedia/liba52/liba52/buildcleanup.patch b/meta/recipes-multimedia/liba52/liba52/buildcleanup.patch new file mode 100644 index 0000000000..5168100f3a --- /dev/null +++ b/meta/recipes-multimedia/liba52/liba52/buildcleanup.patch | |||
@@ -0,0 +1,89 @@ | |||
1 | It makes much more sense to control our own CFLAGS and avoiding fPIC breaks | ||
2 | some arches too. Assume we know what we're doing and remove all the messing | ||
3 | around. | ||
4 | |||
5 | RP 23/2/10 | ||
6 | |||
7 | Upstream-Status: Inappropriate [configuration] | ||
8 | |||
9 | Index: a52dec-0.7.4/configure.in | ||
10 | =================================================================== | ||
11 | --- a52dec-0.7.4.orig/configure.in 2010-02-23 14:51:50.000000000 +0000 | ||
12 | +++ a52dec-0.7.4/configure.in 2010-02-23 14:52:36.000000000 +0000 | ||
13 | @@ -14,62 +14,6 @@ | ||
14 | AC_PROG_CC | ||
15 | AC_PROG_GCC_TRADITIONAL | ||
16 | |||
17 | -if test x"$GCC" = x"yes"; then | ||
18 | - | ||
19 | - dnl GCC-specific flags - try to optimize them sometime | ||
20 | - dnl -Wall -Werror moved to the end to not disturb the configure script | ||
21 | - | ||
22 | - dnl -O3 | ||
23 | - changequote(<<,>>) | ||
24 | - OPT_CFLAGS=`echo "$CFLAGS"|sed "s/-O[0-9]*//g"` | ||
25 | - changequote([,]) | ||
26 | - OPT_CFLAGS="$OPT_CFLAGS -O3" | ||
27 | - AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS]) | ||
28 | - | ||
29 | - dnl -fomit-frame-pointer | ||
30 | - OPT_CFLAGS="$CFLAGS -fomit-frame-pointer" | ||
31 | - AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS]) | ||
32 | - | ||
33 | - dnl arch-specific flags | ||
34 | - case "$host" in | ||
35 | - i?86-* | k?-*) | ||
36 | - case "$host" in | ||
37 | - i386-*) OPT_CFLAGS="$CFLAGS -mcpu=i386";; | ||
38 | - i486-*) OPT_CFLAGS="$CFLAGS -mcpu=i486";; | ||
39 | - i586-*) OPT_CFLAGS="$CFLAGS -mcpu=pentium";; | ||
40 | - i686-*) OPT_CFLAGS="$CFLAGS -mcpu=pentiumpro";; | ||
41 | - k6-*) OPT_CFLAGS="$CFLAGS -mcpu=k6";; | ||
42 | - esac | ||
43 | - AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS]);; | ||
44 | - sparc-* | sparc64-*) | ||
45 | - OPT_CFLAGS="$CFLAGS -mtune=ultrasparc" | ||
46 | - AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS]);; | ||
47 | - mips-sgi-irix6.*) dnl do we need to be that specific ? | ||
48 | - OPT_CFLAGS="$CFLAGS -mabi=64" | ||
49 | - AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS]);; | ||
50 | - esac | ||
51 | -elif test x"$CC" = x"tcc" -a x"`$CC -version 2>&1 | grep TenDRA`" != x""; then | ||
52 | - dnl TenDRA portability checking compiler | ||
53 | - TENDRA=yes | ||
54 | - CFLAGS="-Xp -Yansi -f`pwd`/include/tendra.h -DELIDE_CODE" | ||
55 | - enable_mlib=no | ||
56 | - enable_oss=no | ||
57 | - enable_solaris_audio=no | ||
58 | -elif test x"$CC" = x"icc" -a x"`$CC -V 2>&1 | grep Intel`" != x""; then | ||
59 | - dnl Intel C++ compiler | ||
60 | - CFLAGS="-g -O3 -unroll -ip" | ||
61 | -else | ||
62 | - dnl non-gcc flags - we probably need exact configuration triplets here. | ||
63 | - case "$host" in | ||
64 | - mips-sgi-irix6.*) | ||
65 | - OPT_CFLAGS="$CFLAGS -64" | ||
66 | - AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS]);; | ||
67 | - sparc-sun-solaris*) | ||
68 | - OPT_CFLAGS="$CFLAGS -xCC -fast -xO5" | ||
69 | - AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS]);; | ||
70 | - esac | ||
71 | -fi | ||
72 | - | ||
73 | dnl Checks for libtool - this must be done after we set cflags | ||
74 | AC_DISABLE_SHARED | ||
75 | AC_LIBTOOL_WIN32_DLL | ||
76 | Index: a52dec-0.7.4/liba52/configure.incl | ||
77 | =================================================================== | ||
78 | --- a52dec-0.7.4.orig/liba52/configure.incl 2010-02-23 14:51:44.000000000 +0000 | ||
79 | +++ a52dec-0.7.4/liba52/configure.incl 2010-02-23 14:51:59.000000000 +0000 | ||
80 | @@ -1,9 +1,6 @@ | ||
81 | AC_SUBST([LIBA52_CFLAGS]) | ||
82 | AC_SUBST([LIBA52_LIBS]) | ||
83 | |||
84 | -dnl avoid -fPIC when possible | ||
85 | -LIBA52_CFLAGS="$LIBA52_CFLAGS -prefer-non-pic" | ||
86 | - | ||
87 | AC_ARG_ENABLE([double], | ||
88 | [ --enable-double use double-precision samples]) | ||
89 | 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..94b66b189e --- /dev/null +++ b/meta/recipes-multimedia/liba52/liba52_0.7.4.bb | |||
@@ -0,0 +1,23 @@ | |||
1 | SUMMARY = "ATSC A/52 surround sound stream decoder" | ||
2 | HOMEPAGE = "http://liba52.sourceforge.net/" | ||
3 | LICENSE = "GPLv2+" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \ | ||
5 | file://include/a52.h;beginline=1;endline=12;md5=81152ceb3562bf20a60d1b6018175dd1" | ||
6 | SECTION = "libs" | ||
7 | PR = "r4" | ||
8 | |||
9 | inherit autotools | ||
10 | |||
11 | SRC_URI = "http://liba52.sourceforge.net/files/a52dec-${PV}.tar.gz \ | ||
12 | file://buildcleanup.patch" | ||
13 | |||
14 | SRC_URI[md5sum] = "caa9f5bc44232dc8aeea773fea56be80" | ||
15 | SRC_URI[sha256sum] = "a21d724ab3b3933330194353687df82c475b5dfb997513eef4c25de6c865ec33" | ||
16 | S = "${WORKDIR}/a52dec-${PV}" | ||
17 | |||
18 | EXTRA_OECONF = " --enable-shared " | ||
19 | |||
20 | PACKAGES =+ "a52dec a52dec-doc" | ||
21 | |||
22 | FILES_a52dec = " ${bindir}/* " | ||
23 | FILES_a52dec-doc = " ${mandir}/man1/* " | ||
diff --git a/meta/recipes-multimedia/libav/libav.inc b/meta/recipes-multimedia/libav/libav.inc new file mode 100644 index 0000000000..5e675be3ca --- /dev/null +++ b/meta/recipes-multimedia/libav/libav.inc | |||
@@ -0,0 +1,132 @@ | |||
1 | SUMMARY = "A complete, cross-platform solution to record, convert and stream audio and video" | ||
2 | HOMEPAGE = "http://libav.org/" | ||
3 | SECTION = "libs" | ||
4 | LICENSE = "GPLv2+" | ||
5 | LICENSE_FLAGS = "commercial" | ||
6 | |||
7 | # Provides ffmpeg compat, see http://libav.org/about.html | ||
8 | PROVIDES = "ffmpeg" | ||
9 | |||
10 | ARM_INSTRUCTION_SET = "arm" | ||
11 | |||
12 | DEPENDS = "virtual/libsdl zlib libogg libvorbis libtheora yasm-native" | ||
13 | |||
14 | INC_PR = "r8" | ||
15 | |||
16 | inherit autotools pkgconfig | ||
17 | |||
18 | B = "${S}/build.${HOST_SYS}.${TARGET_SYS}" | ||
19 | |||
20 | FULL_OPTIMIZATION_armv7a = "-fexpensive-optimizations -fomit-frame-pointer -O4 -ffast-math" | ||
21 | BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}" | ||
22 | |||
23 | EXTRA_FFCONF_armv7a = "--cpu=cortex-a8" | ||
24 | EXTRA_FFCONF ?= "" | ||
25 | |||
26 | PACKAGECONFIG ??= "bzip2 x264 ${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}" | ||
27 | PACKAGECONFIG[jack] = "--enable-indev=jack,--disable-indev=jack,jack" | ||
28 | PACKAGECONFIG[bzip2] = "--enable-bzlib,--disable-bzlib,bzip2" | ||
29 | PACKAGECONFIG[schroedinger] = "--enable-libschroedinger,--disable-libschroedinger,schroedinger" | ||
30 | PACKAGECONFIG[gsm] = "--enable-libgsm,--disable-libgsm,libgsm" | ||
31 | PACKAGECONFIG[x264] = "--enable-libx264,--disable-libx264,x264" | ||
32 | PACKAGECONFIG[vpx] = "--enable-libvpx,--disable-libvpx,libvpx" | ||
33 | PACKAGECONFIG[mp3lame] = "--enable-libmp3lame,--disable-libmp3lame,lame" | ||
34 | PACKAGECONFIG[faac] = "--enable-libfaac,--disable-libfaac,faac" | ||
35 | PACKAGECONFIG[x11] = "--enable-x11grab,--disable-x11grab,virtual/libx11 libxfixes libxext xproto" | ||
36 | |||
37 | EXTRA_OECONF = " \ | ||
38 | --enable-shared \ | ||
39 | --enable-pthreads \ | ||
40 | --enable-gpl \ | ||
41 | --enable-avfilter \ | ||
42 | \ | ||
43 | --cross-prefix=${TARGET_PREFIX} \ | ||
44 | --prefix=${prefix} \ | ||
45 | \ | ||
46 | --enable-avserver \ | ||
47 | --enable-avplay \ | ||
48 | --ld="${CCLD}" \ | ||
49 | --enable-libtheora \ | ||
50 | --enable-libvorbis \ | ||
51 | --arch=${TARGET_ARCH} \ | ||
52 | --target-os="linux" \ | ||
53 | --enable-cross-compile \ | ||
54 | --extra-cflags="${TARGET_CFLAGS} ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" \ | ||
55 | --extra-ldflags="${TARGET_LDFLAGS}" \ | ||
56 | --sysroot="${STAGING_DIR_TARGET}" \ | ||
57 | --enable-hardcoded-tables \ | ||
58 | ${EXTRA_FFCONF} \ | ||
59 | --libdir=${libdir} \ | ||
60 | --shlibdir=${libdir} \ | ||
61 | " | ||
62 | |||
63 | do_configure() { | ||
64 | # We don't have TARGET_PREFIX-pkgconfig | ||
65 | sed -i '/pkg_config_default="${cross_prefix}${pkg_config_default}"/d' ${S}/configure | ||
66 | mkdir -p ${B} | ||
67 | cd ${B} | ||
68 | ${S}/configure ${EXTRA_OECONF} | ||
69 | sed -i -e s:Os:O4:g ${B}/config.h | ||
70 | } | ||
71 | |||
72 | do_install_append() { | ||
73 | install -m 0644 ${S}/libavfilter/*.h ${D}${includedir}/libavfilter/ | ||
74 | } | ||
75 | |||
76 | FFMPEG_LIBS = "libavcodec libavdevice libavformat \ | ||
77 | libavutil libpostproc libswscale libavfilter" | ||
78 | |||
79 | PACKAGES += "${PN}-vhook-dbg ${PN}-vhook ffmpeg-x264-presets" | ||
80 | |||
81 | RSUGGESTS_${PN} = "mplayer" | ||
82 | FILES_${PN} = "${bindir}" | ||
83 | FILES_${PN}-dev = "${includedir}/${PN}" | ||
84 | |||
85 | FILES_${PN}-vhook = "${libdir}/vhook" | ||
86 | FILES_${PN}-vhook-dbg += "${libdir}/vhook/.debug" | ||
87 | |||
88 | FILES_ffmpeg-x264-presets = "${datadir}/*.avpreset" | ||
89 | |||
90 | LEAD_SONAME = "libavcodec.so" | ||
91 | |||
92 | FILES_${PN}-dev = "${includedir}" | ||
93 | |||
94 | python populate_packages_prepend() { | ||
95 | av_libdir = d.expand('${libdir}') | ||
96 | av_pkgconfig = d.expand('${libdir}/pkgconfig') | ||
97 | |||
98 | # Runtime package | ||
99 | do_split_packages(d, av_libdir, '^lib(.*)\.so\..*', | ||
100 | output_pattern='lib%s', | ||
101 | description='libav %s library', | ||
102 | extra_depends='', | ||
103 | prepend=True, | ||
104 | allow_links=True) | ||
105 | |||
106 | # Development packages (-dev, -staticdev) | ||
107 | do_split_packages(d, av_libdir, '^lib(.*)\.so$', | ||
108 | output_pattern='lib%s-dev', | ||
109 | description='libav %s development package', | ||
110 | extra_depends='${PN}-dev', | ||
111 | prepend=True, | ||
112 | allow_links=True) | ||
113 | do_split_packages(d, av_pkgconfig, '^lib(.*)\.pc$', | ||
114 | output_pattern='lib%s-dev', | ||
115 | description='libav %s development package', | ||
116 | extra_depends='${PN}-dev', | ||
117 | prepend=True) | ||
118 | do_split_packages(d, av_libdir, '^lib(.*)\.a$', | ||
119 | output_pattern='lib%s-staticdev', | ||
120 | description='libav %s development package - static library', | ||
121 | extra_depends='${PN}-dev', | ||
122 | prepend=True, | ||
123 | allow_links=True) | ||
124 | |||
125 | if d.getVar('TARGET_ARCH', True) == 'i586': | ||
126 | # libav can't be build with -fPIC for 32-bit x86 | ||
127 | pkgs = d.getVar('PACKAGES', True).split() | ||
128 | for pkg in pkgs: | ||
129 | d.appendVar('INSANE_SKIP_%s' % pkg, ' textrel') | ||
130 | } | ||
131 | |||
132 | PACKAGES_DYNAMIC += "^lib(av(codec|device|filter|format|util)|postproc|swscale).*" | ||
diff --git a/meta/recipes-multimedia/libav/libav/0001-configure-enable-pic-for-AArch64.patch b/meta/recipes-multimedia/libav/libav/0001-configure-enable-pic-for-AArch64.patch new file mode 100644 index 0000000000..d9b22b9b6a --- /dev/null +++ b/meta/recipes-multimedia/libav/libav/0001-configure-enable-pic-for-AArch64.patch | |||
@@ -0,0 +1,23 @@ | |||
1 | From 58db99e98f615d79ea90cac8f4bcf11c94e3e7c7 Mon Sep 17 00:00:00 2001 | ||
2 | From: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> | ||
3 | Date: Thu, 10 Jan 2013 12:42:19 +0100 | ||
4 | Subject: [PATCH] configure: enable pic for AArch64 | ||
5 | |||
6 | Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> | ||
7 | |||
8 | Upstream-Status: Backport | ||
9 | --- | ||
10 | configure | 2 +- | ||
11 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
12 | |||
13 | --- git.orig/configure | ||
14 | +++ git/configure | ||
15 | @@ -2393,7 +2393,7 @@ check_host_cflags -std=c99 | ||
16 | check_host_cflags -Wall | ||
17 | |||
18 | case "$arch" in | ||
19 | - alpha|ia64|mips|parisc|ppc|sparc) | ||
20 | + alpha|ia64|mips|parisc|ppc|sparc|aarch64) | ||
21 | spic=$shared | ||
22 | ;; | ||
23 | x86) | ||
diff --git a/meta/recipes-multimedia/libav/libav_0.8.9.bb b/meta/recipes-multimedia/libav/libav_0.8.9.bb new file mode 100644 index 0000000000..7c807e887e --- /dev/null +++ b/meta/recipes-multimedia/libav/libav_0.8.9.bb | |||
@@ -0,0 +1,18 @@ | |||
1 | require libav.inc | ||
2 | |||
3 | SRC_URI = "http://libav.org/releases/${BP}.tar.xz \ | ||
4 | file://0001-configure-enable-pic-for-AArch64.patch" | ||
5 | |||
6 | SRC_URI[md5sum] = "7c0e5743cd5c4d4b1bcafd02a2e82e09" | ||
7 | SRC_URI[sha256sum] = "4f5181164e4007d5b0013bb3cc5e3b7393ab71ac286319c714b7697e2784f77f" | ||
8 | |||
9 | LIC_FILES_CHKSUM = "file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ | ||
10 | file://COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \ | ||
11 | file://COPYING.LGPLv2.1;md5=e344c8fa836c3a41c4cbd79d7bd3a379 \ | ||
12 | file://COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02" | ||
13 | |||
14 | PROVIDES += "libpostproc" | ||
15 | |||
16 | EXTRA_OECONF += " \ | ||
17 | --enable-postproc \ | ||
18 | " | ||
diff --git a/meta/recipes-multimedia/libav/libav_9.10.bb b/meta/recipes-multimedia/libav/libav_9.10.bb new file mode 100644 index 0000000000..48bab7d018 --- /dev/null +++ b/meta/recipes-multimedia/libav/libav_9.10.bb | |||
@@ -0,0 +1,13 @@ | |||
1 | require libav.inc | ||
2 | |||
3 | LIC_FILES_CHKSUM = "file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ | ||
4 | file://COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \ | ||
5 | file://COPYING.LGPLv2.1;md5=bd7a443320af8c812e4c18d1b79df004 \ | ||
6 | file://COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02" | ||
7 | |||
8 | SRC_URI = "http://libav.org/releases/${BP}.tar.xz" | ||
9 | |||
10 | SRC_URI[md5sum] = "4b49d1d8734815ca095bb0600d41c5cb" | ||
11 | SRC_URI[sha256sum] = "83dbe640779da1c1e8d8836c99575f57f749d18407494ebca451578afee9300d" | ||
12 | |||
13 | DEFAULT_PREFERENCE = "-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..38d40c3632 --- /dev/null +++ b/meta/recipes-multimedia/libid3tag/libid3tag/addpkgconfig.patch | |||
@@ -0,0 +1,43 @@ | |||
1 | Upstream-Status: Inappropriate [configuration] | ||
2 | |||
3 | Index: libid3tag-0.15.1b/Makefile.am | ||
4 | =================================================================== | ||
5 | --- libid3tag-0.15.1b.orig/Makefile.am 2009-07-29 09:29:20.000000000 +0100 | ||
6 | +++ libid3tag-0.15.1b/Makefile.am 2009-07-29 09:29:47.000000000 +0100 | ||
7 | @@ -27,6 +27,9 @@ | ||
8 | lib_LTLIBRARIES = libid3tag.la | ||
9 | include_HEADERS = id3tag.h | ||
10 | |||
11 | +pkgconfigdir = $(libdir)/pkgconfig | ||
12 | +pkgconfig_DATA = id3tag.pc | ||
13 | + | ||
14 | ## From the libtool documentation on library versioning: | ||
15 | ## | ||
16 | ## CURRENT | ||
17 | Index: libid3tag-0.15.1b/configure.ac | ||
18 | =================================================================== | ||
19 | --- libid3tag-0.15.1b.orig/configure.ac 2009-07-29 09:27:15.000000000 +0100 | ||
20 | +++ libid3tag-0.15.1b/configure.ac 2009-07-29 09:27:45.000000000 +0100 | ||
21 | @@ -201,5 +201,5 @@ | ||
22 | dnl AC_SUBST(LTLIBOBJS) | ||
23 | |||
24 | AC_CONFIG_FILES([Makefile msvc++/Makefile \ | ||
25 | - libid3tag.list]) | ||
26 | + libid3tag.list id3tag.pc]) | ||
27 | AC_OUTPUT | ||
28 | Index: libid3tag-0.15.1b/id3tag.pc.in | ||
29 | =================================================================== | ||
30 | --- /dev/null 1970-01-01 00:00:00.000000000 +0000 | ||
31 | +++ libid3tag-0.15.1b/id3tag.pc.in 2009-07-29 09:29:10.000000000 +0100 | ||
32 | @@ -0,0 +1,11 @@ | ||
33 | +prefix=@prefix@ | ||
34 | +exec_prefix=@exec_prefix@ | ||
35 | +libdir=@libdir@ | ||
36 | +includedir=@includedir@ | ||
37 | + | ||
38 | +Name: id3tag | ||
39 | +Description: ID3 tag reading library | ||
40 | +Requires: | ||
41 | +Version: @VERSION@ | ||
42 | +Libs: -L${libdir} -lid3tag -lz | ||
43 | +Cflags: -I${includedir} | ||
diff --git a/meta/recipes-multimedia/libid3tag/libid3tag/obsolete_automake_macros.patch b/meta/recipes-multimedia/libid3tag/libid3tag/obsolete_automake_macros.patch new file mode 100644 index 0000000000..8a04b54efd --- /dev/null +++ b/meta/recipes-multimedia/libid3tag/libid3tag/obsolete_automake_macros.patch | |||
@@ -0,0 +1,14 @@ | |||
1 | Upstream-Status: Submitted [https://sourceforge.net/tracker/?func=detail&aid=3599280&group_id=12349&atid=112349] | ||
2 | |||
3 | Signed-off-by: Marko Lindqvist <cazfi74@gmail.com> | ||
4 | diff -Nurd libid3tag-0.15.1b/configure.ac libid3tag-0.15.1b/configure.ac | ||
5 | --- libid3tag-0.15.1b/configure.ac 2004-01-24 01:22:46.000000000 +0200 | ||
6 | +++ libid3tag-0.15.1b/configure.ac 2013-01-03 06:41:02.734835014 +0200 | ||
7 | @@ -28,7 +28,7 @@ | ||
8 | |||
9 | AM_INIT_AUTOMAKE | ||
10 | |||
11 | -AM_CONFIG_HEADER([config.h]) | ||
12 | +AC_CONFIG_HEADERS([config.h]) | ||
13 | |||
14 | dnl System type. | ||
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..05a8a47631 --- /dev/null +++ b/meta/recipes-multimedia/libid3tag/libid3tag_0.15.1b.bb | |||
@@ -0,0 +1,22 @@ | |||
1 | SUMMARY = "Library for interacting with ID3 tags in MP3 files" | ||
2 | HOMEPAGE = "http://sourceforge.net/projects/mad/" | ||
3 | BUGTRACKER = "http://sourceforge.net/tracker/?group_id=12349&atid=112349" | ||
4 | LICENSE = "GPLv2+" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ | ||
6 | file://COPYRIGHT;md5=5e6279efb87c26c6e5e7a68317a6a87a \ | ||
7 | file://version.h;beginline=1;endline=8;md5=86ac68b67f054b7afde9e149bbc3fe63" | ||
8 | SECTION = "libs" | ||
9 | DEPENDS = "zlib gperf-native" | ||
10 | PR = "r7" | ||
11 | |||
12 | SRC_URI = "ftp://ftp.mars.org/pub/mpeg/libid3tag-${PV}.tar.gz \ | ||
13 | file://addpkgconfig.patch \ | ||
14 | file://obsolete_automake_macros.patch \ | ||
15 | " | ||
16 | |||
17 | SRC_URI[md5sum] = "e5808ad997ba32c498803822078748c3" | ||
18 | SRC_URI[sha256sum] = "63da4f6e7997278f8a3fef4c6a372d342f705051d1eeb6a46a86b03610e26151" | ||
19 | |||
20 | S = "${WORKDIR}/libid3tag-${PV}" | ||
21 | |||
22 | inherit autotools pkgconfig | ||
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..b49dc8c983 --- /dev/null +++ b/meta/recipes-multimedia/libmad/libmad/add-pkgconfig.patch | |||
@@ -0,0 +1,70 @@ | |||
1 | Here is a patch for adding pkg-config support to libmad. | ||
2 | It would make life a bit easier for distro maintainers if this was applied. | ||
3 | In case you didn't know, pkg-config is a tool for providing LDFLAGS and | ||
4 | CFLAGS for packages using shared libraries. It's on freedesktop.org. | ||
5 | Debian has already been distributing the pkg-config file mad.pc with | ||
6 | libmad for some time, and people developing on debian (notably xmms2 | ||
7 | developers) have started relying on this support being present, causing | ||
8 | some confusion for people installing from source and on some BSDs which | ||
9 | do not provide mad.pc (google: pkgconfig libmad). | ||
10 | |||
11 | EMH | ||
12 | |||
13 | Upstream-Status: Inappropriate [configuration] | ||
14 | |||
15 | --h31gzZEtNLTqOjlF | ||
16 | Content-Type: text/plain; charset=us-ascii | ||
17 | Content-Disposition: attachment; filename="libmad-0.15.1b-pkgconfig.patch" | ||
18 | |||
19 | diff -Naur libmad-0.15.1b.old/configure.ac libmad-0.15.1b/configure.ac | ||
20 | --- libmad-0.15.1b.old/configure.ac 2004-01-23 10:41:32.000000000 +0100 | ||
21 | +++ libmad-0.15.1b/configure.ac 2004-08-07 02:25:24.633462168 +0200 | ||
22 | @@ -429,5 +429,5 @@ | ||
23 | dnl AC_SUBST(LTLIBOBJS) | ||
24 | |||
25 | AC_CONFIG_FILES([Makefile msvc++/Makefile \ | ||
26 | - libmad.list]) | ||
27 | + libmad.list mad.pc]) | ||
28 | AC_OUTPUT | ||
29 | diff -Naur libmad-0.15.1b.old/mad.pc.in libmad-0.15.1b/mad.pc.in | ||
30 | --- libmad-0.15.1b.old/mad.pc.in 1970-01-01 01:00:00.000000000 +0100 | ||
31 | +++ libmad-0.15.1b/mad.pc.in 2004-08-07 02:04:59.617692872 +0200 | ||
32 | @@ -0,0 +1,14 @@ | ||
33 | +# libmad pkg-config source file | ||
34 | + | ||
35 | +prefix=@prefix@ | ||
36 | +exec_prefix=@exec_prefix@ | ||
37 | +libdir=@libdir@ | ||
38 | +includedir=@includedir@ | ||
39 | + | ||
40 | +Name: mad | ||
41 | +Description: MPEG Audio Decoder | ||
42 | +Version: @VERSION@ | ||
43 | +Requires: | ||
44 | +Conflicts: | ||
45 | +Libs: -L${libdir} -lmad -lm | ||
46 | +Cflags: -I${includedir} | ||
47 | diff -Naur libmad-0.15.1b.old/Makefile.am libmad-0.15.1b/Makefile.am | ||
48 | --- libmad-0.15.1b.old/Makefile.am 2004-02-17 03:02:03.000000000 +0100 | ||
49 | +++ libmad-0.15.1b/Makefile.am 2004-08-07 02:03:19.859858368 +0200 | ||
50 | @@ -24,6 +24,9 @@ | ||
51 | SUBDIRS = | ||
52 | DIST_SUBDIRS = msvc++ | ||
53 | |||
54 | +pkgconfigdir = $(libdir)/pkgconfig | ||
55 | +pkgconfig_DATA = mad.pc | ||
56 | + | ||
57 | lib_LTLIBRARIES = libmad.la | ||
58 | include_HEADERS = mad.h | ||
59 | |||
60 | @@ -34,7 +37,8 @@ | ||
61 | minimad_LDADD = libmad.la | ||
62 | |||
63 | EXTRA_DIST = mad.h.sed \ | ||
64 | - CHANGES COPYRIGHT CREDITS README TODO VERSION | ||
65 | + CHANGES COPYRIGHT CREDITS README TODO VERSION \ | ||
66 | + mad.pc.in | ||
67 | |||
68 | exported_headers = version.h fixed.h bit.h timer.h stream.h frame.h \ | ||
69 | synth.h decoder.h | ||
70 | |||
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..01c7aa3c8c --- /dev/null +++ b/meta/recipes-multimedia/libmad/libmad/fix_for_mips_with_gcc-4.5.0.patch | |||
@@ -0,0 +1,33 @@ | |||
1 | gcc 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 | |||
3 | so the libmad build with gcc-4.5.0 was failing. | ||
4 | |||
5 | Found a solution here: | ||
6 | |||
7 | http://us.generation-nt.com/answer/bug-568418-libmad0-dev-mpg321-compilation-errors-mips-mipsel-architectures-help-169033451.html | ||
8 | |||
9 | Upstream-Status: Pending | ||
10 | |||
11 | 2010/07/29 | ||
12 | Nitin A Kamble <nitin.a.kamble@intel.com> | ||
13 | |||
14 | Index: libmad-0.15.1b/fixed.h | ||
15 | =================================================================== | ||
16 | --- libmad-0.15.1b.orig/fixed.h | ||
17 | +++ libmad-0.15.1b/fixed.h | ||
18 | @@ -297,6 +297,15 @@ mad_fixed_t mad_f_mul_inline(mad_fixed_t | ||
19 | |||
20 | /* --- MIPS ---------------------------------------------------------------- */ | ||
21 | |||
22 | +# elif defined(FPM_MIPS) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) | ||
23 | + typedef unsigned int u64_di_t __attribute__ ((mode (DI))); | ||
24 | +# define MAD_F_MLX(hi, lo, x, y) \ | ||
25 | + do { \ | ||
26 | + u64_di_t __ll = (u64_di_t) (x) * (y); \ | ||
27 | + hi = __ll >> 32; \ | ||
28 | + lo = __ll; \ | ||
29 | + } while (0) | ||
30 | + | ||
31 | # elif defined(FPM_MIPS) | ||
32 | |||
33 | /* | ||
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..d5e6d206e2 --- /dev/null +++ b/meta/recipes-multimedia/libmad/libmad/no-force-mem.patch | |||
@@ -0,0 +1,18 @@ | |||
1 | This option no longer exists in gcc 3.4.1 | ||
2 | |||
3 | RP - 18/07/2008 | ||
4 | |||
5 | Upstream-Status: Inappropriate [configuration] | ||
6 | |||
7 | Index: libmad-0.15.1b/configure.ac | ||
8 | =================================================================== | ||
9 | --- libmad-0.15.1b.orig/configure.ac 2008-07-18 15:45:30.000000000 +0100 | ||
10 | +++ libmad-0.15.1b/configure.ac 2008-07-18 15:45:37.000000000 +0100 | ||
11 | @@ -140,7 +140,6 @@ | ||
12 | case "$optimize" in | ||
13 | -O|"-O "*) | ||
14 | optimize="-O" | ||
15 | - optimize="$optimize -fforce-mem" | ||
16 | optimize="$optimize -fforce-addr" | ||
17 | : #x optimize="$optimize -finline-functions" | ||
18 | : #- optimize="$optimize -fstrength-reduce" | ||
diff --git a/meta/recipes-multimedia/libmad/libmad/obsolete_automake_macros.patch b/meta/recipes-multimedia/libmad/libmad/obsolete_automake_macros.patch new file mode 100644 index 0000000000..cc87d299ed --- /dev/null +++ b/meta/recipes-multimedia/libmad/libmad/obsolete_automake_macros.patch | |||
@@ -0,0 +1,14 @@ | |||
1 | Upstream-Status: Submitted [https://sourceforge.net/tracker/?group_id=12349&atid=112349] | ||
2 | |||
3 | Signed-off-by: Marko Lindqvist <cazfi74@gmail.com> | ||
4 | diff -Nurd libmad-0.15.1b/configure.ac libmad-0.15.1b/configure.ac | ||
5 | --- libmad-0.15.1b/configure.ac 2004-01-23 11:41:32.000000000 +0200 | ||
6 | +++ libmad-0.15.1b/configure.ac 2013-01-03 08:28:23.718693697 +0200 | ||
7 | @@ -28,7 +28,7 @@ | ||
8 | |||
9 | AM_INIT_AUTOMAKE | ||
10 | |||
11 | -AM_CONFIG_HEADER([config.h]) | ||
12 | +AC_CONFIG_HEADERS([config.h]) | ||
13 | |||
14 | dnl System type. | ||
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..58d68a639b --- /dev/null +++ b/meta/recipes-multimedia/libmad/libmad_0.15.1b.bb | |||
@@ -0,0 +1,37 @@ | |||
1 | SUMMARY = "MPEG Audio Decoder library" | ||
2 | HOMEPAGE = "http://sourceforge.net/projects/mad/" | ||
3 | BUGTRACKER = "http://sourceforge.net/tracker/?group_id=12349&atid=112349" | ||
4 | LICENSE = "GPLv2+" | ||
5 | LICENSE_FLAGS = "commercial" | ||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ | ||
7 | file://COPYRIGHT;md5=8e55eb14894e782b84488d5a239bc23d \ | ||
8 | file://version.h;beginline=1;endline=8;md5=aa07311dd39288d4349f28e1de516454" | ||
9 | SECTION = "libs" | ||
10 | DEPENDS = "libid3tag" | ||
11 | PR = "r3" | ||
12 | |||
13 | SRC_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 | file://obsolete_automake_macros.patch \ | ||
18 | " | ||
19 | |||
20 | SRC_URI[md5sum] = "1be543bc30c56fb6bea1d7bf6a64e66c" | ||
21 | SRC_URI[sha256sum] = "bbfac3ed6bfbc2823d3775ebb931087371e142bb0e9bb1bee51a76a6e0078690" | ||
22 | |||
23 | S = "${WORKDIR}/libmad-${PV}" | ||
24 | |||
25 | inherit autotools pkgconfig | ||
26 | |||
27 | EXTRA_OECONF = "-enable-speed --enable-shared" | ||
28 | # The ASO's don't take any account of thumb... | ||
29 | EXTRA_OECONF_append_thumb = " --disable-aso --enable-fpm=default" | ||
30 | EXTRA_OECONF_append_arm = " --enable-fpm=arm" | ||
31 | |||
32 | do_configure_prepend () { | ||
33 | # damn picky automake... | ||
34 | touch NEWS AUTHORS ChangeLog | ||
35 | } | ||
36 | |||
37 | ARM_INSTRUCTION_SET = "arm" | ||
diff --git a/meta/recipes-multimedia/libogg/libogg_1.3.1.bb b/meta/recipes-multimedia/libogg/libogg_1.3.1.bb new file mode 100644 index 0000000000..0c12e07c7c --- /dev/null +++ b/meta/recipes-multimedia/libogg/libogg_1.3.1.bb | |||
@@ -0,0 +1,17 @@ | |||
1 | SUMMARY = "Ogg bitstream and framing libary" | ||
2 | DESCRIPTION = "libogg is the bitstream and framing library \ | ||
3 | for the Ogg project. It provides functions which are \ | ||
4 | necessary to codec libraries like libvorbis." | ||
5 | HOMEPAGE = "http://xiph.org/" | ||
6 | BUGTRACKER = "https://trac.xiph.org/newticket" | ||
7 | SECTION = "libs" | ||
8 | LICENSE = "BSD" | ||
9 | LIC_FILES_CHKSUM = "file://COPYING;md5=db1b7a668b2a6f47b2af88fb008ad555 \ | ||
10 | file://include/ogg/ogg.h;beginline=1;endline=11;md5=eda812856f13a3b1326eb8f020cc3b0b" | ||
11 | |||
12 | SRC_URI = "http://downloads.xiph.org/releases/ogg/libogg-${PV}.tar.xz" | ||
13 | |||
14 | SRC_URI[md5sum] = "ca25d8da0ddfc8c6cbbf78d847a209fe" | ||
15 | SRC_URI[sha256sum] = "3a5bad78d81afb78908326d11761c0fb1a0662ee7150b6ad587cc586838cdcfa" | ||
16 | |||
17 | inherit autotools pkgconfig | ||
diff --git a/meta/recipes-multimedia/libomxil/libomxil-0.9.3/configure-fix.patch b/meta/recipes-multimedia/libomxil/libomxil-0.9.3/configure-fix.patch new file mode 100644 index 0000000000..876e80ef76 --- /dev/null +++ b/meta/recipes-multimedia/libomxil/libomxil-0.9.3/configure-fix.patch | |||
@@ -0,0 +1,58 @@ | |||
1 | To enable --disable-Werror for libomxil to avoid some compilers which check code strictly. | ||
2 | |||
3 | For example, at least the following errors happened to some compilers: | ||
4 | |||
5 | 1) OMX_INDEXTYPE in include/OMX_Index.h IS NOT OMX_INDEXVENDORTYPE in src/base/omx_base_component.h | ||
6 | | i586-poky-linux-libtool: compile: i586-poky-linux-gcc -m32 -march=i586 --sysroot=/home/yocto-build5/poky/build/tmp/sysroots/qemux86 -DHAVE_Climinate-unused-debug-types -Wall -Werror -DCONFIG_DEBUG_LEVEL=0 -c OMXComponentRMExt.c -fPIC -DPIC -o .libs/libomxbase_la-OMXComponentRMExt.o | ||
7 | | omx_base_component.c: In function 'omx_base_component_GetParameter': | ||
8 | | omx_base_component.c:991:3: error: case value '2130706435' not in enumerated type 'OMX_INDEXTYPE' [-Werror=switch] | ||
9 | | omx_base_component.c:918:3: error: case value '2130706436' not in enumerated type 'OMX_INDEXTYPE' [-Werror=switch] | ||
10 | |||
11 | 2) | ||
12 | | i586-poky-linux-gcc -m32 -march=i586 --sysroot=/home/yocto-build5/poky/build/tmp/sysroots/qemux86 -DHAVE_CONFIG_H -I. -I.. -DOMXILCOMPOminate-unused-debug-types -Wall -Werror -DCONFIG_DEBUG_LEVEL=0 -c -o omxregister_bellagio-omxregister.o `test -f 'omxregister.c' || echo './'`o | ||
13 | | omxregister.c: In function 'buildComponentsList': | ||
14 | | omxregister.c:175:7: error: variable 'err' set but not used [-Werror=unused-but-set-variable] | ||
15 | | cc1: all warnings being treated as errors | ||
16 | |||
17 | Upstream-Status: Inappropriate [configuration] | ||
18 | |||
19 | Signed-off-by: Shane Wang <shane.wang@intel.com> | ||
20 | |||
21 | diff -r 82d742d3ea90 configure.ac | ||
22 | --- a/configure.ac Tue Dec 27 15:30:35 2011 +0800 | ||
23 | +++ b/configure.ac Tue Dec 27 16:26:03 2011 +0800 | ||
24 | @@ -5,7 +5,7 @@ | ||
25 | AC_PREREQ([2.59]) | ||
26 | |||
27 | AC_CONFIG_HEADERS([config.h]) | ||
28 | -CFLAGS="${CFLAGS} -Wall -Werror" | ||
29 | +CFLAGS="${CFLAGS} -Wall" | ||
30 | |||
31 | ################################################################################ | ||
32 | # Set the shared versioning info, according to section 6.3 of the libtool info # | ||
33 | @@ -122,6 +122,14 @@ | ||
34 | [with_android=$enableval], | ||
35 | [with_android=no]) | ||
36 | |||
37 | +AC_ARG_ENABLE( | ||
38 | + [Werror], | ||
39 | + [AC_HELP_STRING( | ||
40 | + [--disable-Werror], | ||
41 | + [whether to diable treating gcc warnings as errors])], | ||
42 | + [with_Werror=$enableval], | ||
43 | + [with_Werror=yes]) | ||
44 | + | ||
45 | ################################################################################ | ||
46 | # Check for programs # | ||
47 | ################################################################################ | ||
48 | @@ -193,6 +201,10 @@ | ||
49 | CFG_DEBUG_LEVEL=255 | ||
50 | fi | ||
51 | |||
52 | +if test "x$with_Werror" = "xyes"; then | ||
53 | + CFLAGS="${CFLAGS} -Werror" | ||
54 | +fi | ||
55 | + | ||
56 | AC_SUBST(CFG_DEBUG_LEVEL) | ||
57 | CFLAGS="${CFLAGS} -DCONFIG_DEBUG_LEVEL=$CFG_DEBUG_LEVEL" | ||
58 | |||
diff --git a/meta/recipes-multimedia/libomxil/libomxil-0.9.3/dynamicloader-linking.patch b/meta/recipes-multimedia/libomxil/libomxil-0.9.3/dynamicloader-linking.patch new file mode 100644 index 0000000000..787953a99b --- /dev/null +++ b/meta/recipes-multimedia/libomxil/libomxil-0.9.3/dynamicloader-linking.patch | |||
@@ -0,0 +1,20 @@ | |||
1 | This patch fixes link issue when libomxdynamicloader.so is loaded : | ||
2 | Missing symbol RM_Deinit. | ||
3 | |||
4 | This patch comes from "http://pkgs.fedoraproject.org/cgit/libomxil-bellagio.git/commit/?h=f17&id=4996a95828943d345e51ded6876c3103653eecf8" | ||
5 | |||
6 | Upstream-Status: Pending | ||
7 | |||
8 | Signed-off-by: Sébastien Mennetrier <s.mennetrier@innotis.org> | ||
9 | |||
10 | --- a/src/dynamic_loader/Makefile.am 2014-02-25 15:29:10.128549636 +0100 | ||
11 | +++ b/src/dynamic_loader/Makefile.am 2014-02-25 15:30:15.756548808 +0100 | ||
12 | @@ -3,7 +3,7 @@ | ||
13 | omxdynamicloader_LTLIBRARIES = libomxdynamicloader.la | ||
14 | libomxdynamicloader_la_SOURCES = ste_dynamic_component_loader.c ste_dynamic_component_loader.h | ||
15 | |||
16 | -libomxdynamicloader_la_LDFLAGS = | ||
17 | +libomxdynamicloader_la_LDFLAGS = -lomxil-bellagio -L$(top_builddir)/src/.libs | ||
18 | libomxdynamicloader_la_CFLAGS = -I$(top_srcdir)/include \ | ||
19 | -I$(top_srcdir)/src \ | ||
20 | -I$(top_srcdir)/src/base \ | ||
diff --git a/meta/recipes-multimedia/libomxil/libomxil-0.9.3/makefile-docdir-fix.patch b/meta/recipes-multimedia/libomxil/libomxil-0.9.3/makefile-docdir-fix.patch new file mode 100644 index 0000000000..dbe8c41f74 --- /dev/null +++ b/meta/recipes-multimedia/libomxil/libomxil-0.9.3/makefile-docdir-fix.patch | |||
@@ -0,0 +1,19 @@ | |||
1 | This patch is to remove DESTDIR in docdir. | ||
2 | Otherwise, when users install by running `make install DESTDIR=/alternate/directory' specified in the file INSTALL, the doc will go into /alternate/directory/alternate/directory, which is not expected. | ||
3 | |||
4 | Upstream-Status: Pending | ||
5 | |||
6 | Signed-off-by: Shane Wang <shane.wang@intel.com> | ||
7 | |||
8 | diff -r 30b597e4e70d Makefile.am | ||
9 | --- a/Makefile.am Wed Dec 28 15:38:35 2011 +0800 | ||
10 | +++ b/Makefile.am Wed Dec 28 15:39:25 2011 +0800 | ||
11 | @@ -7,7 +7,7 @@ | ||
12 | pkgconfigdir = $(libdir)/pkgconfig | ||
13 | pkgconfig_DATA = libomxil-bellagio.pc | ||
14 | |||
15 | -docdir = $(DESTDIR)$(prefix)/share/doc/@PACKAGE@ | ||
16 | +docdir = $(prefix)/share/doc/@PACKAGE@ | ||
17 | doc_DATA = README \ | ||
18 | ChangeLog \ | ||
19 | TODO | ||
diff --git a/meta/recipes-multimedia/libomxil/libomxil-0.9.3/parallel-make.patch b/meta/recipes-multimedia/libomxil/libomxil-0.9.3/parallel-make.patch new file mode 100644 index 0000000000..483ca1328b --- /dev/null +++ b/meta/recipes-multimedia/libomxil/libomxil-0.9.3/parallel-make.patch | |||
@@ -0,0 +1,18 @@ | |||
1 | This patch is to make libomxil Makefile support "make -jN". | ||
2 | The omxregister_bellagio stuffs depend on libomxil_bellagio library. | ||
3 | |||
4 | Upstream-Status: Pending | ||
5 | |||
6 | Signed-off-by: Shane Wang <shane.wang@intel.com> | ||
7 | |||
8 | diff -r f59d077d3dd5 Makefile.am | ||
9 | --- a/src/Makefile.am Wed Dec 28 10:54:36 2011 +0800 | ||
10 | +++ b/src/Makefile.am Wed Dec 28 10:55:46 2011 +0800 | ||
11 | @@ -7,6 +7,7 @@ | ||
12 | omxregister_bellagio_SOURCES = omxregister.c common.c common.h | ||
13 | omxregister_bellagio_CFLAGS = -DOMXILCOMPONENTSPATH=\"$(plugindir)/\" \ | ||
14 | -I$(top_srcdir)/include | ||
15 | +omxregister_bellagio_LDADD = $(lib_LTLIBRARIES) | ||
16 | omxregister_bellagio_LDFLAGS = -lomxil-bellagio -L$(builddir) | ||
17 | |||
18 | lib_LTLIBRARIES = libomxil-bellagio.la | ||
diff --git a/meta/recipes-multimedia/libomxil/libomxil_0.9.3.bb b/meta/recipes-multimedia/libomxil/libomxil_0.9.3.bb new file mode 100644 index 0000000000..103d789482 --- /dev/null +++ b/meta/recipes-multimedia/libomxil/libomxil_0.9.3.bb | |||
@@ -0,0 +1,35 @@ | |||
1 | SUMMARY = "Bellagio OpenMAX Integration Layer (IL)" | ||
2 | DESCRIPTION = "Bellagio is an opensource implementation of the Khronos OpenMAX \ | ||
3 | Integration Layer API to access multimedia components." | ||
4 | HOMEPAGE = "http://omxil.sourceforge.net/" | ||
5 | |||
6 | LICENSE = "LGPLv2.1+" | ||
7 | LICENSE_FLAGS = "commercial" | ||
8 | LIC_FILES_CHKSUM = "file://COPYING;md5=ae6f0f4dbc7ac193b50f323a6ae191cb \ | ||
9 | file://src/omxcore.h;beginline=1;endline=27;md5=806b1e5566c06486fe8e42b461e03a90" | ||
10 | |||
11 | SRC_URI = "${SOURCEFORGE_MIRROR}/omxil/libomxil-bellagio-${PV}.tar.gz \ | ||
12 | file://configure-fix.patch \ | ||
13 | file://parallel-make.patch \ | ||
14 | file://makefile-docdir-fix.patch \ | ||
15 | file://dynamicloader-linking.patch" | ||
16 | |||
17 | SRC_URI[md5sum] = "a1de827fdb75c02c84e55f740ca27cb8" | ||
18 | SRC_URI[sha256sum] = "593c0729c8ef8c1467b3bfefcf355ec19a46dd92e31bfc280e17d96b0934d74c" | ||
19 | |||
20 | S = "${WORKDIR}/${BPN}-bellagio-${PV}" | ||
21 | |||
22 | inherit autotools | ||
23 | |||
24 | EXTRA_OECONF += "--disable-doc --disable-Werror" | ||
25 | |||
26 | FILES_${PN} += "${libdir}/bellagio/*${SOLIBS} \ | ||
27 | ${libdir}/omxloaders/*${SOLIBS}" | ||
28 | FILES_${PN}-staticdev += "${libdir}/bellagio/*.a \ | ||
29 | ${libdir}/omxloaders/*.a" | ||
30 | FILES_${PN}-dev += "${libdir}/bellagio/*.la \ | ||
31 | ${libdir}/bellagio/*${SOLIBSDEV} \ | ||
32 | ${libdir}/omxloaders/*.la \ | ||
33 | ${libdir}/omxloaders/*${SOLIBSDEV}" | ||
34 | FILES_${PN}-dbg += "${libdir}/bellagio/.debug/ \ | ||
35 | ${libdir}/omxloaders/.debug/" | ||
diff --git a/meta/recipes-multimedia/libpng/libpng/0001-configure-lower-automake-requirement.patch b/meta/recipes-multimedia/libpng/libpng/0001-configure-lower-automake-requirement.patch new file mode 100644 index 0000000000..bbbca89e8f --- /dev/null +++ b/meta/recipes-multimedia/libpng/libpng/0001-configure-lower-automake-requirement.patch | |||
@@ -0,0 +1,31 @@ | |||
1 | From fff7cbc01e061a235852f385866fe75fb17867e3 Mon Sep 17 00:00:00 2001 | ||
2 | From: Valentin Popa <valentin.popa@intel.com> | ||
3 | Date: Tue, 26 Nov 2013 12:06:55 +0200 | ||
4 | Subject: [PATCH] configure: lower automake requirement | ||
5 | |||
6 | We're not using parallel tests in OE-core yet | ||
7 | |||
8 | Signed-off-by: Valentin Popa <valentin.popa@intel.com> | ||
9 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | ||
10 | |||
11 | Upstream-Status: Inapropriate [OE specific build hack] | ||
12 | --- | ||
13 | configure.ac | 2 +- | ||
14 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
15 | |||
16 | diff --git a/configure.ac b/configure.ac | ||
17 | index 28200c3..fab2515 100644 | ||
18 | --- a/configure.ac | ||
19 | +++ b/configure.ac | ||
20 | @@ -27,7 +27,7 @@ AC_CONFIG_MACRO_DIR([scripts]) | ||
21 | # dist-xz requires automake 1.11 or later | ||
22 | # 1.12.2 fixes a security issue in 1.11.2 and 1.12.1 | ||
23 | # 1.13 is required for parallel tests | ||
24 | -AM_INIT_AUTOMAKE([1.13 foreign dist-xz color-tests silent-rules subdir-objects]) | ||
25 | +AM_INIT_AUTOMAKE([1.12.2 foreign dist-xz color-tests silent-rules subdir-objects]) | ||
26 | # The following line causes --disable-maintainer-mode to be the default to | ||
27 | # configure, this is necessary because libpng distributions cannot rely on the | ||
28 | # time stamps of the autotools generated files being correct | ||
29 | -- | ||
30 | 1.8.3.2 | ||
31 | |||
diff --git a/meta/recipes-multimedia/libpng/libpng_1.6.8.bb b/meta/recipes-multimedia/libpng/libpng_1.6.8.bb new file mode 100644 index 0000000000..d063495f05 --- /dev/null +++ b/meta/recipes-multimedia/libpng/libpng_1.6.8.bb | |||
@@ -0,0 +1,27 @@ | |||
1 | SUMMARY = "PNG image format decoding library" | ||
2 | HOMEPAGE = "http://www.libpng.org/" | ||
3 | SECTION = "libs" | ||
4 | LICENSE = "Libpng" | ||
5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=44bc22578be94b6536c8bdc3a01e5db9 \ | ||
6 | file://png.h;endline=15;md5=aa42e53406a5ebb9500bae72fa314b6d \ | ||
7 | file://png.h;beginline=209;endline=323;md5=83e13159b5bf0a4d9fb634acbda7cb5b" | ||
8 | DEPENDS = "zlib" | ||
9 | LIBV = "16" | ||
10 | |||
11 | SRC_URI = "${SOURCEFORGE_MIRROR}/project/libpng/libpng${LIBV}/${PV}/libpng-${PV}.tar.xz \ | ||
12 | file://0001-configure-lower-automake-requirement.patch \ | ||
13 | " | ||
14 | |||
15 | SRC_URI[md5sum] = "51ce71a1642cdde1f4485a7ff82193c0" | ||
16 | SRC_URI[sha256sum] = "24f73d8b5e1d74a9482c81b65c3f93f96c7da7ed0417b8a948a75d2d99133081" | ||
17 | |||
18 | inherit autotools binconfig pkgconfig | ||
19 | |||
20 | # Work around missing symbols | ||
21 | EXTRA_OECONF_append_arm = " ${@bb.utils.contains("TUNE_FEATURES", "neon", "--enable-arm-neon=on", "--enable-arm-neon=off" ,d)}" | ||
22 | |||
23 | PACKAGES =+ "${PN}-tools" | ||
24 | |||
25 | FILES_${PN}-tools = "${bindir}/png-fix-itxt ${bindir}/pngfix" | ||
26 | |||
27 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-multimedia/libsamplerate/libsamplerate0_0.1.8.bb b/meta/recipes-multimedia/libsamplerate/libsamplerate0_0.1.8.bb new file mode 100644 index 0000000000..f06935c8ba --- /dev/null +++ b/meta/recipes-multimedia/libsamplerate/libsamplerate0_0.1.8.bb | |||
@@ -0,0 +1,18 @@ | |||
1 | SUMMARY = "Audio Sample Rate Conversion library" | ||
2 | HOMEPAGE = "http://www.mega-nerd.com/SRC/" | ||
3 | SECTION = "libs" | ||
4 | LICENSE = "GPLv2+" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ | ||
6 | file://src/samplerate.c;beginline=1;endline=17;md5=d0807c35fc906466d24a50463534815a" | ||
7 | DEPENDS = "flac libsndfile1" | ||
8 | PR = "r1" | ||
9 | |||
10 | SRC_URI = "http://www.mega-nerd.com/SRC/libsamplerate-${PV}.tar.gz" | ||
11 | |||
12 | SRC_URI[md5sum] = "1c7fb25191b4e6e3628d198a66a84f47" | ||
13 | SRC_URI[sha256sum] = "93b54bdf46d5e6d2354b7034395fe329c222a966790de34520702bb9642f1c06" | ||
14 | S = "${WORKDIR}/libsamplerate-${PV}" | ||
15 | |||
16 | inherit autotools pkgconfig | ||
17 | |||
18 | PACKAGECONFIG[fftw] = ",--disable-fftw,fftw" | ||
diff --git a/meta/recipes-multimedia/libsndfile/libsndfile1_1.0.25.bb b/meta/recipes-multimedia/libsndfile/libsndfile1_1.0.25.bb new file mode 100644 index 0000000000..fe0e39721c --- /dev/null +++ b/meta/recipes-multimedia/libsndfile/libsndfile1_1.0.25.bb | |||
@@ -0,0 +1,30 @@ | |||
1 | SUMMARY = "Audio format Conversion library" | ||
2 | HOMEPAGE = "http://www.mega-nerd.com/libsndfile" | ||
3 | AUTHOR = "Erik de Castro Lopo" | ||
4 | DEPENDS = "sqlite3" | ||
5 | SECTION = "libs/multimedia" | ||
6 | LICENSE = "LGPLv2.1" | ||
7 | PR = "r2" | ||
8 | |||
9 | SRC_URI = "http://www.mega-nerd.com/libsndfile/files/libsndfile-${PV}.tar.gz" | ||
10 | |||
11 | SRC_URI[md5sum] = "e2b7bb637e01022c7d20f95f9c3990a2" | ||
12 | SRC_URI[sha256sum] = "59016dbd326abe7e2366ded5c344c853829bebfd1702ef26a07ef662d6aa4882" | ||
13 | |||
14 | LIC_FILES_CHKSUM = "file://COPYING;md5=e77fe93202736b47c07035910f47974a" | ||
15 | |||
16 | S = "${WORKDIR}/libsndfile-${PV}" | ||
17 | |||
18 | PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'alsa', 'alsa', '', d)}" | ||
19 | PACKAGECONFIG[alsa] = "--enable-alsa,--disable-alsa,alsa-lib" | ||
20 | |||
21 | EXTRA_OECONF = "--disable-external-libs" | ||
22 | |||
23 | inherit autotools lib_package pkgconfig | ||
24 | |||
25 | do_configure_prepend_arm() { | ||
26 | export ac_cv_sys_largefile_source=1 | ||
27 | export ac_cv_sys_file_offset_bits=64 | ||
28 | ac_cv_sizeof_off_t=8 | ||
29 | } | ||
30 | |||
diff --git a/meta/recipes-multimedia/libtheora/libtheora-1.1.1/no-docs.patch b/meta/recipes-multimedia/libtheora/libtheora-1.1.1/no-docs.patch new file mode 100644 index 0000000000..359f3d1a7a --- /dev/null +++ b/meta/recipes-multimedia/libtheora/libtheora-1.1.1/no-docs.patch | |||
@@ -0,0 +1,15 @@ | |||
1 | Upstream-Status: Inappropriate [configuration] | ||
2 | |||
3 | Index: libtheora-1.1.1/Makefile.am | ||
4 | =================================================================== | ||
5 | --- libtheora-1.1.1.orig/Makefile.am 2009-11-25 22:01:53.593775926 +0100 | ||
6 | +++ libtheora-1.1.1/Makefile.am 2009-11-25 22:02:00.777524017 +0100 | ||
7 | @@ -8,7 +8,7 @@ | ||
8 | EXAMPLES_DIR = | ||
9 | endif | ||
10 | |||
11 | -SUBDIRS = lib include doc tests m4 $(EXAMPLES_DIR) | ||
12 | +SUBDIRS = lib include tests m4 $(EXAMPLES_DIR) | ||
13 | |||
14 | |||
15 | # we include the whole debian/ dir in EXTRA_DIST because there's a problem | ||
diff --git a/meta/recipes-multimedia/libtheora/libtheora_1.1.1.bb b/meta/recipes-multimedia/libtheora/libtheora_1.1.1.bb new file mode 100644 index 0000000000..18cb168c52 --- /dev/null +++ b/meta/recipes-multimedia/libtheora/libtheora_1.1.1.bb | |||
@@ -0,0 +1,20 @@ | |||
1 | SUMMARY = "Theora Video Codec" | ||
2 | DESCRIPTION = "The libtheora reference implementation provides the standard encoder and decoder under a BSD license." | ||
3 | HOMEPAGE = "http://xiph.org/" | ||
4 | BUGTRACKER = "https://trac.xiph.org/newticket" | ||
5 | SECTION = "libs" | ||
6 | LICENSE = "BSD" | ||
7 | LIC_FILES_CHKSUM = "file://COPYING;md5=cf91718f59eb6a83d06dc7bcaf411132" | ||
8 | DEPENDS = "libogg" | ||
9 | |||
10 | PR = "r1" | ||
11 | |||
12 | SRC_URI = "http://downloads.xiph.org/releases/theora/libtheora-${PV}.tar.bz2 \ | ||
13 | file://no-docs.patch" | ||
14 | |||
15 | SRC_URI[md5sum] = "292ab65cedd5021d6b7ddd117e07cd8e" | ||
16 | SRC_URI[sha256sum] = "b6ae1ee2fa3d42ac489287d3ec34c5885730b1296f0801ae577a35193d3affbc" | ||
17 | |||
18 | inherit autotools pkgconfig | ||
19 | |||
20 | EXTRA_OECONF = "--disable-examples" | ||
diff --git a/meta/recipes-multimedia/libtiff/files/libtiff-CVE-2013-1960.patch b/meta/recipes-multimedia/libtiff/files/libtiff-CVE-2013-1960.patch new file mode 100644 index 0000000000..e4348f1d2c --- /dev/null +++ b/meta/recipes-multimedia/libtiff/files/libtiff-CVE-2013-1960.patch | |||
@@ -0,0 +1,151 @@ | |||
1 | This patch comes from: http://pkgs.fedoraproject.org/cgit/libtiff.git/plain/libtiff-CVE-2013-1960.patch | ||
2 | |||
3 | Upstream-Status: Pending | ||
4 | |||
5 | Signed-off-by: Ming Liu <ming.liu@windriver.com> | ||
6 | |||
7 | diff -Naur a/tools/tiff2pdf.c b/tools/tiff2pdf.c | ||
8 | --- a/tools/tiff2pdf.c 2012-07-25 22:56:43.000000000 -0400 | ||
9 | +++ b/tools/tiff2pdf.c 2013-05-02 12:04:49.057090227 -0400 | ||
10 | @@ -3341,33 +3341,56 @@ | ||
11 | uint32 height){ | ||
12 | |||
13 | tsize_t i=0; | ||
14 | - uint16 ri =0; | ||
15 | - uint16 v_samp=1; | ||
16 | - uint16 h_samp=1; | ||
17 | - int j=0; | ||
18 | - | ||
19 | - i++; | ||
20 | - | ||
21 | - while(i<(*striplength)){ | ||
22 | + | ||
23 | + while (i < *striplength) { | ||
24 | + tsize_t datalen; | ||
25 | + uint16 ri; | ||
26 | + uint16 v_samp; | ||
27 | + uint16 h_samp; | ||
28 | + int j; | ||
29 | + int ncomp; | ||
30 | + | ||
31 | + /* marker header: one or more FFs */ | ||
32 | + if (strip[i] != 0xff) | ||
33 | + return(0); | ||
34 | + i++; | ||
35 | + while (i < *striplength && strip[i] == 0xff) | ||
36 | + i++; | ||
37 | + if (i >= *striplength) | ||
38 | + return(0); | ||
39 | + /* SOI is the only pre-SOS marker without a length word */ | ||
40 | + if (strip[i] == 0xd8) | ||
41 | + datalen = 0; | ||
42 | + else { | ||
43 | + if ((*striplength - i) <= 2) | ||
44 | + return(0); | ||
45 | + datalen = (strip[i+1] << 8) | strip[i+2]; | ||
46 | + if (datalen < 2 || datalen >= (*striplength - i)) | ||
47 | + return(0); | ||
48 | + } | ||
49 | switch( strip[i] ){ | ||
50 | - case 0xd8: | ||
51 | - /* SOI - start of image */ | ||
52 | + case 0xd8: /* SOI - start of image */ | ||
53 | _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), 2); | ||
54 | *bufferoffset+=2; | ||
55 | - i+=2; | ||
56 | break; | ||
57 | - case 0xc0: | ||
58 | - case 0xc1: | ||
59 | - case 0xc3: | ||
60 | - case 0xc9: | ||
61 | - case 0xca: | ||
62 | + case 0xc0: /* SOF0 */ | ||
63 | + case 0xc1: /* SOF1 */ | ||
64 | + case 0xc3: /* SOF3 */ | ||
65 | + case 0xc9: /* SOF9 */ | ||
66 | + case 0xca: /* SOF10 */ | ||
67 | if(no==0){ | ||
68 | - _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), strip[i+2]+2); | ||
69 | - for(j=0;j<buffer[*bufferoffset+9];j++){ | ||
70 | - if( (buffer[*bufferoffset+11+(2*j)]>>4) > h_samp) | ||
71 | - h_samp = (buffer[*bufferoffset+11+(2*j)]>>4); | ||
72 | - if( (buffer[*bufferoffset+11+(2*j)] & 0x0f) > v_samp) | ||
73 | - v_samp = (buffer[*bufferoffset+11+(2*j)] & 0x0f); | ||
74 | + _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), datalen+2); | ||
75 | + ncomp = buffer[*bufferoffset+9]; | ||
76 | + if (ncomp < 1 || ncomp > 4) | ||
77 | + return(0); | ||
78 | + v_samp=1; | ||
79 | + h_samp=1; | ||
80 | + for(j=0;j<ncomp;j++){ | ||
81 | + uint16 samp = buffer[*bufferoffset+11+(3*j)]; | ||
82 | + if( (samp>>4) > h_samp) | ||
83 | + h_samp = (samp>>4); | ||
84 | + if( (samp & 0x0f) > v_samp) | ||
85 | + v_samp = (samp & 0x0f); | ||
86 | } | ||
87 | v_samp*=8; | ||
88 | h_samp*=8; | ||
89 | @@ -3381,45 +3404,43 @@ | ||
90 | (unsigned char) ((height>>8) & 0xff); | ||
91 | buffer[*bufferoffset+6]= | ||
92 | (unsigned char) (height & 0xff); | ||
93 | - *bufferoffset+=strip[i+2]+2; | ||
94 | - i+=strip[i+2]+2; | ||
95 | - | ||
96 | + *bufferoffset+=datalen+2; | ||
97 | + /* insert a DRI marker */ | ||
98 | buffer[(*bufferoffset)++]=0xff; | ||
99 | buffer[(*bufferoffset)++]=0xdd; | ||
100 | buffer[(*bufferoffset)++]=0x00; | ||
101 | buffer[(*bufferoffset)++]=0x04; | ||
102 | buffer[(*bufferoffset)++]=(ri >> 8) & 0xff; | ||
103 | buffer[(*bufferoffset)++]= ri & 0xff; | ||
104 | - } else { | ||
105 | - i+=strip[i+2]+2; | ||
106 | } | ||
107 | break; | ||
108 | - case 0xc4: | ||
109 | - case 0xdb: | ||
110 | - _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), strip[i+2]+2); | ||
111 | - *bufferoffset+=strip[i+2]+2; | ||
112 | - i+=strip[i+2]+2; | ||
113 | + case 0xc4: /* DHT */ | ||
114 | + case 0xdb: /* DQT */ | ||
115 | + _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), datalen+2); | ||
116 | + *bufferoffset+=datalen+2; | ||
117 | break; | ||
118 | - case 0xda: | ||
119 | + case 0xda: /* SOS */ | ||
120 | if(no==0){ | ||
121 | - _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), strip[i+2]+2); | ||
122 | - *bufferoffset+=strip[i+2]+2; | ||
123 | - i+=strip[i+2]+2; | ||
124 | + _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), datalen+2); | ||
125 | + *bufferoffset+=datalen+2; | ||
126 | } else { | ||
127 | buffer[(*bufferoffset)++]=0xff; | ||
128 | buffer[(*bufferoffset)++]= | ||
129 | (unsigned char)(0xd0 | ((no-1)%8)); | ||
130 | - i+=strip[i+2]+2; | ||
131 | } | ||
132 | - _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), (*striplength)-i-1); | ||
133 | - *bufferoffset+=(*striplength)-i-1; | ||
134 | + i += datalen + 1; | ||
135 | + /* copy remainder of strip */ | ||
136 | + _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i]), *striplength - i); | ||
137 | + *bufferoffset+= *striplength - i; | ||
138 | return(1); | ||
139 | default: | ||
140 | - i+=strip[i+2]+2; | ||
141 | + /* ignore any other marker */ | ||
142 | + break; | ||
143 | } | ||
144 | + i += datalen + 1; | ||
145 | } | ||
146 | - | ||
147 | |||
148 | + /* failed to find SOS marker */ | ||
149 | return(0); | ||
150 | } | ||
151 | #endif | ||
diff --git a/meta/recipes-multimedia/libtiff/files/libtiff-CVE-2013-4232.patch b/meta/recipes-multimedia/libtiff/files/libtiff-CVE-2013-4232.patch new file mode 100644 index 0000000000..9ebf8f9a2d --- /dev/null +++ b/meta/recipes-multimedia/libtiff/files/libtiff-CVE-2013-4232.patch | |||
@@ -0,0 +1,15 @@ | |||
1 | This patch comes from: http://bugzilla.maptools.org/attachment.cgi?id=513&action=diff | ||
2 | |||
3 | Upstream-Status: Pending | ||
4 | |||
5 | Signed-off-by: Baogen shang <baogen.shang@windriver.com> | ||
6 | --- a/tools/tiff2pdf.c 2013-10-21 10:36:38.214170346 +0800 | ||
7 | +++ b/tools/tiff2pdf.c 2013-10-21 10:38:58.246170329 +0800 | ||
8 | @@ -2387,6 +2387,7 @@ | ||
9 | TIFFFileName(input)); | ||
10 | t2p->t2p_error = T2P_ERR_ERROR; | ||
11 | _TIFFfree(buffer); | ||
12 | + return(0); | ||
13 | } else { | ||
14 | buffer=samplebuffer; | ||
15 | t2p->tiff_datasize *= t2p->tiff_samplesperpixel; | ||
diff --git a/meta/recipes-multimedia/libtiff/files/libtiff-CVE-2013-4243.patch b/meta/recipes-multimedia/libtiff/files/libtiff-CVE-2013-4243.patch new file mode 100644 index 0000000000..642a117976 --- /dev/null +++ b/meta/recipes-multimedia/libtiff/files/libtiff-CVE-2013-4243.patch | |||
@@ -0,0 +1,40 @@ | |||
1 | This patch comes from: http://bugzilla.maptools.org/attachment.cgi?id=518&action=diff#tools/gif2tiff.c_sec2 | ||
2 | |||
3 | Upstream-Status: Pending | ||
4 | |||
5 | Signed-off-by: Baogen shang <baogen.shang@windriver.com> | ||
6 | --- a/tools/gif2tiff.c 2013-10-14 17:08:43.966239709 +0800 | ||
7 | +++ b/tools/gif2tiff.c 2013-10-14 17:18:22.994239638 +0800 | ||
8 | @@ -280,6 +280,10 @@ | ||
9 | fprintf(stderr, "no colormap present for image\n"); | ||
10 | return (0); | ||
11 | } | ||
12 | + if (width == 0 || height == 0) { | ||
13 | + fprintf(stderr, "Invalid value of width or height\n"); | ||
14 | + return(0); | ||
15 | + } | ||
16 | if ((raster = (unsigned char*) _TIFFmalloc(width*height+EXTRAFUDGE)) == NULL) { | ||
17 | fprintf(stderr, "not enough memory for image\n"); | ||
18 | return (0); | ||
19 | @@ -397,6 +401,10 @@ | ||
20 | return 1; | ||
21 | } | ||
22 | |||
23 | + if (*fill >= raster + width*height) { | ||
24 | + fprintf(stderr, "raster full before eoi code\n"); | ||
25 | + return 0; | ||
26 | + } | ||
27 | if (oldcode == -1) { | ||
28 | *(*fill)++ = suffix[code]; | ||
29 | firstchar = oldcode = code; | ||
30 | @@ -428,6 +436,10 @@ | ||
31 | } | ||
32 | oldcode = incode; | ||
33 | do { | ||
34 | + if (*fill >= raster + width*height) { | ||
35 | + fprintf(stderr, "raster full before eoi code\n"); | ||
36 | + return 0; | ||
37 | + } | ||
38 | *(*fill)++ = *--stackp; | ||
39 | } while (stackp > stack); | ||
40 | return 1; | ||
diff --git a/meta/recipes-multimedia/libtiff/files/libtiff-CVE-2013-4244.patch b/meta/recipes-multimedia/libtiff/files/libtiff-CVE-2013-4244.patch new file mode 100644 index 0000000000..1a668307ae --- /dev/null +++ b/meta/recipes-multimedia/libtiff/files/libtiff-CVE-2013-4244.patch | |||
@@ -0,0 +1,19 @@ | |||
1 | This patch comes from: https://github.com/vadz/libtiff/commit/ce6841d9e41d621ba23cf18b190ee6a23b2cc833 | ||
2 | |||
3 | Upstream-Status: Backport | ||
4 | |||
5 | Signed-off-by: Baogen shang <baogen.shang@windriver.com> | ||
6 | --- a/tools/gif2tiff.c 2013-12-17 16:46:02.160814995 +0800 | ||
7 | +++ b/tools/gif2tiff.c 2013-12-17 16:52:25.140814949 +0800 | ||
8 | @@ -406,6 +406,11 @@ | ||
9 | return 0; | ||
10 | } | ||
11 | if (oldcode == -1) { | ||
12 | + if (code >= clear) { | ||
13 | + fprintf(stderr, "bad input: code=%d is larger than clear=%d\n",code, clear); | ||
14 | + return 0; | ||
15 | + } | ||
16 | + | ||
17 | *(*fill)++ = suffix[code]; | ||
18 | firstchar = oldcode = code; | ||
19 | return 1; | ||
diff --git a/meta/recipes-multimedia/libtiff/files/libtool2.patch b/meta/recipes-multimedia/libtiff/files/libtool2.patch new file mode 100644 index 0000000000..457202eae5 --- /dev/null +++ b/meta/recipes-multimedia/libtiff/files/libtool2.patch | |||
@@ -0,0 +1,19 @@ | |||
1 | Upstream-Status: Inappropriate [configuration] | ||
2 | |||
3 | --- | ||
4 | configure.ac | 2 +- | ||
5 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
6 | |||
7 | Index: tiff-3.9.5/configure.ac | ||
8 | =================================================================== | ||
9 | --- tiff-3.9.5.orig/configure.ac | ||
10 | +++ tiff-3.9.5/configure.ac | ||
11 | @@ -27,7 +27,7 @@ dnl Process this file with autoconf to p | ||
12 | AC_PREREQ(2.64) | ||
13 | AC_INIT([LibTIFF Software],[3.9.5],[tiff@lists.maptools.org],[tiff]) | ||
14 | AC_CONFIG_AUX_DIR(config) | ||
15 | -AC_CONFIG_MACRO_DIR(m4) | ||
16 | +dnl AC_CONFIG_MACRO_DIR(m4) | ||
17 | AC_LANG(C) | ||
18 | |||
19 | dnl Compute the canonical host (run-time) system type variable | ||
diff --git a/meta/recipes-multimedia/libtiff/tiff_4.0.3.bb b/meta/recipes-multimedia/libtiff/tiff_4.0.3.bb new file mode 100644 index 0000000000..fb9e0bf67d --- /dev/null +++ b/meta/recipes-multimedia/libtiff/tiff_4.0.3.bb | |||
@@ -0,0 +1,51 @@ | |||
1 | SUMMARY = "Provides support for the Tag Image File Format (TIFF)" | ||
2 | LICENSE = "BSD-2-Clause" | ||
3 | LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=34da3db46fab7501992f9615d7e158cf" | ||
4 | HOMEPAGE = "http://www.remotesensing.org/libtiff/" | ||
5 | |||
6 | SRC_URI = "ftp://ftp.remotesensing.org/pub/libtiff/tiff-${PV}.tar.gz \ | ||
7 | file://libtool2.patch \ | ||
8 | file://libtiff-CVE-2013-1960.patch \ | ||
9 | file://libtiff-CVE-2013-4232.patch \ | ||
10 | file://libtiff-CVE-2013-4243.patch \ | ||
11 | file://libtiff-CVE-2013-4244.patch" | ||
12 | |||
13 | SRC_URI[md5sum] = "051c1068e6a0627f461948c365290410" | ||
14 | SRC_URI[sha256sum] = "ea1aebe282319537fb2d4d7805f478dd4e0e05c33d0928baba76a7c963684872" | ||
15 | |||
16 | inherit autotools | ||
17 | |||
18 | CACHED_CONFIGUREVARS = "ax_cv_check_gl_libgl=no" | ||
19 | |||
20 | PACKAGECONFIG ?= "cxx jpeg zlib lzma \ | ||
21 | strip-chopping extrasample-as-alpha check-ycbcr-subsampling" | ||
22 | |||
23 | PACKAGECONFIG[cxx] = "--enable-cxx,--disable-cxx,," | ||
24 | PACKAGECONFIG[jpeg] = "--enable-jpeg,--disable-jpeg,jpeg," | ||
25 | PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib," | ||
26 | PACKAGECONFIG[lzma] = "--enable-lzma,--disable-lzma,xz," | ||
27 | |||
28 | # Convert single-strip uncompressed images to multiple strips of specified | ||
29 | # size (default: 8192) to reduce memory usage | ||
30 | PACKAGECONFIG[strip-chopping] = "--enable-strip-chopping,--disable-strip-chopping,," | ||
31 | |||
32 | # Treat a fourth sample with no EXTRASAMPLE_ value as being ASSOCALPHA | ||
33 | PACKAGECONFIG[extrasample-as-alpha] = "--enable-extrasample-as-alpha,--disable-extrasample-as-alpha,," | ||
34 | |||
35 | # Control picking up YCbCr subsample info. Disable to support files lacking | ||
36 | # the tag | ||
37 | PACKAGECONFIG[check-ycbcr-subsampling] = "--enable-check-ycbcr-subsampling,--disable-check-ycbcr-subsampling,," | ||
38 | |||
39 | # Support a mechanism allowing reading large strips (usually one strip files) | ||
40 | # in chunks when using TIFFReadScanline. Experimental 4.0+ feature | ||
41 | PACKAGECONFIG[chunky-strip-read] = "--enable-chunky-strip-read,--disable-chunky-strip-read,," | ||
42 | |||
43 | PACKAGES =+ "tiffxx tiffxx-dbg tiffxx-dev tiffxx-staticdev tiff-utils tiff-utils-dbg" | ||
44 | FILES_tiffxx = "${libdir}/libtiffxx.so.*" | ||
45 | FILES_tiffxx-dev = "${libdir}/libtiffxx.so ${libdir}/libtiffxx.la" | ||
46 | FILES_tiffxx-staticdev = "${libdir}/libtiffxx.a" | ||
47 | FILES_tiffxx-dbg += "${libdir}/.debug/libtiffxx.so*" | ||
48 | FILES_tiff-utils = "${bindir}/*" | ||
49 | FILES_tiff-utils-dbg += "${bindir}/.debug/" | ||
50 | |||
51 | BBCLASSEXTEND = "native" | ||
diff --git a/meta/recipes-multimedia/libvorbis/libvorbis_1.3.4.bb b/meta/recipes-multimedia/libvorbis/libvorbis_1.3.4.bb new file mode 100644 index 0000000000..0788c94bce --- /dev/null +++ b/meta/recipes-multimedia/libvorbis/libvorbis_1.3.4.bb | |||
@@ -0,0 +1,25 @@ | |||
1 | SUMMARY = "Ogg Vorbis Audio Codec" | ||
2 | DESCRIPTION = "Ogg Vorbis is a high-quality lossy audio codec \ | ||
3 | that is free of intellectual property restrictions. libvorbis \ | ||
4 | is the main vorbis codec library." | ||
5 | HOMEPAGE = "http://www.vorbis.com/" | ||
6 | BUGTRACKER = "https://trac.xiph.org" | ||
7 | SECTION = "libs" | ||
8 | LICENSE = "BSD" | ||
9 | LIC_FILES_CHKSUM = "file://COPYING;md5=ca77c6c3ea4d29cb68dce8ef5ab0d897 \ | ||
10 | file://include/vorbis/vorbisenc.h;beginline=1;endline=11;md5=d1c1d138863d6315131193d4046d81cb" | ||
11 | DEPENDS = "libogg" | ||
12 | |||
13 | SRC_URI = "http://downloads.xiph.org/releases/vorbis/${BP}.tar.xz" | ||
14 | |||
15 | SRC_URI[md5sum] = "55f2288055e44754275a17c9a2497391" | ||
16 | SRC_URI[sha256sum] = "2f05497d29195dc23ee952a24ee3973a74e6277569c4c2eca0ec5968e541f372" | ||
17 | |||
18 | inherit autotools pkgconfig | ||
19 | |||
20 | # vorbisfile.c reveals a problem in the gcc register spilling for the | ||
21 | # thumb instruction set... | ||
22 | FULL_OPTIMIZATION_thumb = "-O0" | ||
23 | |||
24 | EXTRA_OECONF = "--with-ogg-libraries=${STAGING_LIBDIR} \ | ||
25 | --with-ogg-includes=${STAGING_INCDIR}" | ||
diff --git a/meta/recipes-multimedia/mpeg2dec/mpeg2dec-0.4.1/altivec_h_needed.patch b/meta/recipes-multimedia/mpeg2dec/mpeg2dec-0.4.1/altivec_h_needed.patch new file mode 100644 index 0000000000..7dc56436f0 --- /dev/null +++ b/meta/recipes-multimedia/mpeg2dec/mpeg2dec-0.4.1/altivec_h_needed.patch | |||
@@ -0,0 +1,43 @@ | |||
1 | Add new method to judge whether <altivec.h> is needed | ||
2 | |||
3 | The original logic will use "typedef vector int t;" to judge | ||
4 | whether <altivec.h> is needed. altivec.h contains the following | ||
5 | statement: | ||
6 | |||
7 | #if !defined(__APPLE_ALTIVEC__) | ||
8 | #define vector __vector | ||
9 | #define pixel __pixel | ||
10 | #define bool | ||
11 | #endif | ||
12 | |||
13 | In gcc-4.3.3, __APPLE_ALTIVEC__ is not defined by compiler, neither | ||
14 | as vector, pixel, and bool. In order to make "typedef vector int t;" | ||
15 | pass the compilation, we need to include altivec.h. | ||
16 | |||
17 | However in gcc-4.5.0, __APPLE_ALTIVEC__ is defined by compiler, | ||
18 | so as vector, pixel, and bool. We could not judge whether | ||
19 | altivec.h is needed by "typedef vector int t;". | ||
20 | Here we include another statement "int tmp = __CR6_EQ;", in | ||
21 | which __CR6_EQ is defined in altivec.h. | ||
22 | |||
23 | Upstream-Status: Pending | ||
24 | |||
25 | Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> | ||
26 | |||
27 | diff -ruN mpeg2dec-0.4.1-orig/configure.in mpeg2dec-0.4.1/configure.in | ||
28 | --- mpeg2dec-0.4.1-orig/configure.in 2010-09-14 20:55:42.399687663 +0800 | ||
29 | +++ mpeg2dec-0.4.1/configure.in 2010-09-14 20:56:43.403204648 +0800 | ||
30 | @@ -75,11 +75,11 @@ | ||
31 | CFLAGS="$OPT_CFLAGS $TRY_CFLAGS $CFLAGS" | ||
32 | AC_MSG_CHECKING([if <altivec.h> is needed]) | ||
33 | AC_TRY_COMPILE([], | ||
34 | - [typedef vector int t; | ||
35 | + [typedef vector int t; int tmp = __CR6_EQ; | ||
36 | vec_ld(0, (unsigned char *)0);], | ||
37 | [have_altivec=yes; AC_MSG_RESULT(no)], | ||
38 | [AC_TRY_COMPILE([#include <altivec.h>], | ||
39 | - [typedef vector int t; vec_ld(0, (unsigned char *)0);], | ||
40 | + [typedef vector int t; int tmp = __CR6_EQ; vec_ld(0, (unsigned char *)0);], | ||
41 | [AC_DEFINE([HAVE_ALTIVEC_H],, | ||
42 | [Define to 1 if you have the <altivec.h> header.]) | ||
43 | have_altivec=yes; AC_MSG_RESULT(yes)], | ||
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..aee2f3be48 --- /dev/null +++ b/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.4.1.bb | |||
@@ -0,0 +1,37 @@ | |||
1 | SUMMARY = "Library and test program for decoding MPEG-2 and MPEG-1 video streams" | ||
2 | HOMEPAGE = "http://libmpeg2.sourceforge.net/" | ||
3 | SECTION = "libs" | ||
4 | LICENSE = "GPLv2+" | ||
5 | LICENSE_FLAGS = "commercial" | ||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ | ||
7 | file://include/mpeg2.h;beginline=1;endline=22;md5=ead62602d4638329d3b5b86a55803154" | ||
8 | |||
9 | DEPENDS = "${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)}" | ||
10 | |||
11 | PR = "r2" | ||
12 | |||
13 | SRC_URI = "http://libmpeg2.sourceforge.net/files/mpeg2dec-${PV}.tar.gz \ | ||
14 | file://altivec_h_needed.patch" | ||
15 | |||
16 | SRC_URI[md5sum] = "7631b0a4bcfdd0d78c0bb0083080b0dc" | ||
17 | SRC_URI[sha256sum] = "c74a76068f8ec36d4bb59a03bf1157be44118ca02252180e8b358b0b5e3edeee" | ||
18 | |||
19 | inherit autotools pkgconfig | ||
20 | |||
21 | EXTRA_OECONF = "--enable-shared --disable-sdl --with-x" | ||
22 | |||
23 | PACKAGES = "mpeg2dec-dbg mpeg2dec mpeg2dec-doc libmpeg2 libmpeg2-dev libmpeg2convert libmpeg2convert-dev libmpeg2-staticdev libmpeg2convert-staticdev" | ||
24 | |||
25 | FILES_${PN} = "${bindir}/*" | ||
26 | FILES_libmpeg2 = "${libdir}/libmpeg2.so.*" | ||
27 | FILES_libmpeg2convert = "${libdir}/libmpeg2convert.so.*" | ||
28 | FILES_libmpeg2-dev = "${libdir}/libmpeg2.so \ | ||
29 | ${libdir}/libmpeg2.la \ | ||
30 | ${libdir}/pkgconfig/libmpeg2.pc \ | ||
31 | ${includedir}/mpeg2dec/mpeg2.h" | ||
32 | FILES_libmpeg2-staticdev = "${libdir}/libmpeg2.a" | ||
33 | FILES_libmpeg2convert-dev = "${libdir}/libmpeg2convert.so \ | ||
34 | ${libdir}/libmpeg2convert.la \ | ||
35 | ${libdir}/pkgconfig/libmpeg2convert.pc \ | ||
36 | ${includedir}/mpeg2dec/mpeg2convert.h" | ||
37 | FILES_libmpeg2convert-staticdev = "${libdir}/libmpeg2convert.a" | ||
diff --git a/meta/recipes-multimedia/pulseaudio/libatomics-ops_7.2.bb b/meta/recipes-multimedia/pulseaudio/libatomics-ops_7.2.bb new file mode 100644 index 0000000000..f31f9835e5 --- /dev/null +++ b/meta/recipes-multimedia/pulseaudio/libatomics-ops_7.2.bb | |||
@@ -0,0 +1,29 @@ | |||
1 | SUMMARY = "A library for atomic integer operations" | ||
2 | DESCRIPTION = "A library for atomic integer operations" | ||
3 | HOMEPAGE = "http://www.hpl.hp.com/research/linux/atomic_ops/" | ||
4 | SECTION = "optional" | ||
5 | LICENSE = "GPLv2 & MIT" | ||
6 | LIC_FILES_CHKSUM = "file://doc/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ | ||
7 | file://doc/LICENSING.txt;md5=607073e04548eac7d1f763e480477bab \ | ||
8 | " | ||
9 | PR = "r1" | ||
10 | |||
11 | SRC_URI = "http://www.hpl.hp.com/research/linux/atomic_ops/download/libatomic_ops-${PV}.tar.gz \ | ||
12 | " | ||
13 | |||
14 | SRC_URI[md5sum] = "890acdc83a7cd10e2e9536062d3741c8" | ||
15 | SRC_URI[sha256sum] = "c4ee6e0c304c6f13bcc32968453cdb54b2ec233d8bf4cfcf266ee09dc33b4eb5" | ||
16 | |||
17 | S = "${WORKDIR}/libatomic_ops-${PV}" | ||
18 | |||
19 | ALLOW_EMPTY_${PN} = "1" | ||
20 | |||
21 | ARM_INSTRUCTION_SET = "arm" | ||
22 | |||
23 | inherit autotools pkgconfig | ||
24 | |||
25 | do_install_append() { | ||
26 | # those contain only docs, not necessary for now. | ||
27 | install -m 0755 -d ${D}${docdir} | ||
28 | mv ${D}${datadir}/libatomic_ops ${D}${docdir}/${BPN} | ||
29 | } | ||
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc new file mode 100644 index 0000000000..217673163c --- /dev/null +++ b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc | |||
@@ -0,0 +1,151 @@ | |||
1 | SUMMARY = "Sound server for Linux and Unix-like operating systems" | ||
2 | HOMEPAGE = "http://www.pulseaudio.org" | ||
3 | AUTHOR = "Lennart Poettering" | ||
4 | SECTION = "libs/multimedia" | ||
5 | LICENSE = "GPLv2+ & LGPLv2.1" | ||
6 | LIC_FILES_CHKSUM = "file://GPL;md5=4325afd396febcb659c36b49533135d4 \ | ||
7 | file://LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \ | ||
8 | file://src/pulsecore/resampler.h;beginline=4;endline=23;md5=c3d539b93f8c82a1780bfa3cfa544a95" | ||
9 | |||
10 | DEPENDS = "libatomics-ops liboil libsamplerate0 libsndfile1 libtool" | ||
11 | # optional | ||
12 | DEPENDS += "udev alsa-lib glib-2.0 dbus gconf" | ||
13 | DEPENDS += "json-c gdbm speex libxml-parser-perl-native" | ||
14 | |||
15 | inherit autotools pkgconfig useradd gettext perlnative | ||
16 | |||
17 | # *.desktop rules wont be generated during configure and build will fail | ||
18 | # if using --disable-nls | ||
19 | USE_NLS = "yes" | ||
20 | |||
21 | EXTRA_OECONF = "\ | ||
22 | --disable-hal-compat \ | ||
23 | --disable-orc \ | ||
24 | --enable-tcpwrap=no \ | ||
25 | --with-access-group=audio \ | ||
26 | --disable-openssl \ | ||
27 | --disable-xen \ | ||
28 | --with-database=simple \ | ||
29 | --without-fftw \ | ||
30 | --with-udev-rules-dir=`pkg-config --variable=udevdir udev`/rules.d \ | ||
31 | ac_cv_header_valgrind_memcheck_h=no \ | ||
32 | " | ||
33 | |||
34 | PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'bluetooth', 'bluez4', '', d)} \ | ||
35 | ${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \ | ||
36 | ${@base_contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \ | ||
37 | ${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}" | ||
38 | PACKAGECONFIG[bluez4] = "--enable-bluez4,--disable-bluez4,bluez4 sbc" | ||
39 | PACKAGECONFIG[bluez5] = "--enable-bluez5,--disable-bluez5,bluez5 sbc" | ||
40 | PACKAGECONFIG[gtk] = "--enable-gtk3,--disable-gtk3,gtk+3" | ||
41 | PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd" | ||
42 | PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11 libxtst libice libsm libxcb" | ||
43 | PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi" | ||
44 | PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack" | ||
45 | |||
46 | EXTRA_OECONF_append_arm = "${@bb.utils.contains("TUNE_FEATURES", "neon", "", " --enable-neon-opt=no", d)}" | ||
47 | EXTRA_OECONF_append_armeb = "${@bb.utils.contains("TUNE_FEATURES", "neon", "", " --enable-neon-opt=no", d)}" | ||
48 | |||
49 | |||
50 | export TARGET_PFPU = "${TARGET_FPU}" | ||
51 | |||
52 | # TODO: Use more fine granular version | ||
53 | #OE_LT_RPATH_ALLOW=":${libdir}/pulse-0.9:" | ||
54 | OE_LT_RPATH_ALLOW = "any" | ||
55 | OE_LT_RPATH_ALLOW[export]="1" | ||
56 | |||
57 | do_install_append() { | ||
58 | install -d ${D}${sysconfdir}/default/volatiles | ||
59 | install -m 0644 ${WORKDIR}/volatiles.04_pulse ${D}${sysconfdir}/default/volatiles/volatiles.04_pulse | ||
60 | |||
61 | if [ "x${TARGET_PFPU}" = "xsoft" ] ; then | ||
62 | sed -i -e s:\;\ resample-method\ =\ sinc-fastest:resample-method\ =\ trivial: ${D}${sysconfdir}/pulse/daemon.conf | ||
63 | fi | ||
64 | } | ||
65 | |||
66 | USERADD_PACKAGES = "pulseaudio-server" | ||
67 | GROUPADD_PARAM_pulseaudio-server = "pulse" | ||
68 | USERADD_PARAM_pulseaudio-server = "--system --home /var/run/pulse \ | ||
69 | --no-create-home --shell /bin/false \ | ||
70 | --groups audio,pulse --gid pulse pulse" | ||
71 | |||
72 | # The console-kit module is included here explicitly so bitbake can map to the | ||
73 | # RDEPENDS we define for it in this recipe, and thereby ensure that when | ||
74 | # adding the console-kit module to an image, we also get the necessary | ||
75 | # consolekit package produced. | ||
76 | PACKAGES =+ "libpulsecore libpulsecommon libpulse libpulse-simple libpulse-mainloop-glib \ | ||
77 | pulseaudio-server pulseaudio-misc ${@base_contains('PACKAGECONFIG', 'x11', 'pulseaudio-module-console-kit', '', d)}" | ||
78 | |||
79 | #upgrade path: | ||
80 | RREPLACES_pulseaudio-server = "libpulse-bin libpulse-conf" | ||
81 | |||
82 | PACKAGES_DYNAMIC += "^pulseaudio-lib.* ^pulseaudio-module.* ^libpulse-lib.* ^libpulse-module.* " | ||
83 | |||
84 | FILES_libpulsecore = "${libdir}/libpulsecore*.so" | ||
85 | FILES_libpulsecommon = "${libdir}/pulseaudio/libpulsecommon*.so" | ||
86 | FILES_libpulse = "${libdir}/libpulse.so.*" | ||
87 | FILES_libpulse-simple = "${libdir}/libpulse-simple.so.*" | ||
88 | FILES_libpulse-mainloop-glib = "${libdir}/libpulse-mainloop-glib.so.*" | ||
89 | |||
90 | FILES_${PN}-dbg += "${libexecdir}/pulse/.debug \ | ||
91 | ${libdir}/pulse-${PV}/modules/.debug" | ||
92 | FILES_${PN}-dev += "${libdir}/pulse-${PV}/modules/*.la ${datadir}/vala ${libdir}/cmake" | ||
93 | FILES_${PN}-conf = "${sysconfdir}" | ||
94 | FILES_${PN}-bin += "${sysconfdir}/default/volatiles/volatiles.04_pulse" | ||
95 | FILES_${PN}-server = "${bindir}/pulseaudio ${bindir}/start-* ${sysconfdir} ${bindir}/pactl */udev/rules.d/*.rules" | ||
96 | FILES_${PN}-misc = "${bindir}/* ${libdir}/pulseaudio/libpulsedsp.so" | ||
97 | |||
98 | # Allow the pulseaudio package to be created empty as a placeholder (-dbg and -dev depend on it) | ||
99 | ALLOW_EMPTY_${PN} = "1" | ||
100 | |||
101 | CONFFILES_pulseaudio-server = "\ | ||
102 | ${sysconfdir}/pulse/default.pa \ | ||
103 | ${sysconfdir}/pulse/daemon.conf \ | ||
104 | ${sysconfdir}/pulse/client.conf \ | ||
105 | " | ||
106 | |||
107 | pkg_postinst_${PN}-server() { | ||
108 | if [ -z "$D" ] && [ -e ${sysconfdir}/init.d/populate-volatile.sh ] ; then | ||
109 | ${sysconfdir}/init.d/populate-volatile.sh update | ||
110 | fi | ||
111 | } | ||
112 | |||
113 | python populate_packages_prepend() { | ||
114 | #d.setVar('PKG_pulseaudio', 'pulseaudio') | ||
115 | |||
116 | plugindir = d.expand('${libdir}/pulse-${PV}/modules/') | ||
117 | do_split_packages(d, plugindir, '^module-(.*)\.so$', 'pulseaudio-module-%s', 'PulseAudio module for %s', extra_depends='', prepend=True) | ||
118 | do_split_packages(d, plugindir, '^lib(.*)\.so$', 'pulseaudio-lib-%s', 'PulseAudio library for %s', extra_depends='', prepend=True) | ||
119 | } | ||
120 | |||
121 | RDEPENDS_pulseaudio-server = " \ | ||
122 | pulseaudio-module-filter-apply \ | ||
123 | pulseaudio-module-filter-heuristics \ | ||
124 | pulseaudio-module-udev-detect \ | ||
125 | pulseaudio-module-null-sink \ | ||
126 | pulseaudio-module-device-restore \ | ||
127 | pulseaudio-module-stream-restore \ | ||
128 | pulseaudio-module-card-restore \ | ||
129 | pulseaudio-module-augment-properties \ | ||
130 | pulseaudio-module-detect \ | ||
131 | pulseaudio-module-alsa-sink \ | ||
132 | pulseaudio-module-alsa-source \ | ||
133 | pulseaudio-module-alsa-card \ | ||
134 | pulseaudio-module-native-protocol-unix \ | ||
135 | pulseaudio-module-default-device-restore \ | ||
136 | pulseaudio-module-intended-roles \ | ||
137 | pulseaudio-module-rescue-streams \ | ||
138 | pulseaudio-module-always-sink \ | ||
139 | pulseaudio-module-suspend-on-idle \ | ||
140 | pulseaudio-module-position-event-sounds \ | ||
141 | pulseaudio-module-role-cork \ | ||
142 | pulseaudio-module-switch-on-port-available" | ||
143 | |||
144 | RDEPENDS_pulseaudio-module-console-kit =+ "consolekit" | ||
145 | RDEPENDS_pulseaudio-misc += "pulseaudio-module-cli-protocol-unix" | ||
146 | |||
147 | FILES_pulseaudio-module-gconf += "${libexecdir}/pulse/gconf-helper" | ||
148 | FILES_pulseaudio-module-alsa-card += "${datadir}/pulseaudio/alsa-mixer" | ||
149 | |||
150 | RDEPENDS_pulseaudio-server += "\ | ||
151 | ${@base_contains('DISTRO_FEATURES', 'x11', 'pulseaudio-module-console-kit', '', d)}" | ||
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-configure.ac-Check-only-for-libsystemd-not-libsystem.patch b/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-configure.ac-Check-only-for-libsystemd-not-libsystem.patch new file mode 100644 index 0000000000..467cd2cbd0 --- /dev/null +++ b/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-configure.ac-Check-only-for-libsystemd-not-libsystem.patch | |||
@@ -0,0 +1,30 @@ | |||
1 | From 002b16f0f2176b4c685e210e335bf69c02563ede Mon Sep 17 00:00:00 2001 | ||
2 | From: Martin Jansa <Martin.Jansa@gmail.com> | ||
3 | Date: Sat, 22 Feb 2014 18:03:10 +0100 | ||
4 | Subject: [PATCH] configure.ac: Check only for libsystemd not libsystemd-login | ||
5 | |||
6 | * they were merged into libsystemd in systemd-209 | ||
7 | |||
8 | Upstream-Status: Pending (it would need to be conditional on systemd version for upstream to accept this) | ||
9 | |||
10 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
11 | --- | ||
12 | configure.ac | 2 +- | ||
13 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
14 | |||
15 | diff --git a/configure.ac b/configure.ac | ||
16 | index 388fae2..fff7a83 100644 | ||
17 | --- a/configure.ac | ||
18 | +++ b/configure.ac | ||
19 | @@ -1160,7 +1160,7 @@ AC_ARG_ENABLE([systemd], | ||
20 | AS_HELP_STRING([--disable-systemd],[Disable optional systemd support])) | ||
21 | |||
22 | AS_IF([test "x$enable_systemd" != "xno"], | ||
23 | - [PKG_CHECK_MODULES(SYSTEMD, [ libsystemd-login ], HAVE_SYSTEMD=1, HAVE_SYSTEMD=0)], | ||
24 | + [PKG_CHECK_MODULES(SYSTEMD, [ libsystemd ], HAVE_SYSTEMD=1, HAVE_SYSTEMD=0)], | ||
25 | HAVE_SYSTEMD=0) | ||
26 | |||
27 | AS_IF([test "x$enable_systemd" = "xyes" && test "x$HAVE_SYSTEMD" = "x0"], | ||
28 | -- | ||
29 | 1.8.5.3 | ||
30 | |||
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio/volatiles.04_pulse b/meta/recipes-multimedia/pulseaudio/pulseaudio/volatiles.04_pulse new file mode 100644 index 0000000000..5b1998032b --- /dev/null +++ b/meta/recipes-multimedia/pulseaudio/pulseaudio/volatiles.04_pulse | |||
@@ -0,0 +1,2 @@ | |||
1 | # <type> <owner> <group> <mode> <path> <linksource> | ||
2 | d pulse pulse 0755 /var/run/pulse none | ||
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio_5.0.bb b/meta/recipes-multimedia/pulseaudio/pulseaudio_5.0.bb new file mode 100644 index 0000000000..8d8c421179 --- /dev/null +++ b/meta/recipes-multimedia/pulseaudio/pulseaudio_5.0.bb | |||
@@ -0,0 +1,12 @@ | |||
1 | require pulseaudio.inc | ||
2 | |||
3 | SRC_URI = "http://freedesktop.org/software/pulseaudio/releases/pulseaudio-${PV}.tar.xz \ | ||
4 | file://0001-configure.ac-Check-only-for-libsystemd-not-libsystem.patch \ | ||
5 | file://volatiles.04_pulse" | ||
6 | SRC_URI[md5sum] = "c43749838612f4860465e83ed62ca38e" | ||
7 | SRC_URI[sha256sum] = "99c13a8b1249ddbd724f195579df79484e9af6418cecf6a15f003a7f36caf939" | ||
8 | |||
9 | do_compile_prepend() { | ||
10 | mkdir -p ${S}/libltdl | ||
11 | cp ${STAGING_LIBDIR}/libltdl* ${S}/libltdl | ||
12 | } | ||
diff --git a/meta/recipes-multimedia/sbc/sbc_1.2.bb b/meta/recipes-multimedia/sbc/sbc_1.2.bb new file mode 100644 index 0000000000..c9811e7c5b --- /dev/null +++ b/meta/recipes-multimedia/sbc/sbc_1.2.bb | |||
@@ -0,0 +1,16 @@ | |||
1 | SUMMARY = "SBC Audio Codec" | ||
2 | DESCRIPTION = "Bluetooth low-complexity, subband codec (SBC) library." | ||
3 | HOMEPAGE = "https://www.bluez.org" | ||
4 | SECTION = "libs" | ||
5 | LICENSE = "GPLv2" | ||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \ | ||
7 | file://sbc/sbc.h;beginline=1;endline=26;md5=0f57d0df22b0d40746bdd29805a4361b" | ||
8 | |||
9 | DEPENDS = "libsndfile1" | ||
10 | |||
11 | SRC_URI = "${KERNELORG_MIRROR}/linux/bluetooth/${BP}.tar.xz" | ||
12 | |||
13 | SRC_URI[md5sum] = "ec65c444ad4c32aa85702641045b19e9" | ||
14 | SRC_URI[sha256sum] = "c2f01ea54f7473704825113a9cdd46a23e67c650eff575f0670c3d9d66c4a5dc" | ||
15 | |||
16 | inherit autotools | ||
diff --git a/meta/recipes-multimedia/speex/speex-fpu.inc b/meta/recipes-multimedia/speex/speex-fpu.inc new file mode 100644 index 0000000000..2571d32484 --- /dev/null +++ b/meta/recipes-multimedia/speex/speex-fpu.inc | |||
@@ -0,0 +1,4 @@ | |||
1 | def get_speex_fpu_setting(bb, d): | ||
2 | if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]: | ||
3 | return "--enable-fixed-point --disable-float-api --disable-vbr" | ||
4 | return "" | ||
diff --git a/meta/recipes-multimedia/speex/speex_1.2rc1.bb b/meta/recipes-multimedia/speex/speex_1.2rc1.bb new file mode 100644 index 0000000000..9fd88a39f3 --- /dev/null +++ b/meta/recipes-multimedia/speex/speex_1.2rc1.bb | |||
@@ -0,0 +1,25 @@ | |||
1 | SUMMARY = "Speech Audio Codec" | ||
2 | DESCRIPTION = "Speex is an Open Source/Free Software patent-free audio compression format designed for speech." | ||
3 | HOMEPAGE = "http://www.speex.org" | ||
4 | SECTION = "libs" | ||
5 | LICENSE = "BSD" | ||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=314649d8ba9dd7045dfb6683f298d0a8 \ | ||
7 | file://include/speex/speex.h;beginline=1;endline=34;md5=a68129f78d7fe66e07163f73aba143b3" | ||
8 | DEPENDS = "libogg" | ||
9 | |||
10 | PR = "r2" | ||
11 | |||
12 | SRC_URI = "http://downloads.us.xiph.org/releases/speex/speex-${PV}.tar.gz" | ||
13 | |||
14 | SRC_URI[md5sum] = "c4438b22c08e5811ff10e2b06ee9b9ae" | ||
15 | SRC_URI[sha256sum] = "342f30dc57bd4a6dad41398365baaa690429660b10d866b7d508e8f1179cb7a6" | ||
16 | |||
17 | PARALLEL_MAKE = "" | ||
18 | |||
19 | inherit autotools pkgconfig lib_package | ||
20 | |||
21 | EXTRA_OECONF = " --enable-fixed-point --with-ogg-libraries=${STAGING_LIBDIR} \ | ||
22 | --with-ogg-includes=${STAGING_INCDIR} --disable-oggtest" | ||
23 | |||
24 | require speex-fpu.inc | ||
25 | EXTRA_OECONF += "${@get_speex_fpu_setting(bb, d)}" | ||
diff --git a/meta/recipes-multimedia/tremor/tremor-20120314/obsolete_automake_macros.patch b/meta/recipes-multimedia/tremor/tremor-20120314/obsolete_automake_macros.patch new file mode 100644 index 0000000000..7e5102903b --- /dev/null +++ b/meta/recipes-multimedia/tremor/tremor-20120314/obsolete_automake_macros.patch | |||
@@ -0,0 +1,15 @@ | |||
1 | Upstream-Status: Submitted [https://trac.xiph.org/ticket/1922] | ||
2 | |||
3 | Signed-off-by: Marko Lindqvist <cazfi74@gmail.com> | ||
4 | Index: configure.in | ||
5 | =================================================================== | ||
6 | --- configure.in (revision 18764) | ||
7 | +++ configure.in (working copy) | ||
8 | @@ -9,7 +9,7 @@ | ||
9 | AC_CANONICAL_HOST | ||
10 | AC_CANONICAL_TARGET | ||
11 | |||
12 | -AM_CONFIG_HEADER([config.h]) | ||
13 | +AC_CONFIG_HEADERS([config.h]) | ||
14 | |||
15 | AM_INIT_AUTOMAKE(libvorbisidec,1.2.1) | ||
diff --git a/meta/recipes-multimedia/tremor/tremor-20120314/tremor-arm-thumb2.patch b/meta/recipes-multimedia/tremor/tremor-20120314/tremor-arm-thumb2.patch new file mode 100644 index 0000000000..2049542227 --- /dev/null +++ b/meta/recipes-multimedia/tremor/tremor-20120314/tremor-arm-thumb2.patch | |||
@@ -0,0 +1,104 @@ | |||
1 | From: Xin Ouyang <Xin.Ouyang@windriver.com> | ||
2 | Date: Mon, 16 Jul 2012 13:29:34 +0800 | ||
3 | Subject: [PATCH] tremor: add IT instructions for arm thumb2 tune flags. | ||
4 | |||
5 | Upstream-Status: Pending | ||
6 | |||
7 | In Thumb-2, most instructions do not have a built in condition code (except for | ||
8 | conditional branches). Instead, short sequences of instructions which are to be | ||
9 | executed conditionally can be preceded by a special "IT instruction" which | ||
10 | describes the condition and which of the following instructions should be | ||
11 | executed if the condition is false respectively. | ||
12 | |||
13 | For the ARM/Thumb IT(If-Then) instruction: | ||
14 | http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0489c/Cjabicci.html | ||
15 | |||
16 | Signed-off-by: Xin Ouyang <Xin.Ouyang@windriver.com> | ||
17 | --- | ||
18 | asm_arm.h | 14 ++++++++++++++ | ||
19 | 1 file changed, 14 insertions(+) | ||
20 | |||
21 | diff --git a/asm_arm.h b/asm_arm.h | ||
22 | index c3bda00..823c54f 100755 | ||
23 | --- a/asm_arm.h | ||
24 | +++ b/asm_arm.h | ||
25 | @@ -108,9 +108,11 @@ static inline void XNPROD31(ogg_int32_t a, ogg_int32_t b, | ||
26 | static inline ogg_int32_t CLIP_TO_15(ogg_int32_t x) { | ||
27 | int tmp; | ||
28 | asm volatile("subs %1, %0, #32768\n\t" | ||
29 | + "itt pl\n\t" | ||
30 | "movpl %0, #0x7f00\n\t" | ||
31 | "orrpl %0, %0, #0xff\n" | ||
32 | "adds %1, %0, #32768\n\t" | ||
33 | + "it mi\n\t" | ||
34 | "movmi %0, #0x8000" | ||
35 | : "+r"(x),"=r"(tmp) | ||
36 | : | ||
37 | @@ -139,10 +141,12 @@ static inline void lsp_loop_asm(ogg_uint32_t *qip,ogg_uint32_t *pip, | ||
38 | |||
39 | "ldmdb r0!,{r1,r3};" | ||
40 | "subs r1,r1,%4;" //ilsp[j]-wi | ||
41 | + "it mi;" | ||
42 | "rsbmi r1,r1,#0;" //labs(ilsp[j]-wi) | ||
43 | "umull %0,r2,r1,%0;" //qi*=labs(ilsp[j]-wi) | ||
44 | |||
45 | "subs r1,r3,%4;" //ilsp[j+1]-wi | ||
46 | + "it mi;" | ||
47 | "rsbmi r1,r1,#0;" //labs(ilsp[j+1]-wi) | ||
48 | "umull %1,r3,r1,%1;" //pi*=labs(ilsp[j+1]-wi) | ||
49 | |||
50 | @@ -167,6 +171,7 @@ static inline void lsp_loop_asm(ogg_uint32_t *qip,ogg_uint32_t *pip, | ||
51 | "mov r0,#0x4000;\n" | ||
52 | |||
53 | "subs r1,r1,%4;\n" //ilsp[j]-wi | ||
54 | + "it mi;\n" | ||
55 | "rsbmi r1,r1,#0;\n" //labs(ilsp[j]-wi) | ||
56 | "umull %0,r2,r1,%0;\n" //qi*=labs(ilsp[j]-wi) | ||
57 | "umull %1,r3,r0,%1;\n" //pi*=labs(ilsp[j+1]-wi) | ||
58 | @@ -190,18 +195,23 @@ static inline void lsp_loop_asm(ogg_uint32_t *qip,ogg_uint32_t *pip, | ||
59 | "mov r2,#0;" | ||
60 | "orr r1,%0,%1;" | ||
61 | "tst r1,#0xff000000;" | ||
62 | + "itt ne;" | ||
63 | "addne r2,r2,#8;" | ||
64 | "movne r1,r1,lsr #8;" | ||
65 | "tst r1,#0x00f00000;" | ||
66 | + "itt ne;" | ||
67 | "addne r2,r2,#4;" | ||
68 | "movne r1,r1,lsr #4;" | ||
69 | "tst r1,#0x000c0000;" | ||
70 | + "itt ne;" | ||
71 | "addne r2,r2,#2;" | ||
72 | "movne r1,r1,lsr #2;" | ||
73 | "tst r1,#0x00020000;" | ||
74 | + "itt ne;" | ||
75 | "addne r2,r2,#1;" | ||
76 | "movne r1,r1,lsr #1;" | ||
77 | "tst r1,#0x00010000;" | ||
78 | + "it ne;" | ||
79 | "addne r2,r2,#1;" | ||
80 | "mov %0,%0,lsr r2;" | ||
81 | "mov %1,%1,lsr r2;" | ||
82 | @@ -222,15 +232,19 @@ static inline void lsp_norm_asm(ogg_uint32_t *qip,ogg_int32_t *qexpp){ | ||
83 | ogg_int32_t qexp=*qexpp; | ||
84 | |||
85 | asm("tst %0,#0x0000ff00;" | ||
86 | + "itt eq;" | ||
87 | "moveq %0,%0,lsl #8;" | ||
88 | "subeq %1,%1,#8;" | ||
89 | "tst %0,#0x0000f000;" | ||
90 | + "itt eq;" | ||
91 | "moveq %0,%0,lsl #4;" | ||
92 | "subeq %1,%1,#4;" | ||
93 | "tst %0,#0x0000c000;" | ||
94 | + "itt eq;" | ||
95 | "moveq %0,%0,lsl #2;" | ||
96 | "subeq %1,%1,#2;" | ||
97 | "tst %0,#0x00008000;" | ||
98 | + "itt eq;" | ||
99 | "moveq %0,%0,lsl #1;" | ||
100 | "subeq %1,%1,#1;" | ||
101 | : "+r"(qi),"+r"(qexp) | ||
102 | -- | ||
103 | 1.7.9.5 | ||
104 | |||
diff --git a/meta/recipes-multimedia/tremor/tremor_20120314.bb b/meta/recipes-multimedia/tremor/tremor_20120314.bb new file mode 100644 index 0000000000..145316c53b --- /dev/null +++ b/meta/recipes-multimedia/tremor/tremor_20120314.bb | |||
@@ -0,0 +1,22 @@ | |||
1 | SUMMARY = "Fixed-point decoder" | ||
2 | DESCRIPTION = "tremor is a fixed point implementation of the vorbis codec." | ||
3 | SECTION = "libs" | ||
4 | LICENSE = "BSD" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=db1b7a668b2a6f47b2af88fb008ad555 \ | ||
6 | file://os.h;beginline=3;endline=14;md5=5c0af5e1bedef3ce8178c89f48cd6f1f" | ||
7 | DEPENDS = "libogg" | ||
8 | SRCDATE = "${PV}" | ||
9 | PR = "r1" | ||
10 | |||
11 | SRC_URI = "svn://svn.xiph.org/trunk;module=Tremor;rev=18221;protocol=http \ | ||
12 | file://obsolete_automake_macros.patch;striplevel=0 \ | ||
13 | file://tremor-arm-thumb2.patch \ | ||
14 | " | ||
15 | |||
16 | S = "${WORKDIR}/Tremor" | ||
17 | |||
18 | inherit autotools | ||
19 | |||
20 | EXTRA_OECONF = "--enable-shared" | ||
21 | |||
22 | ARM_INSTRUCTION_SET = "arm" | ||
diff --git a/meta/recipes-multimedia/x264/x264/don-t-default-to-cortex-a9-with-neon.patch b/meta/recipes-multimedia/x264/x264/don-t-default-to-cortex-a9-with-neon.patch new file mode 100644 index 0000000000..b844d88fe8 --- /dev/null +++ b/meta/recipes-multimedia/x264/x264/don-t-default-to-cortex-a9-with-neon.patch | |||
@@ -0,0 +1,20 @@ | |||
1 | -march flag is not in CFLAGS so this will always default to -mcpu=cortex-a8 | ||
2 | -mfpu=neon. | ||
3 | |||
4 | Upstream-Status: Pending | ||
5 | Signed-off-by: Andrei Gherzan <andrei@gherzan.ro> | ||
6 | |||
7 | Index: git/configure | ||
8 | =================================================================== | ||
9 | --- git.orig/configure 2013-02-10 16:26:40.666343682 +0200 | ||
10 | +++ git/configure 2013-02-10 16:27:49.198341677 +0200 | ||
11 | @@ -703,9 +703,6 @@ | ||
12 | fi | ||
13 | |||
14 | if [ $asm = auto -a $ARCH = ARM ] ; then | ||
15 | - # set flags so neon is built by default | ||
16 | - echo $CFLAGS | grep -Eq '(-mcpu|-march|-mfpu)' || CFLAGS="$CFLAGS -mcpu=cortex-a8 -mfpu=neon" | ||
17 | - | ||
18 | if cc_check '' '' '__asm__("rev ip, ip");' ; then define HAVE_ARMV6 | ||
19 | cc_check '' '' '__asm__("movt r0, #0");' && define HAVE_ARMV6T2 | ||
20 | cc_check '' '' '__asm__("vadd.i16 q0, q0, q0");' && define HAVE_NEON | ||
diff --git a/meta/recipes-multimedia/x264/x264_git.bb b/meta/recipes-multimedia/x264/x264_git.bb new file mode 100644 index 0000000000..d192c30fd2 --- /dev/null +++ b/meta/recipes-multimedia/x264/x264_git.bb | |||
@@ -0,0 +1,55 @@ | |||
1 | SUMMARY = "H.264/MPEG-4 AVC video encoder" | ||
2 | DESCRIPTION = "A free software library and application for encoding video streams into the H.264/MPEG-4 AVC format." | ||
3 | HOMEPAGE = "http://www.videolan.org/developers/x264.html" | ||
4 | |||
5 | LICENSE = "GPLv2" | ||
6 | LICENSE_FLAGS = "commercial" | ||
7 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" | ||
8 | |||
9 | DEPENDS = "yasm-native" | ||
10 | |||
11 | SRC_URI = "git://git.videolan.org/x264.git \ | ||
12 | file://don-t-default-to-cortex-a9-with-neon.patch \ | ||
13 | " | ||
14 | |||
15 | SRCREV = "585324fee380109acd9986388f857f413a60b896" | ||
16 | |||
17 | PV = "r2265+git${SRCPV}" | ||
18 | |||
19 | S = "${WORKDIR}/git" | ||
20 | |||
21 | inherit lib_package pkgconfig perlnative | ||
22 | |||
23 | X264_DISABLE_ASM = "" | ||
24 | X264_DISABLE_ASM_armv4 = "--disable-asm" | ||
25 | X264_DISABLE_ASM_armv5 = "--disable-asm" | ||
26 | X264_DISABLE_ASM_powerpc = "${@bb.utils.contains("TUNE_FEATURES", "spe", "--disable-asm", "", d)}" | ||
27 | |||
28 | EXTRA_OECONF = '--prefix=${prefix} \ | ||
29 | --host=${HOST_SYS} \ | ||
30 | --libdir=${libdir} \ | ||
31 | --cross-prefix=${TARGET_PREFIX} \ | ||
32 | --sysroot=${STAGING_DIR_TARGET} \ | ||
33 | --enable-shared \ | ||
34 | --enable-static \ | ||
35 | --disable-lavf \ | ||
36 | --disable-swscale \ | ||
37 | --enable-pic \ | ||
38 | ${X264_DISABLE_ASM} \ | ||
39 | ' | ||
40 | |||
41 | do_configure() { | ||
42 | ./configure ${EXTRA_OECONF} | ||
43 | } | ||
44 | |||
45 | # Get rid of -e | ||
46 | EXTRA_OEMAKE = "" | ||
47 | AS = "${TARGET_PREFIX}gcc" | ||
48 | |||
49 | do_install() { | ||
50 | oe_runmake install DESTDIR=${D} | ||
51 | } | ||
52 | |||
53 | # PIC can't be enabled for 32-bit x86 | ||
54 | INSANE_SKIP_${PN}_append_i586 = " textrel" | ||
55 | |||