diff options
| author | Adrian Dudau <adrian.dudau@enea.com> | 2013-12-12 13:38:32 +0100 |
|---|---|---|
| committer | Adrian Dudau <adrian.dudau@enea.com> | 2013-12-12 13:50:20 +0100 |
| commit | e2e6f6fe07049f33cb6348780fa975162752e421 (patch) | |
| tree | b1813295411235d1297a0ed642b1346b24fdfb12 /meta/recipes-multimedia | |
| download | poky-e2e6f6fe07049f33cb6348780fa975162752e421.tar.gz | |
initial commit of Enea Linux 3.1
Migrated from the internal git server on the dora-enea branch
Signed-off-by: Adrian Dudau <adrian.dudau@enea.com>
Diffstat (limited to 'meta/recipes-multimedia')
119 files changed, 4695 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..0e1ea76033 --- /dev/null +++ b/meta/recipes-multimedia/alsa/alsa-lib_1.0.27.2.bb | |||
| @@ -0,0 +1,49 @@ | |||
| 1 | DESCRIPTION = "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 = "--with-cards=pdaudiocf --with-oss=yes --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/ /usr/include/ ${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..294e970cd1 --- /dev/null +++ b/meta/recipes-multimedia/alsa/alsa-tools/autotools.patch | |||
| @@ -0,0 +1,35 @@ | |||
| 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,9 +1,9 @@ | ||
| 23 | VERSION = 1.0.26.1 | ||
| 24 | TOP = . | ||
| 25 | -SUBDIRS = ac3dec as10k1 envy24control hdsploader hdspconf hdspmixer \ | ||
| 26 | - mixartloader pcxhrloader rmedigicontrol sb16_csp seq sscape_ctl \ | ||
| 27 | - us428control usx2yloader vxloader echomixer ld10k1 qlo10k1 \ | ||
| 28 | - hwmixvolume hdajackretask hda-verb | ||
| 29 | +SUBDIRS = ac3dec as10k1 envy24control \ | ||
| 30 | + mixartloader pcxhrloader rmedigicontrol sb16_csp seq sscape_ctl \ | ||
| 31 | + us428control usx2yloader vxloader echomixer \ | ||
| 32 | + hwmixvolume hda-verb | ||
| 33 | |||
| 34 | all: | ||
| 35 | @for i in $(SUBDIRS); do \ | ||
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..51f934d8f6 --- /dev/null +++ b/meta/recipes-multimedia/alsa/alsa-tools/makefile_no_gtk.patch | |||
| @@ -0,0 +1,21 @@ | |||
| 1 | Remove some sub-components which need gtk+. | ||
| 2 | |||
| 3 | Signed-off-by: Rogerio Nunes <ronunes@gmail.com> | ||
| 4 | |||
| 5 | Upstream-Status: Inappropriate [configuration] | ||
| 6 | |||
| 7 | diff --git a/Makefile b/Makefile | ||
| 8 | --- a/Makefile | ||
| 9 | +++ b/Makefile | ||
| 10 | @@ -1,8 +1,8 @@ | ||
| 11 | VERSION = 1.0.26.1 | ||
| 12 | TOP = . | ||
| 13 | -SUBDIRS = ac3dec as10k1 envy24control \ | ||
| 14 | - mixartloader pcxhrloader rmedigicontrol sb16_csp seq sscape_ctl \ | ||
| 15 | - us428control usx2yloader vxloader echomixer \ | ||
| 16 | +SUBDIRS = ac3dec as10k1 \ | ||
| 17 | + mixartloader pcxhrloader sb16_csp seq sscape_ctl \ | ||
| 18 | + us428control usx2yloader vxloader \ | ||
| 19 | hwmixvolume hda-verb | ||
| 20 | |||
| 21 | all: | ||
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.26.1.bb b/meta/recipes-multimedia/alsa/alsa-tools_1.0.26.1.bb new file mode 100644 index 0000000000..a18cb466d3 --- /dev/null +++ b/meta/recipes-multimedia/alsa/alsa-tools_1.0.26.1.bb | |||
| @@ -0,0 +1,39 @@ | |||
| 1 | DESCRIPTION = "Alsa Tools package contains advanced tools for certain sound cards." | ||
| 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 | PR = "r1" | ||
| 9 | |||
| 10 | LIC_FILES_CHKSUM = "file://hdsploader/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ | ||
| 11 | file://ld10k1/COPYING.LIB;md5=7fbc338309ac38fefcd64b04bb903e34" | ||
| 12 | |||
| 13 | SRC_URI = "ftp://ftp.alsa-project.org/pub/tools/alsa-tools-${PV}.tar.bz2 \ | ||
| 14 | file://mips_has_no_io_h.patch \ | ||
| 15 | file://autotools.patch \ | ||
| 16 | ${@base_contains('DISTRO_FEATURES', 'x11', '', 'file://makefile_no_gtk.patch', d)}" | ||
| 17 | |||
| 18 | SRC_URI[md5sum] = "805526ea5d6c40e1f2c94cee86141230" | ||
| 19 | SRC_URI[sha256sum] = "553338693707fe6ddfc430b9edc4cd2677390e200c9e38de82ede3394e733841" | ||
| 20 | |||
| 21 | inherit autotools | ||
| 22 | |||
| 23 | EXTRA_OEMAKE += "GITCOMPILE_ARGS='--host=${HOST_SYS} --build=${BUILD_SYS} --target=${TARGET_SYS} --with-libtool-sysroot=${STAGING_DIR_HOST} --prefix=${prefix}'" | ||
| 24 | |||
| 25 | PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'gtk+', '', d)}" | ||
| 26 | PACKAGECONFIG[gtk+] = ",,gtk+," | ||
| 27 | |||
| 28 | do_configure () { | ||
| 29 | autotools_do_configure | ||
| 30 | autotools_copy_aclocal | ||
| 31 | } | ||
| 32 | |||
| 33 | do_compile_prepend () { | ||
| 34 | #Automake dir is not correctly detected in cross compilation case | ||
| 35 | export AUTOMAKE_DIR=${STAGING_DATADIR_NATIVE}/$(ls ${STAGING_DATADIR_NATIVE} | grep automake) | ||
| 36 | export ACLOCAL_FLAGS="--system-acdir=${ACLOCALDIR}/" | ||
| 37 | } | ||
| 38 | |||
| 39 | 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..a3fa1d076b --- /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 | THISDIR := "${@os.path.dirname(bb.data.getVar('FILE', d, True))}" | ||
| 4 | FILESPATH =. "${@base_set_filespath(["${THISDIR}/alsa-utils"], d)}:" | ||
| 5 | |||
| 6 | PACKAGES = "${PN}" | ||
| 7 | RDEPENDS_${PN} += "bash" | ||
| 8 | |||
| 9 | DESCRIPTION_${PN} = "a bash script that creates ALSA configuration files" | ||
| 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..a894171732 --- /dev/null +++ b/meta/recipes-multimedia/alsa/alsa-utils_1.0.27.2.bb | |||
| @@ -0,0 +1,82 @@ | |||
| 1 | DESCRIPTION = "ALSA 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 | SRC_URI = "ftp://ftp.alsa-project.org/pub/utils/alsa-utils-${PV}.tar.bz2 \ | ||
| 11 | file://0001-alsactl-don-t-let-systemd-unit-restore-the-volume-wh.patch \ | ||
| 12 | " | ||
| 13 | |||
| 14 | SRC_URI[md5sum] = "b65e9a04181bd7c9db7667a4566f8dc3" | ||
| 15 | SRC_URI[sha256sum] = "02bfac39092f3b68d743c23ad3d688d6c5aa8df69f2ccd692c5b8282edb352ea" | ||
| 16 | |||
| 17 | # lazy hack. needs proper fixing in gettext.m4, see | ||
| 18 | # http://bugs.openembedded.org/show_bug.cgi?id=2348 | ||
| 19 | # please close bug and remove this comment when properly fixed | ||
| 20 | # | ||
| 21 | EXTRA_OECONF = "--disable-xmlto --with-udev-rules-dir=`pkg-config --variable=udevdir udev`/rules.d " | ||
| 22 | EXTRA_OECONF_append_libc-uclibc = " --disable-nls" | ||
| 23 | |||
| 24 | inherit autotools gettext | ||
| 25 | |||
| 26 | # This are all packages that we need to make. Also, the now empty alsa-utils | ||
| 27 | # ipk depends on them. | ||
| 28 | |||
| 29 | ALSA_UTILS_PKGS = "\ | ||
| 30 | alsa-utils-alsamixer \ | ||
| 31 | alsa-utils-midi \ | ||
| 32 | alsa-utils-aplay \ | ||
| 33 | alsa-utils-amixer \ | ||
| 34 | alsa-utils-aconnect \ | ||
| 35 | alsa-utils-iecset \ | ||
| 36 | alsa-utils-speakertest \ | ||
| 37 | alsa-utils-aseqnet \ | ||
| 38 | alsa-utils-aseqdump \ | ||
| 39 | alsa-utils-alsactl \ | ||
| 40 | alsa-utils-alsaloop \ | ||
| 41 | alsa-utils-alsaucm \ | ||
| 42 | " | ||
| 43 | |||
| 44 | PACKAGES += "${ALSA_UTILS_PKGS}" | ||
| 45 | RDEPENDS_${PN} += "${ALSA_UTILS_PKGS}" | ||
| 46 | |||
| 47 | FILES_${PN} = "" | ||
| 48 | FILES_alsa-utils-aplay = "${bindir}/aplay ${bindir}/arecord" | ||
| 49 | FILES_alsa-utils-amixer = "${bindir}/amixer" | ||
| 50 | FILES_alsa-utils-alsamixer = "${bindir}/alsamixer" | ||
| 51 | FILES_alsa-utils-speakertest = "${bindir}/speaker-test ${datadir}/sounds/alsa/ ${datadir}/alsa/speaker-test/" | ||
| 52 | FILES_alsa-utils-midi = "${bindir}/aplaymidi ${bindir}/arecordmidi ${bindir}/amidi" | ||
| 53 | FILES_alsa-utils-aconnect = "${bindir}/aconnect" | ||
| 54 | FILES_alsa-utils-aseqnet = "${bindir}/aseqnet" | ||
| 55 | FILES_alsa-utils-iecset = "${bindir}/iecset" | ||
| 56 | FILES_alsa-utils-alsactl = "${sbindir}/alsactl */udev/rules.d ${systemd_unitdir} ${localstatedir}/lib/alsa ${datadir}/alsa/init/" | ||
| 57 | FILES_alsa-utils-aseqdump = "${bindir}/aseqdump" | ||
| 58 | FILES_alsa-utils-alsaloop = "${bindir}/alsaloop" | ||
| 59 | FILES_alsa-utils-alsaucm = "${bindir}/alsaucm" | ||
| 60 | |||
| 61 | |||
| 62 | DESCRIPTION_alsa-utils-aplay = "play (and record) sound files via ALSA" | ||
| 63 | DESCRIPTION_alsa-utils-amixer = "command-line based control for ALSA mixer and settings" | ||
| 64 | DESCRIPTION_alsa-utils-alsamixer = "ncurses based control for ALSA mixer and settings" | ||
| 65 | DESCRIPTION_alsa-utils-speakertest = "ALSA surround speaker test utility" | ||
| 66 | DESCRIPTION_alsa-utils-midi = "miscalleanous MIDI utilities for ALSA" | ||
| 67 | DESCRIPTION_alsa-utils-aconnect = "ALSA sequencer connection manager" | ||
| 68 | DESCRIPTION_alsa-utils-aseqnet = "network client/server on ALSA sequencer" | ||
| 69 | DESCRIPTION_alsa-utils-alsactl = "saves/restores ALSA-settings in /etc/asound.state" | ||
| 70 | DESCRIPTION_alsa-utils-alsaucm = "ALSA Use Case Manager" | ||
| 71 | |||
| 72 | RRECOMMENDS_alsa-utils-alsactl = "alsa-states" | ||
| 73 | |||
| 74 | ALLOW_EMPTY_alsa-utils = "1" | ||
| 75 | |||
| 76 | do_install() { | ||
| 77 | autotools_do_install | ||
| 78 | |||
| 79 | # We don't ship this here because it requires a dependency on bash. | ||
| 80 | # See alsa-utils-alsaconf_${PV}.bb | ||
| 81 | rm ${D}${sbindir}/alsaconf | ||
| 82 | } | ||
diff --git a/meta/recipes-multimedia/flac/flac-1.2.1/0001-No-AltiVec-on-SPE.patch b/meta/recipes-multimedia/flac/flac-1.2.1/0001-No-AltiVec-on-SPE.patch new file mode 100644 index 0000000000..5ca8b35142 --- /dev/null +++ b/meta/recipes-multimedia/flac/flac-1.2.1/0001-No-AltiVec-on-SPE.patch | |||
| @@ -0,0 +1,78 @@ | |||
| 1 | Upstream-Status: Inappropriate [configuration] | ||
| 2 | |||
| 3 | From f9b017c2c958d968cc5dfd36dc68fc8e5fb89a58 Mon Sep 17 00:00:00 2001 | ||
| 4 | From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> | ||
| 5 | Date: Fri, 11 Jun 2010 09:48:58 +0200 | ||
| 6 | Subject: [PATCH] No AltiVec on SPE | ||
| 7 | |||
| 8 | Consider *gnuspe which matches powerpc-unknown-linux-gnuspe where | ||
| 9 | AltiVec is not available at all. This triplet uses SPE which is | ||
| 10 | incompatible with AltiVec shares the same opcode range and can't be used | ||
| 11 | at all. | ||
| 12 | |||
| 13 | Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> | ||
| 14 | --- | ||
| 15 | configure.in | 8 ++++++++ | ||
| 16 | src/libFLAC/Makefile.am | 10 +++++++++- | ||
| 17 | 2 files changed, 17 insertions(+), 1 deletions(-) | ||
| 18 | |||
| 19 | diff --git a/configure.in b/configure.in | ||
| 20 | index bfa6d8e..17b7c73 100644 | ||
| 21 | --- a/configure.in | ||
| 22 | +++ b/configure.in | ||
| 23 | @@ -82,6 +82,14 @@ case "$host" in | ||
| 24 | *) OBJ_FORMAT=elf ;; | ||
| 25 | esac | ||
| 26 | AC_SUBST(OBJ_FORMAT) | ||
| 27 | +case "$host" in | ||
| 28 | + *-gnuspe) | ||
| 29 | + abi_spe=true | ||
| 30 | + AC_DEFINE(FLAC__CPU_PPC_SPE) | ||
| 31 | + AH_TEMPLATE(FLAC__CPU_PPC_SPE, [define if building for PowerPC with SPE ABI]) | ||
| 32 | + ;; | ||
| 33 | +esac | ||
| 34 | +AM_CONDITIONAL(FLaC__CPU_PPC_SPE, test "x$abi_spe" = xtrue) | ||
| 35 | |||
| 36 | # only needed because of ntohl() usage, can get rid of after that's gone: | ||
| 37 | case "$host" in | ||
| 38 | diff --git a/src/libFLAC/Makefile.am b/src/libFLAC/Makefile.am | ||
| 39 | index cbfb0ac..5785372 100644 | ||
| 40 | --- a/src/libFLAC/Makefile.am | ||
| 41 | +++ b/src/libFLAC/Makefile.am | ||
| 42 | @@ -40,8 +40,15 @@ if FLaC__SYS_DARWIN | ||
| 43 | CPUCFLAGS = -faltivec -force_cpusubtype_ALL -DFLAC__NO_ASM | ||
| 44 | else | ||
| 45 | # Linux-gcc for PPC does not have -force_cpusubtype_ALL, it is Darwin-specific | ||
| 46 | +CPUCFLAGS = | ||
| 47 | +if FLaC__CPU_PPC_SPE | ||
| 48 | +else | ||
| 49 | +if FLaC__USE_ALTIVEC | ||
| 50 | +CPUCFLAGS += -maltivec -mabi=altivec | ||
| 51 | +endif | ||
| 52 | +endif | ||
| 53 | #@@@ PPC optimizations temporarily disabled | ||
| 54 | -CPUCFLAGS = -maltivec -mabi=altivec -DFLAC__NO_ASM | ||
| 55 | +CPUCFLAGS += -DFLAC__NO_ASM | ||
| 56 | endif | ||
| 57 | endif | ||
| 58 | |||
| 59 | @@ -58,6 +63,8 @@ endif | ||
| 60 | if FLaC__CPU_PPC | ||
| 61 | ARCH_SUBDIRS = ppc | ||
| 62 | if FLaC__HAS_AS__TEMPORARILY_DISABLED | ||
| 63 | +if FLaC__CPU_PPC_SPE | ||
| 64 | +else | ||
| 65 | LOCAL_EXTRA_LIBADD = ppc/as/libFLAC-asm.la | ||
| 66 | LOCAL_EXTRA_LDFLAGS = "-Wl,-read_only_relocs,warning" | ||
| 67 | else | ||
| 68 | @@ -68,6 +75,7 @@ endif | ||
| 69 | endif | ||
| 70 | endif | ||
| 71 | endif | ||
| 72 | +endif | ||
| 73 | |||
| 74 | libFLAC_la_LIBADD = $(LOCAL_EXTRA_LIBADD) @OGG_LIBS@ | ||
| 75 | |||
| 76 | -- | ||
| 77 | 1.5.6.5 | ||
| 78 | |||
diff --git a/meta/recipes-multimedia/flac/flac-1.2.1/asm-pic.patch b/meta/recipes-multimedia/flac/flac-1.2.1/asm-pic.patch new file mode 100644 index 0000000000..43f29cf1ee --- /dev/null +++ b/meta/recipes-multimedia/flac/flac-1.2.1/asm-pic.patch | |||
| @@ -0,0 +1,99 @@ | |||
| 1 | Upstream-Status: Backport | ||
| 2 | Signed-off-by: Ross Burton <ross.burton@intel.com> | ||
| 3 | |||
| 4 | From 12022d90dd3adc9f37dc2b16358cbecfe3c5be1c Mon Sep 17 00:00:00 2001 | ||
| 5 | From: Samuli Suominen <drac@gentoo.org> | ||
| 6 | Date: Sun, 15 Jul 2012 15:45:10 +1000 | ||
| 7 | Subject: [PATCH] Fix assembler code to make it PIC so the dynamic linker does | ||
| 8 | not have to do text relocations on-the-fly. Patch from Gentoo | ||
| 9 | via Jaren Stangret <sirjaren@gmail.com> | ||
| 10 | |||
| 11 | Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com> | ||
| 12 | --- | ||
| 13 | src/libFLAC/ia32/bitreader_asm.nasm | 27 +++++++++++++++++++++++++++ | ||
| 14 | 1 files changed, 27 insertions(+), 0 deletions(-) | ||
| 15 | |||
| 16 | diff --git a/src/libFLAC/ia32/bitreader_asm.nasm b/src/libFLAC/ia32/bitreader_asm.nasm | ||
| 17 | index c6bb8c2..4cd0ea2 100644 | ||
| 18 | --- a/src/libFLAC/ia32/bitreader_asm.nasm | ||
| 19 | +++ b/src/libFLAC/ia32/bitreader_asm.nasm | ||
| 20 | @@ -140,8 +140,13 @@ cident FLAC__bitreader_read_rice_signed_block_asm_ia32_bswap | ||
| 21 | %ifdef FLAC__PUBLIC_NEEDS_UNDERSCORE | ||
| 22 | mov edi, _FLAC__crc16_table | ||
| 23 | %else | ||
| 24 | +%ifdef OBJ_FORMAT_elf | ||
| 25 | + mov edi, [esp + 16] ; saved ebx (GOT base) | ||
| 26 | + lea edi, [edi + FLAC__crc16_table wrt ..gotoff] | ||
| 27 | +%else | ||
| 28 | mov edi, FLAC__crc16_table | ||
| 29 | %endif | ||
| 30 | +%endif | ||
| 31 | ;; eax (ax) crc a.k.a. br->read_crc | ||
| 32 | ;; ebx (bl) intermediate result index into FLAC__crc16_table[] | ||
| 33 | ;; ecx br->crc16_align | ||
| 34 | @@ -216,8 +221,13 @@ cident FLAC__bitreader_read_rice_signed_block_asm_ia32_bswap | ||
| 35 | %ifdef FLAC__PUBLIC_NEEDS_UNDERSCORE | ||
| 36 | mov edi, _FLAC__crc16_table | ||
| 37 | %else | ||
| 38 | +%ifdef OBJ_FORMAT_elf | ||
| 39 | + mov edi, [esp + 16] ; saved ebx (GOT base) | ||
| 40 | + lea edi, [edi + FLAC__crc16_table wrt ..gotoff] | ||
| 41 | +%else | ||
| 42 | mov edi, FLAC__crc16_table | ||
| 43 | %endif | ||
| 44 | +%endif | ||
| 45 | ;; eax (ax) crc a.k.a. br->read_crc | ||
| 46 | ;; ebx (bl) intermediate result index into FLAC__crc16_table[] | ||
| 47 | ;; ecx br->crc16_align | ||
| 48 | @@ -316,8 +326,13 @@ cident FLAC__bitreader_read_rice_signed_block_asm_ia32_bswap | ||
| 49 | %ifdef FLAC__PUBLIC_NEEDS_UNDERSCORE | ||
| 50 | call _bitreader_read_from_client_ | ||
| 51 | %else | ||
| 52 | +%ifdef OBJ_FORMAT_elf | ||
| 53 | + mov ebx, [esp + 20] ; saved ebx (GOT base) | ||
| 54 | + call bitreader_read_from_client_ wrt ..plt | ||
| 55 | +%else | ||
| 56 | call bitreader_read_from_client_ | ||
| 57 | %endif | ||
| 58 | +%endif | ||
| 59 | pop edx ; /* discard, unused */ | ||
| 60 | pop ecx ; /* restore */ | ||
| 61 | mov esi, [ebp + 16] ; cwords = br->consumed_words; | ||
| 62 | @@ -363,13 +378,20 @@ cident FLAC__bitreader_read_rice_signed_block_asm_ia32_bswap | ||
| 63 | mov [ebp + 16], esi ; br->consumed_words = cwords; | ||
| 64 | mov [ebp + 20], ecx ; br->consumed_bits = cbits; | ||
| 65 | push ecx ; /* save */ | ||
| 66 | + push ebx ; /* save */ | ||
| 67 | push ebp ; /* push br argument */ | ||
| 68 | %ifdef FLAC__PUBLIC_NEEDS_UNDERSCORE | ||
| 69 | call _bitreader_read_from_client_ | ||
| 70 | %else | ||
| 71 | +%ifdef OBJ_FORMAT_elf | ||
| 72 | + mov ebx, [esp + 24] ; saved ebx (GOT base) | ||
| 73 | + call bitreader_read_from_client_ wrt ..plt | ||
| 74 | +%else | ||
| 75 | call bitreader_read_from_client_ | ||
| 76 | %endif | ||
| 77 | +%endif | ||
| 78 | pop edx ; /* discard, unused */ | ||
| 79 | + pop ebx ; /* restore */ | ||
| 80 | pop ecx ; /* restore */ | ||
| 81 | mov esi, [ebp + 16] ; cwords = br->consumed_words; | ||
| 82 | ; ucbits = (br->words-cwords)*FLAC__BITS_PER_WORD + br->bytes*8 - cbits; | ||
| 83 | @@ -438,8 +460,13 @@ cident FLAC__bitreader_read_rice_signed_block_asm_ia32_bswap | ||
| 84 | %ifdef FLAC__PUBLIC_NEEDS_UNDERSCORE | ||
| 85 | mov edi, _FLAC__crc16_table | ||
| 86 | %else | ||
| 87 | +%ifdef OBJ_FORMAT_elf | ||
| 88 | + mov edi, [esp + 24] ; saved ebx (GOT base) | ||
| 89 | + lea edi, [edi + FLAC__crc16_table wrt ..gotoff] | ||
| 90 | +%else | ||
| 91 | mov edi, FLAC__crc16_table | ||
| 92 | %endif | ||
| 93 | +%endif | ||
| 94 | ;; eax (ax) crc a.k.a. br->read_crc | ||
| 95 | ;; ebx (bl) intermediate result index into FLAC__crc16_table[] | ||
| 96 | ;; ecx br->crc16_align | ||
| 97 | -- | ||
| 98 | 1.7.2.5 | ||
| 99 | |||
diff --git a/meta/recipes-multimedia/flac/flac-1.2.1/disable-xmms-plugin.patch b/meta/recipes-multimedia/flac/flac-1.2.1/disable-xmms-plugin.patch new file mode 100644 index 0000000000..80769a87c5 --- /dev/null +++ b/meta/recipes-multimedia/flac/flac-1.2.1/disable-xmms-plugin.patch | |||
| @@ -0,0 +1,25 @@ | |||
| 1 | # Acquired from OpenEmbedded | ||
| 2 | Upstream-Status: Inappropriate [disable feature] | ||
| 3 | |||
| 4 | diff -ruN flac-1.2.1-orig/src/Makefile.am flac-1.2.1-new/src/Makefile.am | ||
| 5 | --- flac-1.2.1-orig/src/Makefile.am 2010-06-23 15:06:29.167865355 +0800 | ||
| 6 | +++ flac-1.2.1-new/src/Makefile.am 2010-06-25 16:23:05.555202728 +0800 | ||
| 7 | @@ -15,10 +15,6 @@ | ||
| 8 | # restrictive of those mentioned above. See the file COPYING.Xiph in this | ||
| 9 | # distribution. | ||
| 10 | |||
| 11 | -if FLaC__HAS_XMMS | ||
| 12 | -XMMS_DIRS = plugin_common plugin_xmms | ||
| 13 | -endif | ||
| 14 | - | ||
| 15 | if FLaC__WITH_CPPLIBS | ||
| 16 | CPPLIBS_DIRS = libFLAC++ test_libFLAC++ | ||
| 17 | endif | ||
| 18 | @@ -29,7 +25,6 @@ | ||
| 19 | flac \ | ||
| 20 | metaflac \ | ||
| 21 | monkeys_audio_utilities \ | ||
| 22 | - $(XMMS_DIRS) \ | ||
| 23 | plugin_winamp2 \ | ||
| 24 | test_grabbag \ | ||
| 25 | test_libs_common \ | ||
diff --git a/meta/recipes-multimedia/flac/flac-1.2.1/flac-gcc43-fixes.patch b/meta/recipes-multimedia/flac/flac-1.2.1/flac-gcc43-fixes.patch new file mode 100644 index 0000000000..6b6659994f --- /dev/null +++ b/meta/recipes-multimedia/flac/flac-1.2.1/flac-gcc43-fixes.patch | |||
| @@ -0,0 +1,15 @@ | |||
| 1 | # Acquired from OpenEmbedded | ||
| 2 | # Fix no declaration of memcmp() | ||
| 3 | Upstream-Status: Submitted | ||
| 4 | |||
| 5 | diff -urN flac-1.2.1-orig/examples/cpp/encode/file/main.cpp flac-1.2.1/examples/cpp/encode/file/main.cpp | ||
| 6 | --- flac-1.2.1-orig/examples/cpp/encode/file/main.cpp 2010-06-23 15:06:29.159481339 +0800 | ||
| 7 | +++ flac-1.2.1/examples/cpp/encode/file/main.cpp 2010-06-23 15:06:46.233384883 +0800 | ||
| 8 | @@ -30,6 +30,7 @@ | ||
| 9 | |||
| 10 | #include <stdio.h> | ||
| 11 | #include <stdlib.h> | ||
| 12 | +#include <string.h> | ||
| 13 | #include "FLAC++/metadata.h" | ||
| 14 | #include "FLAC++/encoder.h" | ||
| 15 | |||
diff --git a/meta/recipes-multimedia/flac/flac-1.2.1/obsolete_automake_macros.patch b/meta/recipes-multimedia/flac/flac-1.2.1/obsolete_automake_macros.patch new file mode 100644 index 0000000000..aa060a465f --- /dev/null +++ b/meta/recipes-multimedia/flac/flac-1.2.1/obsolete_automake_macros.patch | |||
| @@ -0,0 +1,14 @@ | |||
| 1 | Upstream-Status: Backport [https://sourceforge.net/p/flac/support-requests/146/] | ||
| 2 | |||
| 3 | Signed-off-by: Marko Lindqvist <cazfi74@gmail.com> | ||
| 4 | diff -Nurd flac-1.2.1/configure.in flac-1.2.1/configure.in | ||
| 5 | --- flac-1.2.1/configure.in 2007-09-13 18:48:42.000000000 +0300 | ||
| 6 | +++ flac-1.2.1/configure.in 2013-01-03 08:20:07.454704587 +0200 | ||
| 7 | @@ -44,7 +44,7 @@ | ||
| 8 | AC_CHECK_SIZEOF(void*,0) | ||
| 9 | |||
| 10 | #@@@ new name is AC_CONFIG_HEADERS | ||
| 11 | -AM_CONFIG_HEADER(config.h) | ||
| 12 | +AC_CONFIG_HEADERS(config.h) | ||
| 13 | |||
| 14 | AC_C_BIGENDIAN | ||
diff --git a/meta/recipes-multimedia/flac/flac-1.2.1/xmms.m4 b/meta/recipes-multimedia/flac/flac-1.2.1/xmms.m4 new file mode 100644 index 0000000000..5e250cdd38 --- /dev/null +++ b/meta/recipes-multimedia/flac/flac-1.2.1/xmms.m4 | |||
| @@ -0,0 +1,149 @@ | |||
| 1 | # CFLAGS and library paths for XMMS | ||
| 2 | # written 15 December 1999 by Ben Gertzfield <che@debian.org> | ||
| 3 | # Acquired from OpenEmbedded | ||
| 4 | |||
| 5 | dnl Usage: | ||
| 6 | dnl AM_PATH_XMMS([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) | ||
| 7 | dnl | ||
| 8 | dnl Example: | ||
| 9 | dnl AM_PATH_XMMS(0.9.5.1, , AC_MSG_ERROR([*** XMMS >= 0.9.5.1 not installed - please install first ***])) | ||
| 10 | dnl | ||
| 11 | dnl Defines XMMS_CFLAGS, XMMS_LIBS, XMMS_DATA_DIR, XMMS_PLUGIN_DIR, | ||
| 12 | dnl XMMS_VISUALIZATION_PLUGIN_DIR, XMMS_INPUT_PLUGIN_DIR, | ||
| 13 | dnl XMMS_OUTPUT_PLUGIN_DIR, XMMS_GENERAL_PLUGIN_DIR, XMMS_EFFECT_PLUGIN_DIR, | ||
| 14 | dnl and XMMS_VERSION for your plugin pleasure. | ||
| 15 | dnl | ||
| 16 | |||
| 17 | dnl XMMS_TEST_VERSION(AVAILABLE-VERSION, NEEDED-VERSION [, ACTION-IF-OKAY [, ACTION-IF-NOT-OKAY]]) | ||
| 18 | AC_DEFUN(XMMS_TEST_VERSION, [ | ||
| 19 | |||
| 20 | # Determine which version number is greater. Prints 2 to stdout if | ||
| 21 | # the second number is greater, 1 if the first number is greater, | ||
| 22 | # 0 if the numbers are equal. | ||
| 23 | |||
| 24 | # Written 15 December 1999 by Ben Gertzfield <che@debian.org> | ||
| 25 | # Revised 15 December 1999 by Jim Monty <monty@primenet.com> | ||
| 26 | |||
| 27 | AC_PROG_AWK | ||
| 28 | xmms_got_version=[` $AWK ' \ | ||
| 29 | BEGIN { \ | ||
| 30 | print vercmp(ARGV[1], ARGV[2]); \ | ||
| 31 | } \ | ||
| 32 | \ | ||
| 33 | function vercmp(ver1, ver2, ver1arr, ver2arr, \ | ||
| 34 | ver1len, ver2len, \ | ||
| 35 | ver1int, ver2int, len, i, p) { \ | ||
| 36 | \ | ||
| 37 | ver1len = split(ver1, ver1arr, /\./); \ | ||
| 38 | ver2len = split(ver2, ver2arr, /\./); \ | ||
| 39 | \ | ||
| 40 | len = ver1len > ver2len ? ver1len : ver2len; \ | ||
| 41 | \ | ||
| 42 | for (i = 1; i <= len; i++) { \ | ||
| 43 | p = 1000 ^ (len - i); \ | ||
| 44 | ver1int += ver1arr[i] * p; \ | ||
| 45 | ver2int += ver2arr[i] * p; \ | ||
| 46 | } \ | ||
| 47 | \ | ||
| 48 | if (ver1int < ver2int) \ | ||
| 49 | return 2; \ | ||
| 50 | else if (ver1int > ver2int) \ | ||
| 51 | return 1; \ | ||
| 52 | else \ | ||
| 53 | return 0; \ | ||
| 54 | }' $1 $2`] | ||
| 55 | |||
| 56 | if test $xmms_got_version -eq 2; then # failure | ||
| 57 | ifelse([$4], , :, $4) | ||
| 58 | else # success! | ||
| 59 | ifelse([$3], , :, $3) | ||
| 60 | fi | ||
| 61 | ]) | ||
| 62 | |||
| 63 | AC_DEFUN(AM_PATH_XMMS, | ||
| 64 | [ | ||
| 65 | AC_ARG_WITH(xmms-prefix,[ --with-xmms-prefix=PFX Prefix where XMMS is installed (optional)], | ||
| 66 | xmms_config_prefix="$withval", xmms_config_prefix="") | ||
| 67 | AC_ARG_WITH(xmms-exec-prefix,[ --with-xmms-exec-prefix=PFX Exec prefix where XMMS is installed (optional)], | ||
| 68 | xmms_config_exec_prefix="$withval", xmms_config_exec_prefix="") | ||
| 69 | |||
| 70 | if test x$xmms_config_exec_prefix != x; then | ||
| 71 | xmms_config_args="$xmms_config_args --exec-prefix=$xmms_config_exec_prefix" | ||
| 72 | if test x${XMMS_CONFIG+set} != xset; then | ||
| 73 | XMMS_CONFIG=$xmms_config_exec_prefix/bin/xmms-config | ||
| 74 | fi | ||
| 75 | fi | ||
| 76 | |||
| 77 | if test x$xmms_config_prefix != x; then | ||
| 78 | xmms_config_args="$xmms_config_args --prefix=$xmms_config_prefix" | ||
| 79 | if test x${XMMS_CONFIG+set} != xset; then | ||
| 80 | XMMS_CONFIG=$xmms_config_prefix/bin/xmms-config | ||
| 81 | fi | ||
| 82 | fi | ||
| 83 | |||
| 84 | AC_PATH_PROG(XMMS_CONFIG, xmms-config, no) | ||
| 85 | min_xmms_version=ifelse([$1], ,0.9.5.1, $1) | ||
| 86 | |||
| 87 | if test "$XMMS_CONFIG" = "no"; then | ||
| 88 | no_xmms=yes | ||
| 89 | else | ||
| 90 | XMMS_CFLAGS=`$XMMS_CONFIG $xmms_config_args --cflags` | ||
| 91 | XMMS_LIBS=`$XMMS_CONFIG $xmms_config_args --libs` | ||
| 92 | XMMS_VERSION=`$XMMS_CONFIG $xmms_config_args --version` | ||
| 93 | XMMS_DATA_DIR=`$XMMS_CONFIG $xmms_config_args --data-dir` | ||
| 94 | XMMS_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --plugin-dir` | ||
| 95 | XMMS_VISUALIZATION_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args \ | ||
| 96 | --visualization-plugin-dir` | ||
| 97 | XMMS_INPUT_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --input-plugin-dir` | ||
| 98 | XMMS_OUTPUT_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --output-plugin-dir` | ||
| 99 | XMMS_EFFECT_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --effect-plugin-dir` | ||
| 100 | XMMS_GENERAL_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --general-plugin-dir` | ||
| 101 | |||
| 102 | XMMS_TEST_VERSION($XMMS_VERSION, $min_xmms_version, ,no_xmms=version) | ||
| 103 | fi | ||
| 104 | |||
| 105 | AC_MSG_CHECKING(for XMMS - version >= $min_xmms_version) | ||
| 106 | |||
| 107 | if test "x$no_xmms" = x; then | ||
| 108 | AC_MSG_RESULT(yes) | ||
| 109 | ifelse([$2], , :, [$2]) | ||
| 110 | else | ||
| 111 | AC_MSG_RESULT(no) | ||
| 112 | |||
| 113 | if test "$XMMS_CONFIG" = "no" ; then | ||
| 114 | echo "*** The xmms-config script installed by XMMS could not be found." | ||
| 115 | echo "*** If XMMS was installed in PREFIX, make sure PREFIX/bin is in" | ||
| 116 | echo "*** your path, or set the XMMS_CONFIG environment variable to the" | ||
| 117 | echo "*** full path to xmms-config." | ||
| 118 | else | ||
| 119 | if test "$no_xmms" = "version"; then | ||
| 120 | echo "*** An old version of XMMS, $XMMS_VERSION, was found." | ||
| 121 | echo "*** You need a version of XMMS newer than $min_xmms_version." | ||
| 122 | echo "*** The latest version of XMMS is always available from" | ||
| 123 | echo "*** http://www.xmms.org/" | ||
| 124 | echo "***" | ||
| 125 | |||
| 126 | echo "*** If you have already installed a sufficiently new version, this error" | ||
| 127 | echo "*** probably means that the wrong copy of the xmms-config shell script is" | ||
| 128 | echo "*** being found. The easiest way to fix this is to remove the old version" | ||
| 129 | echo "*** of XMMS, but you can also set the XMMS_CONFIG environment to point to the" | ||
| 130 | echo "*** correct copy of xmms-config. (In this case, you will have to" | ||
| 131 | echo "*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf" | ||
| 132 | echo "*** so that the correct libraries are found at run-time)" | ||
| 133 | fi | ||
| 134 | fi | ||
| 135 | XMMS_CFLAGS="" | ||
| 136 | XMMS_LIBS="" | ||
| 137 | ifelse([$3], , :, [$3]) | ||
| 138 | fi | ||
| 139 | AC_SUBST(XMMS_CFLAGS) | ||
| 140 | AC_SUBST(XMMS_LIBS) | ||
| 141 | AC_SUBST(XMMS_VERSION) | ||
| 142 | AC_SUBST(XMMS_DATA_DIR) | ||
| 143 | AC_SUBST(XMMS_PLUGIN_DIR) | ||
| 144 | AC_SUBST(XMMS_VISUALIZATION_PLUGIN_DIR) | ||
| 145 | AC_SUBST(XMMS_INPUT_PLUGIN_DIR) | ||
| 146 | AC_SUBST(XMMS_OUTPUT_PLUGIN_DIR) | ||
| 147 | AC_SUBST(XMMS_GENERAL_PLUGIN_DIR) | ||
| 148 | AC_SUBST(XMMS_EFFECT_PLUGIN_DIR) | ||
| 149 | ]) | ||
diff --git a/meta/recipes-multimedia/flac/flac_1.2.1.bb b/meta/recipes-multimedia/flac/flac_1.2.1.bb new file mode 100644 index 0000000000..7fd7a0315f --- /dev/null +++ b/meta/recipes-multimedia/flac/flac_1.2.1.bb | |||
| @@ -0,0 +1,59 @@ | |||
| 1 | SUMMARY = "Free Lossless Audio Codec" | ||
| 2 | DESCRIPTION = "FLAC stands for Free Lossless Audio Codec, an audio format similar to MP3, but lossless." | ||
| 3 | HOMEPAGE = "http://flac.sourceforge.net/" | ||
| 4 | BUGTRACKER = "http://sourceforge.net/tracker/?group_id=13478&atid=113478" | ||
| 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=16;md5=8dee151a56a3122f064a9dce771db37d \ | ||
| 9 | file://COPYING.GPL;md5=079b27cd65c86dbc1b6997ffde902735 \ | ||
| 10 | file://src/flac/main.c;beginline=1;endline=17;md5=756c4234516e4266ea45ee7bbbd798cf \ | ||
| 11 | file://COPYING.LGPL;md5=fbc093901857fcd118f065f900982c24 \ | ||
| 12 | file://src/plugin_common/all.h;beginline=1;endline=17;md5=b2e7960da6b43e4eccabf999bcf7f3a9 \ | ||
| 13 | file://COPYING.Xiph;md5=df8975c0225f83ed7b567587ed953b83 \ | ||
| 14 | file://include/FLAC/all.h;beginline=64;endline=69;md5=64474f2b22e9e77b28d8b8b25c983a48" | ||
| 15 | DEPENDS = "libogg" | ||
| 16 | |||
| 17 | PR = "r4" | ||
| 18 | |||
| 19 | SRC_URI = "${SOURCEFORGE_MIRROR}/flac/flac-${PV}.tar.gz \ | ||
| 20 | file://disable-xmms-plugin.patch \ | ||
| 21 | file://flac-gcc43-fixes.patch \ | ||
| 22 | file://xmms.m4 \ | ||
| 23 | file://0001-No-AltiVec-on-SPE.patch \ | ||
| 24 | file://asm-pic.patch \ | ||
| 25 | file://obsolete_automake_macros.patch \ | ||
| 26 | " | ||
| 27 | |||
| 28 | SRC_URI[md5sum] = "153c8b15a54da428d1f0fadc756c22c7" | ||
| 29 | SRC_URI[sha256sum] = "9635a44bceb478bbf2ee8a785cf6986fba525afb5fad1fd4bba73cf71f2d3edf" | ||
| 30 | |||
| 31 | S = "${WORKDIR}/flac-${PV}" | ||
| 32 | |||
| 33 | inherit autotools gettext | ||
| 34 | |||
| 35 | EXTRA_OECONF = "--disable-oggtest --disable-id3libtest \ | ||
| 36 | --with-ogg-libraries=${STAGING_LIBDIR} \ | ||
| 37 | --with-ogg-includes=${STAGING_INCDIR} \ | ||
| 38 | --without-xmms-prefix \ | ||
| 39 | --without-xmms-exec-prefix \ | ||
| 40 | --without-libiconv-prefix \ | ||
| 41 | --without-id3lib" | ||
| 42 | |||
| 43 | EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "altivec", " --enable-altivec", " --disable-altivec", d)}" | ||
| 44 | |||
| 45 | PACKAGES += "libflac libflac++ liboggflac liboggflac++" | ||
| 46 | FILES_${PN} = "${bindir}/*" | ||
| 47 | FILES_libflac = "${libdir}/libFLAC.so.*" | ||
| 48 | FILES_libflac++ = "${libdir}/libFLAC++.so.*" | ||
| 49 | FILES_liboggflac = "${libdir}/libOggFLAC.so.*" | ||
| 50 | FILES_liboggflac++ = "${libdir}/libOggFLAC++.so.*" | ||
| 51 | |||
| 52 | do_configure () { | ||
| 53 | install -d ${S}/m4 | ||
| 54 | install -m 0644 ${WORKDIR}/xmms.m4 ${S}/m4/ | ||
| 55 | autotools_do_configure | ||
| 56 | # removes '-read-only-relocs' which is enabled for PowerPC builds. | ||
| 57 | # It makes the build fail, other archs are not affected. Fixes #1775. | ||
| 58 | sed -i 's/-Wl,-read_only_relocs,warning//g' src/libFLAC/Makefile | ||
| 59 | } | ||
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/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..8873105049 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.13.bb | |||
| @@ -0,0 +1,55 @@ | |||
| 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 | " | ||
| 26 | |||
| 27 | SRC_URI[md5sum] = "7f5beacaf1312db2db30a026b36888c4" | ||
| 28 | SRC_URI[sha256sum] = "76fca05b08e00134e3cb92fa347507f42cbd48ddb08ed3343a912def187fbb62" | ||
| 29 | |||
| 30 | PR = "r7" | ||
| 31 | |||
| 32 | GSTREAMER_DEBUG ?= "--disable-debug" | ||
| 33 | |||
| 34 | FFMPEG_EXTRA_CONFIGURE = "--with-ffmpeg-extra-configure" | ||
| 35 | # pass --cpu for powerpc. get cpu name by stripping "ppc" or "ppc64" | ||
| 36 | # from DEFAULTTUNE | ||
| 37 | FFMPEG_CPU_powerpc = "--cpu=${@d.getVar('DEFAULTTUNE')[3:]}" | ||
| 38 | FFMPEG_CPU_powerpc64 = "--cpu=${@d.getVar('DEFAULTTUNE')[5:]}" | ||
| 39 | FFMPEG_EXTRA_CONFIGURE_COMMON_ARG = "--target-os=linux ${FFMPEG_CPU} \ | ||
| 40 | --cc='${CC}' --as='${CC}' --ld='${CC}' --nm='${NM}' --ar='${AR}' \ | ||
| 41 | --ranlib='${RANLIB}' \ | ||
| 42 | ${GSTREAMER_DEBUG}" | ||
| 43 | FFMPEG_EXTRA_CONFIGURE_COMMON = \ | ||
| 44 | '${FFMPEG_EXTRA_CONFIGURE}="${FFMPEG_EXTRA_CONFIGURE_COMMON_ARG}"' | ||
| 45 | |||
| 46 | EXTRA_OECONF = "${FFMPEG_EXTRA_CONFIGURE_COMMON}" | ||
| 47 | |||
| 48 | PACKAGECONFIG ??= "external-libav" | ||
| 49 | PACKAGECONFIG[external-libav] = "--with-system-ffmpeg,,libav" | ||
| 50 | PACKAGECONFIG[orc] = "--enable-orc,--disable-orc,orc" | ||
| 51 | |||
| 52 | FILES_${PN} += "${libdir}/gstreamer-0.10/*.so" | ||
| 53 | FILES_${PN}-dbg += "${libdir}/gstreamer-0.10/.debug" | ||
| 54 | FILES_${PN}-dev += "${libdir}/gstreamer-0.10/*.la" | ||
| 55 | 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..a485994783 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gst-fluendo-mp3_0.10.19.bb | |||
| @@ -0,0 +1,14 @@ | |||
| 1 | require gst-fluendo.inc | ||
| 2 | |||
| 3 | LICENSE = "MIT" | ||
| 4 | LIC_FILES_CHKSUM = "file://COPYING;md5=259a43dd1c9854b71fc396f74699f4d2" | ||
| 5 | LICENSE_FLAGS = "commercial" | ||
| 6 | |||
| 7 | acpaths = "-I ${S}/common/m4 -I ${S}/m4" | ||
| 8 | |||
| 9 | PR = "r0" | ||
| 10 | |||
| 11 | DESCRIPTION = "Fluendo closed-format mp3 GStreamer plug-in" | ||
| 12 | |||
| 13 | SRC_URI[md5sum] = "5d95a9a216dd15bc5c00c9414061115c" | ||
| 14 | 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..f4bdce1cdd --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gst-fluendo-mpegdemux_0.10.72.bb | |||
| @@ -0,0 +1,12 @@ | |||
| 1 | require gst-fluendo.inc | ||
| 2 | DESCRIPTION = "Fluendo closed-format mpeg video GStreamer plug-in" | ||
| 3 | |||
| 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..b2c7eea3cb --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gst-fluendo.inc | |||
| @@ -0,0 +1,15 @@ | |||
| 1 | DESCRIPTION = "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..210da3745e --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gst-meta-base_0.10.bb | |||
| @@ -0,0 +1,68 @@ | |||
| 1 | DESCRIPTION = "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=3f40d7994397109285ec7b81fdeb3b58 \ | ||
| 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..19473baf11 --- /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 = "r7" | ||
| 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..4474e1efc0 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gst-plugins-gl_0.10.3.bb | |||
| @@ -0,0 +1,23 @@ | |||
| 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 | inherit gettext gconf | ||
| 14 | |||
| 15 | # This package doesn't have a configure switch for EGL or GL, so forcibly tell | ||
| 16 | # configure that it can't find gl.h so it always uses EGL. If/when we have some | ||
| 17 | # way for machines to specify their preferred GL flavour this can be | ||
| 18 | # automatically adapted. | ||
| 19 | EXTRA_OECONF += "ac_cv_header_GL_gl_h=no" | ||
| 20 | |||
| 21 | ALLOW_EMPTY_${PN} = "1" | ||
| 22 | ALLOW_EMPTY_${PN}-apps = "1" | ||
| 23 | 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..d18e1555a0 --- /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 --without-check \ | ||
| 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..4c9716d1ed --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gst-plugins.inc | |||
| @@ -0,0 +1,30 @@ | |||
| 1 | DESCRIPTION = "Plugins for GStreamer" | ||
| 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..3d996bcaa4 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav.inc | |||
| @@ -0,0 +1,35 @@ | |||
| 1 | DESCRIPTION = "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 | PR = "r1" | ||
| 11 | |||
| 12 | |||
| 13 | # CAUTION: Using the system libav is not recommended. Since the libav API is changing all the time, | ||
| 14 | # compilation errors (and other, more subtle bugs) can happen. It is usually better to rely on the | ||
| 15 | # libav copy included in the gst-libav package. | ||
| 16 | PACKAGECONFIG ??= " " | ||
| 17 | PACKAGECONFIG[libav] = "--with-system-libav,,libav" | ||
| 18 | PACKAGECONFIG[lgpl] = "--enable-lgpl,," | ||
| 19 | PACKAGECONFIG[yasm] = "--enable-yasm,--disable-yasm,yasm-native" | ||
| 20 | PACKAGECONFIG[orc] = "--enable-orc,--disable-orc,orc" | ||
| 21 | |||
| 22 | |||
| 23 | GSTREAMER_1_0_DEBUG ?= "--disable-debug" | ||
| 24 | |||
| 25 | LIBAV_EXTRA_CONFIGURE = "--with-libav-extra-configure" | ||
| 26 | LIBAV_EXTRA_CONFIGURE_COMMON = \ | ||
| 27 | '${LIBAV_EXTRA_CONFIGURE}="${LIBAV_EXTRA_CONFIGURE_COMMON_ARG}"' | ||
| 28 | |||
| 29 | EXTRA_OECONF = "${LIBAV_EXTRA_CONFIGURE_COMMON}" | ||
| 30 | |||
| 31 | FILES_${PN} += "${libdir}/gstreamer-1.0/*.so" | ||
| 32 | FILES_${PN}-dbg += "${libdir}/gstreamer-1.0/.debug" | ||
| 33 | FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la" | ||
| 34 | FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a" | ||
| 35 | |||
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/libav_e500mc.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/libav_e500mc.patch new file mode 100644 index 0000000000..eba4988031 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/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/gstreamer1.0-libav_1.0.9.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.0.9.bb new file mode 100644 index 0000000000..0b6bd50c25 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.0.9.bb | |||
| @@ -0,0 +1,26 @@ | |||
| 1 | include gstreamer1.0-libav.inc | ||
| 2 | |||
| 3 | LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ | ||
| 4 | file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605 \ | ||
| 5 | file://ext/libav/gstav.h;beginline=1;endline=18;md5=ff65467b0c53cdfa98d0684c1bc240a9 \ | ||
| 6 | file://gst-libs/ext/libav/LICENSE;md5=abc3b8cb02856aa7823bbbd162d16232 \ | ||
| 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=e344c8fa836c3a41c4cbd79d7bd3a379 \ | ||
| 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 | file://libav_e500mc.patch \ | ||
| 16 | " | ||
| 17 | SRC_URI[md5sum] = "8414f8d4c4a239a74a3d5eadf3d14875" | ||
| 18 | SRC_URI[sha256sum] = "759641c0597c24191322f40945b363b75df299a539ff4086650be6193028189a" | ||
| 19 | |||
| 20 | LIBAV_EXTRA_CONFIGURE_COMMON_ARG = "--target-os=linux \ | ||
| 21 | --cc='${CC}' --as='${CC}' --ld='${CC}' --nm='${NM}' --ar='${AR}' \ | ||
| 22 | --ranlib='${RANLIB}' \ | ||
| 23 | ${GSTREAMER_1_0_DEBUG}" | ||
| 24 | |||
| 25 | S = "${WORKDIR}/gst-libav-${PV}" | ||
| 26 | |||
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-omx.inc b/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx.inc new file mode 100644 index 0000000000..324d3f9c53 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx.inc | |||
| @@ -0,0 +1,42 @@ | |||
| 1 | DESCRIPTION = "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..a36335aeff --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc | |||
| @@ -0,0 +1,103 @@ | |||
| 1 | require gstreamer1.0-plugins.inc | ||
| 2 | |||
| 3 | LICENSE = "GPLv2+ & LGPLv2+ & LGPLv2.1+ " | ||
| 4 | |||
| 5 | DEPENDS += "gstreamer1.0-plugins-base bzip2" | ||
| 6 | |||
| 7 | SRC_URI[md5sum] = "d1493d1219b836a8cbf54f4fba962420" | ||
| 8 | SRC_URI[sha256sum] = "5f49e6353fdc855834b5beb054b3a47ef5fa558006c7eda6d2ec07b36315c2ab" | ||
| 9 | |||
| 10 | S = "${WORKDIR}/gst-plugins-bad-${PV}" | ||
| 11 | |||
| 12 | inherit gettext | ||
| 13 | |||
| 14 | |||
| 15 | PACKAGECONFIG ??= " \ | ||
| 16 | curl eglgles wayland \ | ||
| 17 | " | ||
| 18 | |||
| 19 | PACKAGECONFIG[assrender] = "--enable-assrender,--disable-assrender,libass" | ||
| 20 | PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl" | ||
| 21 | PACKAGECONFIG[eglgles] = "--enable-eglgles,--disable-eglgles,virtual/egl virtual/libgles2" | ||
| 22 | PACKAGECONFIG[faad] = "--enable-faad,--disable-faad,faad2" | ||
| 23 | PACKAGECONFIG[libmms] = "--enable-libmms,--disable-libmms,libmms" | ||
| 24 | PACKAGECONFIG[modplug] = "--enable-modplug,--disable-modplug,libmodplug" | ||
| 25 | PACKAGECONFIG[mpg123] = "--enable-mpg123,--disable-mpg123,mpg123" | ||
| 26 | PACKAGECONFIG[opus] = "--enable-opus,--disable-opus,libopus" | ||
| 27 | PACKAGECONFIG[flite] = "--enable-flite,--disable-flite,flite-alsa" | ||
| 28 | PACKAGECONFIG[opencv] = "--enable-opencv,--disable-opencv,opencv" | ||
| 29 | PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland" | ||
| 30 | |||
| 31 | |||
| 32 | |||
| 33 | # these plugins have not been ported to 1.0 (yet): | ||
| 34 | # directdraw vcd uvch264 apexsink cdaudio cog dc1394 directfb dirac fbdev jasper | ||
| 35 | # kate ladspa lv2 linsys musepack musicbrainz mythtv nas neon ofa openal rsvg | ||
| 36 | # timidity teletextdec wildmidi sdl sndfile xvid wininet acm gsettings sndio | ||
| 37 | #mfc hls openjpeg sbc | ||
| 38 | EXTRA_OECONF += " \ | ||
| 39 | --enable-dvb \ | ||
| 40 | --enable-shm \ | ||
| 41 | --disable-uvch264 \ | ||
| 42 | --disable-vcd \ | ||
| 43 | --disable-fbdev \ | ||
| 44 | --disable-examples \ | ||
| 45 | --disable-experimental \ | ||
| 46 | --disable-celt \ | ||
| 47 | --disable-chromaprint \ | ||
| 48 | --disable-decklink \ | ||
| 49 | --disable-dts \ | ||
| 50 | --disable-faac \ | ||
| 51 | --disable-gme \ | ||
| 52 | --disable-gsm \ | ||
| 53 | --disable-mpeg2enc \ | ||
| 54 | --disable-mplex \ | ||
| 55 | --disable-resindvd \ | ||
| 56 | --disable-rtmp \ | ||
| 57 | --disable-schro \ | ||
| 58 | --disable-soundtouch \ | ||
| 59 | --disable-spandsp \ | ||
| 60 | --disable-vdpau \ | ||
| 61 | --disable-acm \ | ||
| 62 | --disable-android_media \ | ||
| 63 | --disable-apexsink \ | ||
| 64 | --disable-apple_media \ | ||
| 65 | --disable-avc \ | ||
| 66 | --disable-cdaudio \ | ||
| 67 | --disable-cog \ | ||
| 68 | --disable-dc1394 \ | ||
| 69 | --disable-dirac \ | ||
| 70 | --disable-direct3d \ | ||
| 71 | --disable-direct3d9 \ | ||
| 72 | --disable-directdraw \ | ||
| 73 | --disable-directsound \ | ||
| 74 | --disable-directshow \ | ||
| 75 | --disable-gsettings \ | ||
| 76 | --disable-kate \ | ||
| 77 | --disable-ladspa \ | ||
| 78 | --disable-linsys \ | ||
| 79 | --disable-lv2 \ | ||
| 80 | --disable-mimic \ | ||
| 81 | --disable-musepack \ | ||
| 82 | --disable-mythtv \ | ||
| 83 | --disable-nas \ | ||
| 84 | --disable-ofa \ | ||
| 85 | --disable-osx_video \ | ||
| 86 | --disable-pvr \ | ||
| 87 | --disable-quicktime \ | ||
| 88 | --disable-sndio \ | ||
| 89 | --disable-spc \ | ||
| 90 | --disable-swfdec \ | ||
| 91 | --disable-teletextdec \ | ||
| 92 | --disable-timidity \ | ||
| 93 | --disable-voaacenc \ | ||
| 94 | --disable-voamrwbenc \ | ||
| 95 | --disable-wildmidi \ | ||
| 96 | --disable-wininet \ | ||
| 97 | --disable-xvid \ | ||
| 98 | --disable-zbar \ | ||
| 99 | ${GSTREAMER_1_0_ORC} \ | ||
| 100 | " | ||
| 101 | |||
| 102 | ARM_INSTRUCTION_SET = "arm" | ||
| 103 | |||
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.0.9.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.0.9.bb new file mode 100644 index 0000000000..9ce7991028 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.0.9.bb | |||
| @@ -0,0 +1,12 @@ | |||
| 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=71a904d99ce7ae0c1cf129891b98145c" | ||
| 7 | |||
| 8 | SRC_URI[md5sum] = "569e5122fd7bfd7bd861a537f0a28c60" | ||
| 9 | SRC_URI[sha256sum] = "69d236b1d8188270a3f51f6710146d0ca63c2f1a9f6cfbab3399ef01b9498f75" | ||
| 10 | |||
| 11 | S = "${WORKDIR}/gst-plugins-bad-${PV}" | ||
| 12 | |||
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..5002399396 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base.inc | |||
| @@ -0,0 +1,40 @@ | |||
| 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 | |||
| 11 | PACKAGECONFIG ??= " \ | ||
| 12 | ${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \ | ||
| 13 | ${@base_contains('DISTRO_FEATURES', 'alsa', 'alsa', '', d)} \ | ||
| 14 | ivorbis ogg theora vorbis \ | ||
| 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[alsa] = "--enable-alsa,--disable-alsa,alsa-lib" | ||
| 22 | PACKAGECONFIG[ivorbis] = "--enable-ivorbis,--disable-ivorbis,tremor" | ||
| 23 | PACKAGECONFIG[ogg] = "--enable-ogg,--disable-ogg,libogg" | ||
| 24 | PACKAGECONFIG[theora] = "--enable-theora,--disable-theora,libtheora" | ||
| 25 | PACKAGECONFIG[vorbis] = "--enable-vorbis,--disable-vorbis,libvorbis" | ||
| 26 | PACKAGECONFIG[pango] = "--enable-pango,--disable-pango,pango" | ||
| 27 | |||
| 28 | |||
| 29 | # cdparanoia and libvisual do not seem to exist anywhere in OE | ||
| 30 | EXTRA_OECONF += " \ | ||
| 31 | --disable-freetypetest \ | ||
| 32 | --disable-oggtest \ | ||
| 33 | --disable-vorbistest \ | ||
| 34 | --disable-cdparanoia \ | ||
| 35 | --disable-libvisual \ | ||
| 36 | ${GSTREAMER_1_0_ORC} \ | ||
| 37 | " | ||
| 38 | |||
| 39 | FILES_${PN} += "${datadir}/gst-plugins-base" | ||
| 40 | |||
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.0.9.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.0.9.bb new file mode 100644 index 0000000000..7b1e9908d7 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.0.9.bb | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | include gstreamer1.0-plugins-base.inc | ||
| 2 | |||
| 3 | LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \ | ||
| 4 | file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=622921ffad8cb18ab906c56052788a3f \ | ||
| 5 | file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605 \ | ||
| 6 | " | ||
| 7 | SRC_URI[md5sum] = "24af1986581d9c2cd3dc834ab64d133d" | ||
| 8 | SRC_URI[sha256sum] = "963e3b83d651661f495ca2e44ccd2d5c61e986e9d7706246e568276689a372ea" | ||
| 9 | |||
| 10 | 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..19b16cafa4 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good.inc | |||
| @@ -0,0 +1,53 @@ | |||
| 1 | require gstreamer1.0-plugins.inc | ||
| 2 | |||
| 3 | LICENSE = "GPLv2+ & LGPLv2.1+" | ||
| 4 | |||
| 5 | # libid3tag | ||
| 6 | DEPENDS += "gstreamer1.0-plugins-base gconf zlib bzip2" | ||
| 7 | |||
| 8 | inherit gettext gconf | ||
| 9 | |||
| 10 | |||
| 11 | PACKAGECONFIG ??= " \ | ||
| 12 | ${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \ | ||
| 13 | ${@base_contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)} \ | ||
| 14 | 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 | PACKAGECONFIG[v4l] = "--with-libv4l2,--without-libv4l2,libv4l" | ||
| 34 | |||
| 35 | EXTRA_OECONF += " \ | ||
| 36 | --disable-directsound \ | ||
| 37 | --disable-waveform \ | ||
| 38 | --disable-oss \ | ||
| 39 | --disable-oss4 \ | ||
| 40 | --disable-sunaudio \ | ||
| 41 | --disable-osx_audio \ | ||
| 42 | --disable-osx_video \ | ||
| 43 | --disable-aalib \ | ||
| 44 | --disable-libcaca \ | ||
| 45 | --disable-libdv \ | ||
| 46 | --disable-dv1394 \ | ||
| 47 | --disable-shout2 \ | ||
| 48 | --disable-examples \ | ||
| 49 | ${GSTREAMER_1_0_ORC} \ | ||
| 50 | " | ||
| 51 | |||
| 52 | FILES_${PN}-gconfelements += "${sysconfdir}/gconf/schemas/gstreamer-1.0.schemas" | ||
| 53 | |||
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.0.9.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.0.9.bb new file mode 100644 index 0000000000..1b65b7da64 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.0.9.bb | |||
| @@ -0,0 +1,11 @@ | |||
| 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=622921ffad8cb18ab906c56052788a3f \ | ||
| 5 | file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe" | ||
| 6 | |||
| 7 | SRC_URI[md5sum] = "20bb77f201b044f4ba61de167c4466d7" | ||
| 8 | SRC_URI[sha256sum] = "cfa2e617a76f93e9ddd4ae1109297e93fb4a06b152042b996231234a72c5a5ff" | ||
| 9 | |||
| 10 | S = "${WORKDIR}/gst-plugins-good-${PV}" | ||
| 11 | |||
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..3f47949018 --- /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 | 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.0.9.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.0.9.bb new file mode 100644 index 0000000000..30fa3a361d --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.0.9.bb | |||
| @@ -0,0 +1,10 @@ | |||
| 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 | |||
| 6 | SRC_URI[md5sum] = "ea8b4e05ed5beb982762b45aba266720" | ||
| 7 | SRC_URI[sha256sum] = "11250fe9e44b0169c3a289e981b31874b483643ed78f619682ae1644d7088379" | ||
| 8 | |||
| 9 | S = "${WORKDIR}/gst-plugins-ugly-${PV}" | ||
| 10 | |||
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..651119e2ed --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins.inc | |||
| @@ -0,0 +1,59 @@ | |||
| 1 | DESCRIPTION = "Plugins for GStreamer 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..3cb478ae1c --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0.inc | |||
| @@ -0,0 +1,21 @@ | |||
| 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-docs-build --disable-dependency-tracking --with-check=no --disable-examples --disable-tests --disable-valgrind ${GSTREAMER_1_DEBUG}" | ||
| 14 | |||
| 15 | RRECOMMENDS_${PN}_qemux86 += "kernel-module-snd-ens1370 kernel-module-snd-rawmidi" | ||
| 16 | RRECOMMENDS_${PN}_qemux86-64 += "kernel-module-snd-ens1370 kernel-module-snd-rawmidi" | ||
| 17 | |||
| 18 | FILES_${PN} += " ${libdir}/gstreamer-1.0/*.so" | ||
| 19 | FILES_${PN}-dev += " ${libdir}/gstreamer-1.0/*.la ${libdir}/gstreamer-1.0/*.a" | ||
| 20 | FILES_${PN}-dbg += " ${libdir}/gstreamer-1.0/.debug/ ${libexecdir}/gstreamer-1.0/.debug/" | ||
| 21 | |||
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.0.9.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.0.9.bb new file mode 100644 index 0000000000..e4b2f1e759 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.0.9.bb | |||
| @@ -0,0 +1,13 @@ | |||
| 1 | include gstreamer1.0.inc | ||
| 2 | |||
| 3 | LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605 \ | ||
| 4 | file://gst/gst.h;beginline=1;endline=21;md5=8e5fe5e87d33a04479fde862e238eaa4" | ||
| 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] = "cbbad73d703b811bc8bd18e47b36e534" | ||
| 11 | SRC_URI[sha256sum] = "17a2c60a82baa461ef685ad3de187edb9c03a2c7e07513daba58a5a32efacaa3" | ||
| 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..90b1982aab --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer_0.10.36.bb | |||
| @@ -0,0 +1,42 @@ | |||
| 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-docs-build --disable-dependency-tracking --with-check=no --disable-examples --disable-tests --disable-valgrind ${GSTREAMER_DEBUG}" | ||
| 25 | |||
| 26 | # apply gstreamer hack after Makefile.in.in in source is replaced by our version from | ||
| 27 | # ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in, but before configure is executed | ||
| 28 | # http://lists.linuxtogo.org/pipermail/openembedded-core/2012-November/032233.html | ||
| 29 | oe_runconf_prepend() { | ||
| 30 | sed -i -e "1a\\" -e 'GETTEXT_PACKAGE = @GETTEXT_PACKAGE@' ${S}/po/Makefile.in.in | ||
| 31 | } | ||
| 32 | |||
| 33 | #do_compile_prepend () { | ||
| 34 | # mv ${WORKDIR}/gstregistrybinary.[ch] ${S}/gst/ | ||
| 35 | #} | ||
| 36 | |||
| 37 | RRECOMMENDS_${PN}_qemux86 += "kernel-module-snd-ens1370 kernel-module-snd-rawmidi" | ||
| 38 | RRECOMMENDS_${PN}_qemux86-64 += "kernel-module-snd-ens1370 kernel-module-snd-rawmidi" | ||
| 39 | |||
| 40 | FILES_${PN} += " ${libdir}/gstreamer-0.10/*.so" | ||
| 41 | FILES_${PN}-dev += " ${libdir}/gstreamer-0.10/*.la ${libdir}/gstreamer-0.10/*.a" | ||
| 42 | 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..978636af90 --- /dev/null +++ b/meta/recipes-multimedia/lame/lame_3.99.5.bb | |||
| @@ -0,0 +1,28 @@ | |||
| 1 | DESCRIPTION = "LAME is an educational tool to be used for learning about MP3 encoding." | ||
| 2 | HOMEPAGE = "http://sourceforge.net/projects/lame/files/lame/" | ||
| 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..a7f1fae176 --- /dev/null +++ b/meta/recipes-multimedia/liba52/liba52_0.7.4.bb | |||
| @@ -0,0 +1,23 @@ | |||
| 1 | DESCRIPTION = "Library for reading some sort of media format." | ||
| 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-0.8.8/0001-configure-enable-pic-for-AArch64.patch b/meta/recipes-multimedia/libav/libav-0.8.8/0001-configure-enable-pic-for-AArch64.patch new file mode 100644 index 0000000000..d9b22b9b6a --- /dev/null +++ b/meta/recipes-multimedia/libav/libav-0.8.8/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.inc b/meta/recipes-multimedia/libav/libav.inc new file mode 100644 index 0000000000..c33f7edfe0 --- /dev/null +++ b/meta/recipes-multimedia/libav/libav.inc | |||
| @@ -0,0 +1,129 @@ | |||
| 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 | --enable-libtheora \ | ||
| 49 | --enable-libvorbis \ | ||
| 50 | --arch=${TARGET_ARCH} \ | ||
| 51 | --target-os="linux" \ | ||
| 52 | --enable-cross-compile \ | ||
| 53 | --extra-cflags="${TARGET_CFLAGS} ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" \ | ||
| 54 | --extra-ldflags="${TARGET_LDFLAGS}" \ | ||
| 55 | --sysroot="${STAGING_DIR_TARGET}" \ | ||
| 56 | --enable-hardcoded-tables \ | ||
| 57 | ${EXTRA_FFCONF} \ | ||
| 58 | " | ||
| 59 | |||
| 60 | do_configure() { | ||
| 61 | # We don't have TARGET_PREFIX-pkgconfig | ||
| 62 | sed -i '/pkg_config_default="${cross_prefix}${pkg_config_default}"/d' ${S}/configure | ||
| 63 | mkdir -p ${B} | ||
| 64 | cd ${B} | ||
| 65 | ${S}/configure ${EXTRA_OECONF} | ||
| 66 | sed -i -e s:Os:O4:g ${B}/config.h | ||
| 67 | } | ||
| 68 | |||
| 69 | do_install_append() { | ||
| 70 | install -m 0644 ${S}/libavfilter/*.h ${D}${includedir}/libavfilter/ | ||
| 71 | } | ||
| 72 | |||
| 73 | FFMPEG_LIBS = "libavcodec libavdevice libavformat \ | ||
| 74 | libavutil libpostproc libswscale libavfilter" | ||
| 75 | |||
| 76 | PACKAGES += "${PN}-vhook-dbg ${PN}-vhook ffmpeg-x264-presets" | ||
| 77 | |||
| 78 | RSUGGESTS_${PN} = "mplayer" | ||
| 79 | FILES_${PN} = "${bindir}" | ||
| 80 | FILES_${PN}-dev = "${includedir}/${PN}" | ||
| 81 | |||
| 82 | FILES_${PN}-vhook = "${libdir}/vhook" | ||
| 83 | FILES_${PN}-vhook-dbg += "${libdir}/vhook/.debug" | ||
| 84 | |||
| 85 | FILES_ffmpeg-x264-presets = "${datadir}/*.avpreset" | ||
| 86 | |||
| 87 | LEAD_SONAME = "libavcodec.so" | ||
| 88 | |||
| 89 | FILES_${PN}-dev = "${includedir}" | ||
| 90 | |||
| 91 | python populate_packages_prepend() { | ||
| 92 | av_libdir = d.expand('${libdir}') | ||
| 93 | av_pkgconfig = d.expand('${libdir}/pkgconfig') | ||
| 94 | |||
| 95 | # Runtime package | ||
| 96 | do_split_packages(d, av_libdir, '^lib(.*)\.so\..*', | ||
| 97 | output_pattern='lib%s', | ||
| 98 | description='libav %s library', | ||
| 99 | extra_depends='', | ||
| 100 | prepend=True, | ||
| 101 | allow_links=True) | ||
| 102 | |||
| 103 | # Development packages (-dev, -staticdev) | ||
| 104 | do_split_packages(d, av_libdir, '^lib(.*)\.so$', | ||
| 105 | output_pattern='lib%s-dev', | ||
| 106 | description='libav %s development package', | ||
| 107 | extra_depends='${PN}-dev', | ||
| 108 | prepend=True, | ||
| 109 | allow_links=True) | ||
| 110 | do_split_packages(d, av_pkgconfig, '^lib(.*)\.pc$', | ||
| 111 | output_pattern='lib%s-dev', | ||
| 112 | description='libav %s development package', | ||
| 113 | extra_depends='${PN}-dev', | ||
| 114 | prepend=True) | ||
| 115 | do_split_packages(d, av_libdir, '^lib(.*)\.a$', | ||
| 116 | output_pattern='lib%s-staticdev', | ||
| 117 | description='libav %s development package - static library', | ||
| 118 | extra_depends='${PN}-dev', | ||
| 119 | prepend=True, | ||
| 120 | allow_links=True) | ||
| 121 | |||
| 122 | if d.getVar('TARGET_ARCH', True) == 'i586': | ||
| 123 | # libav can't be build with -fPIC for 32-bit x86 | ||
| 124 | pkgs = d.getVar('PACKAGES', True).split() | ||
| 125 | for pkg in pkgs: | ||
| 126 | d.appendVar('INSANE_SKIP_%s' % pkg, ' textrel') | ||
| 127 | } | ||
| 128 | |||
| 129 | PACKAGES_DYNAMIC += "^lib(av(codec|device|filter|format|util)|postproc).*" | ||
diff --git a/meta/recipes-multimedia/libav/libav_0.8.8.bb b/meta/recipes-multimedia/libav/libav_0.8.8.bb new file mode 100644 index 0000000000..9cb4cf29b0 --- /dev/null +++ b/meta/recipes-multimedia/libav/libav_0.8.8.bb | |||
| @@ -0,0 +1,18 @@ | |||
| 1 | require libav.inc | ||
| 2 | |||
| 3 | SRC_URI = "http://libav.org/releases/libav-0.8.8.tar.xz \ | ||
| 4 | file://0001-configure-enable-pic-for-AArch64.patch" | ||
| 5 | |||
| 6 | SRC_URI[md5sum] = "34b8f1279a04466386ed67731197efe3" | ||
| 7 | SRC_URI[sha256sum] = "e95cf618eb6239177a62c46f15e840c37e02e8308baf94912fc5910ff4aacbf2" | ||
| 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 | EXTRA_OECONF += " \ | ||
| 15 | --enable-postproc \ | ||
| 16 | " | ||
| 17 | |||
| 18 | |||
diff --git a/meta/recipes-multimedia/libav/libav_git.bb b/meta/recipes-multimedia/libav/libav_git.bb new file mode 100644 index 0000000000..951baa9a3f --- /dev/null +++ b/meta/recipes-multimedia/libav/libav_git.bb | |||
| @@ -0,0 +1,16 @@ | |||
| 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 | PV = "9.8+git${SRCPV}" | ||
| 9 | |||
| 10 | DEFAULT_PREFERENCE = "-1" | ||
| 11 | |||
| 12 | SRCREV = "9aaca159bd220582c698f13d081a455f398c9975" | ||
| 13 | SRC_URI = "git://git.libav.org/libav.git" | ||
| 14 | |||
| 15 | S = "${WORKDIR}/git" | ||
| 16 | |||
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..d81f58b1e5 --- /dev/null +++ b/meta/recipes-multimedia/libid3tag/libid3tag_0.15.1b.bb | |||
| @@ -0,0 +1,24 @@ | |||
| 1 | DESCRIPTION = "Library for interacting with ID3 tags." | ||
| 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 | ||
| 23 | |||
| 24 | EXTRA_OECONF = "-enable-speed" | ||
diff --git a/meta/recipes-multimedia/libmad/libmad/add-pkgconfig.patch b/meta/recipes-multimedia/libmad/libmad/add-pkgconfig.patch new file mode 100644 index 0000000000..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..22bc3feb48 --- /dev/null +++ b/meta/recipes-multimedia/libmad/libmad_0.15.1b.bb | |||
| @@ -0,0 +1,37 @@ | |||
| 1 | DESCRIPTION = "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/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..8c3166f4b7 --- /dev/null +++ b/meta/recipes-multimedia/libomxil/libomxil_0.9.3.bb | |||
| @@ -0,0 +1,33 @@ | |||
| 1 | DESCRIPTION = "Bellagio OpenMAX Integration Layer" | ||
| 2 | HOMEPAGE = "http://omxil.sourceforge.net/" | ||
| 3 | LICENSE = "LGPLv2.1+" | ||
| 4 | LICENSE_FLAGS = "commercial" | ||
| 5 | LIC_FILES_CHKSUM = "file://COPYING;md5=ae6f0f4dbc7ac193b50f323a6ae191cb \ | ||
| 6 | file://src/omxcore.h;beginline=1;endline=27;md5=806b1e5566c06486fe8e42b461e03a90" | ||
| 7 | |||
| 8 | PR = "r0" | ||
| 9 | |||
| 10 | SRC_URI = "${SOURCEFORGE_MIRROR}/omxil/libomxil-bellagio-${PV}.tar.gz \ | ||
| 11 | file://configure-fix.patch \ | ||
| 12 | file://parallel-make.patch \ | ||
| 13 | file://makefile-docdir-fix.patch" | ||
| 14 | |||
| 15 | SRC_URI[md5sum] = "a1de827fdb75c02c84e55f740ca27cb8" | ||
| 16 | SRC_URI[sha256sum] = "593c0729c8ef8c1467b3bfefcf355ec19a46dd92e31bfc280e17d96b0934d74c" | ||
| 17 | |||
| 18 | S = "${WORKDIR}/${BPN}-bellagio-${PV}" | ||
| 19 | |||
| 20 | inherit autotools | ||
| 21 | |||
| 22 | EXTRA_OECONF += "--disable-ffmpegcomponents --disable-Werror" | ||
| 23 | |||
| 24 | FILES_${PN} += "${libdir}/bellagio/*${SOLIBS} \ | ||
| 25 | ${libdir}/omxloaders/*${SOLIBS}" | ||
| 26 | FILES_${PN}-staticdev += "${libdir}/bellagio/*.a \ | ||
| 27 | ${libdir}/omxloaders/*.a" | ||
| 28 | FILES_${PN}-dev += "${libdir}/bellagio/*.la \ | ||
| 29 | ${libdir}/bellagio/*${SOLIBSDEV} \ | ||
| 30 | ${libdir}/omxloaders/*.la \ | ||
| 31 | ${libdir}/omxloaders/*${SOLIBSDEV}" | ||
| 32 | FILES_${PN}-dbg += "${libdir}/bellagio/.debug/ \ | ||
| 33 | ${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..e38e0a8869 --- /dev/null +++ b/meta/recipes-multimedia/libpng/libpng/0001-configure-lower-automake-requirement.patch | |||
| @@ -0,0 +1,30 @@ | |||
| 1 | From a4fd84bdc69e9929a1040f20ea291ee3115bf5b2 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Koen Kooi <koen@dominion.thruhere.net> | ||
| 3 | Date: Mon, 15 Apr 2013 11:16:20 +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: Koen Kooi <koen@dominion.thruhere.net> | ||
| 9 | |||
| 10 | Upstream-Status: Inapropriate [OE specific build hack] | ||
| 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 1745d31..7f015fe 100644 | ||
| 17 | --- a/configure.ac | ||
| 18 | +++ b/configure.ac | ||
| 19 | @@ -27,7 +27,7 @@ AC_CONFIG_MACRO_DIR([scripts]) | ||
| 20 | # dist-xz requires automake 1.11 or later | ||
| 21 | # 1.12.2 fixes a security issue in 1.11.2 and 1.12.1 | ||
| 22 | # 1.13 is required for parallel tests | ||
| 23 | -AM_INIT_AUTOMAKE([1.13 foreign dist-xz color-tests silent-rules]) | ||
| 24 | +AM_INIT_AUTOMAKE([1.12.2 foreign dist-xz color-tests silent-rules]) | ||
| 25 | # The following line causes --disable-maintainer-mode to be the default to | ||
| 26 | # configure, this is necessary because libpng distributions cannot rely on the | ||
| 27 | # time stamps of the autotools generated files being correct | ||
| 28 | -- | ||
| 29 | 1.8.1.4 | ||
| 30 | |||
diff --git a/meta/recipes-multimedia/libpng/libpng_1.6.3.bb b/meta/recipes-multimedia/libpng/libpng_1.6.3.bb new file mode 100644 index 0000000000..bf84b3ca16 --- /dev/null +++ b/meta/recipes-multimedia/libpng/libpng_1.6.3.bb | |||
| @@ -0,0 +1,26 @@ | |||
| 1 | SUMMARY = "PNG Library" | ||
| 2 | DESCRIPTION = "PNG Library" | ||
| 3 | HOMEPAGE = "http://www.libpng.org/" | ||
| 4 | SECTION = "libs" | ||
| 5 | LICENSE = "Libpng" | ||
| 6 | LIC_FILES_CHKSUM = "file://LICENSE;md5=6a42d0002ce5c11e4a529c29f78d13dd \ | ||
| 7 | file://png.h;beginline=207;endline=321;md5=de933190ded7f9d6c22110c8509ea85a" | ||
| 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 | SRC_URI[md5sum] = "9307f8ab04f4be3c1889ffb504f0fe5c" | ||
| 15 | SRC_URI[sha256sum] = "c5ecc0d38663b944a828145ed59cf15dfbad2217512875bc05ecf9b92afa0f45" | ||
| 16 | |||
| 17 | inherit autotools binconfig pkgconfig | ||
| 18 | |||
| 19 | # Work around missing symbols | ||
| 20 | EXTRA_OECONF_append_arm = " ${@bb.utils.contains("TUNE_FEATURES", "neon", "--enable-arm-neon=on", "--enable-arm-neon=off" ,d)}" | ||
| 21 | |||
| 22 | PACKAGES =+ "${PN}-tools" | ||
| 23 | |||
| 24 | FILES_${PN}-tools = "${bindir}/png-fix-itxt ${bindir}/pngfix" | ||
| 25 | |||
| 26 | 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..25e97b4bab --- /dev/null +++ b/meta/recipes-multimedia/libsamplerate/libsamplerate0_0.1.8.bb | |||
| @@ -0,0 +1,17 @@ | |||
| 1 | DESCRIPTION = "An audio Sample Rate Conversion library" | ||
| 2 | SECTION = "libs" | ||
| 3 | LICENSE = "GPLv2+" | ||
| 4 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ | ||
| 5 | file://src/samplerate.c;beginline=1;endline=17;md5=d0807c35fc906466d24a50463534815a" | ||
| 6 | DEPENDS = "flac libsndfile1" | ||
| 7 | PR = "r1" | ||
| 8 | |||
| 9 | SRC_URI = "http://www.mega-nerd.com/SRC/libsamplerate-${PV}.tar.gz" | ||
| 10 | |||
| 11 | SRC_URI[md5sum] = "1c7fb25191b4e6e3628d198a66a84f47" | ||
| 12 | SRC_URI[sha256sum] = "93b54bdf46d5e6d2354b7034395fe329c222a966790de34520702bb9642f1c06" | ||
| 13 | S = "${WORKDIR}/libsamplerate-${PV}" | ||
| 14 | |||
| 15 | inherit autotools pkgconfig | ||
| 16 | |||
| 17 | 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..0c91fe3d39 --- /dev/null +++ b/meta/recipes-multimedia/libsndfile/libsndfile1_1.0.25.bb | |||
| @@ -0,0 +1,30 @@ | |||
| 1 | DESCRIPTION = "An 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 = "r1" | ||
| 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/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..256e75eca8 --- /dev/null +++ b/meta/recipes-multimedia/libtiff/tiff_4.0.3.bb | |||
| @@ -0,0 +1,26 @@ | |||
| 1 | DESCRIPTION = "This software 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 | DEPENDS = "zlib jpeg xz" | ||
| 6 | PR = "r0" | ||
| 7 | |||
| 8 | SRC_URI = "ftp://ftp.remotesensing.org/pub/libtiff/tiff-${PV}.tar.gz \ | ||
| 9 | file://libtool2.patch" | ||
| 10 | |||
| 11 | SRC_URI[md5sum] = "051c1068e6a0627f461948c365290410" | ||
| 12 | SRC_URI[sha256sum] = "ea1aebe282319537fb2d4d7805f478dd4e0e05c33d0928baba76a7c963684872" | ||
| 13 | |||
| 14 | inherit autotools | ||
| 15 | |||
| 16 | CACHED_CONFIGUREVARS = "ax_cv_check_gl_libgl=no" | ||
| 17 | |||
| 18 | PACKAGES =+ "tiffxx tiffxx-dbg tiffxx-dev tiffxx-staticdev tiff-utils tiff-utils-dbg" | ||
| 19 | FILES_tiffxx = "${libdir}/libtiffxx.so.*" | ||
| 20 | FILES_tiffxx-dev = "${libdir}/libtiffxx.so ${libdir}/libtiffxx.la" | ||
| 21 | FILES_tiffxx-staticdev = "${libdir}/libtiffxx.a" | ||
| 22 | FILES_tiffxx-dbg += "${libdir}/.debug/libtiffxx.so*" | ||
| 23 | FILES_tiff-utils = "${bindir}/*" | ||
| 24 | FILES_tiff-utils-dbg += "${bindir}/.debug/" | ||
| 25 | |||
| 26 | BBCLASSEXTEND = "native" | ||
diff --git a/meta/recipes-multimedia/libvorbis/libvorbis-1.3.3/obsolete_automake_macros.patch b/meta/recipes-multimedia/libvorbis/libvorbis-1.3.3/obsolete_automake_macros.patch new file mode 100644 index 0000000000..211d949117 --- /dev/null +++ b/meta/recipes-multimedia/libvorbis/libvorbis-1.3.3/obsolete_automake_macros.patch | |||
| @@ -0,0 +1,15 @@ | |||
| 1 | Upstream-Status: Submitted [https://trac.xiph.org/ticket/1919] | ||
| 2 | |||
| 3 | Signed-off-by: Marko Lindqvist <cazfi74@gmail.com> | ||
| 4 | diff -Nurd libvorbis-1.3.3/configure.ac libvorbis-1.3.3/configure.ac | ||
| 5 | --- libvorbis-1.3.3/configure.ac 2012-02-04 00:00:34.000000000 +0200 | ||
| 6 | +++ libvorbis-1.3.3/configure.ac 2013-01-03 08:41:34.718676342 +0200 | ||
| 7 | @@ -13,7 +13,7 @@ | ||
| 8 | |||
| 9 | AM_INIT_AUTOMAKE($PACKAGE_NAME,$PACKAGE_VERSION) | ||
| 10 | AM_MAINTAINER_MODE | ||
| 11 | -AM_CONFIG_HEADER([config.h]) | ||
| 12 | +AC_CONFIG_HEADERS([config.h]) | ||
| 13 | |||
| 14 | dnl Add parameters for aclocal | ||
| 15 | AC_SUBST(ACLOCAL_AMFLAGS, "-I m4") | ||
diff --git a/meta/recipes-multimedia/libvorbis/libvorbis_1.3.3.bb b/meta/recipes-multimedia/libvorbis/libvorbis_1.3.3.bb new file mode 100644 index 0000000000..1df3bb5526 --- /dev/null +++ b/meta/recipes-multimedia/libvorbis/libvorbis_1.3.3.bb | |||
| @@ -0,0 +1,29 @@ | |||
| 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://xiph.org/" | ||
| 6 | BUGTRACKER = "https://trac.xiph.org/newticket" | ||
| 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 | PR = "r1" | ||
| 14 | |||
| 15 | SRC_URI = "http://downloads.xiph.org/releases/vorbis/libvorbis-${PV}.tar.gz \ | ||
| 16 | file://obsolete_automake_macros.patch \ | ||
| 17 | " | ||
| 18 | |||
| 19 | SRC_URI[md5sum] = "6b1a36f0d72332fae5130688e65efe1f" | ||
| 20 | SRC_URI[sha256sum] = "6d747efe7ac4ad249bf711527882cef79fb61d9194c45b5ca5498aa60f290762" | ||
| 21 | |||
| 22 | inherit autotools pkgconfig | ||
| 23 | |||
| 24 | # vorbisfile.c reveals a problem in the gcc register spilling for the | ||
| 25 | # thumb instruction set... | ||
| 26 | FULL_OPTIMIZATION_thumb = "-O0" | ||
| 27 | |||
| 28 | EXTRA_OECONF = "--with-ogg-libraries=${STAGING_LIBDIR} \ | ||
| 29 | --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..f38066a8a9 --- /dev/null +++ b/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.4.1.bb | |||
| @@ -0,0 +1,37 @@ | |||
| 1 | DESCRIPTION = "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..4c10aa9782 --- /dev/null +++ b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc | |||
| @@ -0,0 +1,147 @@ | |||
| 1 | DESCRIPTION = "Pulseaudio is a 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/modules/bluetooth/proximity-helper.c;beginline=1;endline=25;md5=e4cc710e40a4d900c2c294167bc58270 \ | ||
| 9 | file://src/pulsecore/resampler.h;beginline=4;endline=23;md5=c3d539b93f8c82a1780bfa3cfa544a95" | ||
| 10 | |||
| 11 | DEPENDS = "libatomics-ops liboil libsamplerate0 libsndfile1 libtool" | ||
| 12 | # optional | ||
| 13 | DEPENDS += "udev alsa-lib glib-2.0 dbus gconf" | ||
| 14 | DEPENDS += "libjson gdbm speex libxml-parser-perl-native" | ||
| 15 | |||
| 16 | inherit autotools pkgconfig useradd gettext perlnative | ||
| 17 | |||
| 18 | # *.desktop rules wont be generated during configure and build will fail | ||
| 19 | # if using --disable-nls | ||
| 20 | USE_NLS = "yes" | ||
| 21 | |||
| 22 | EXTRA_OECONF = "\ | ||
| 23 | --disable-hal-compat \ | ||
| 24 | --disable-orc \ | ||
| 25 | --enable-tcpwrap=no \ | ||
| 26 | --with-access-group=audio \ | ||
| 27 | --disable-openssl \ | ||
| 28 | --disable-xen \ | ||
| 29 | --with-database=simple \ | ||
| 30 | --without-fftw \ | ||
| 31 | --with-udev-rules-dir=`pkg-config --variable=udevdir udev`/rules.d \ | ||
| 32 | ac_cv_header_valgrind_memcheck_h=no \ | ||
| 33 | " | ||
| 34 | |||
| 35 | PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \ | ||
| 36 | ${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \ | ||
| 37 | ${@base_contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \ | ||
| 38 | ${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}" | ||
| 39 | PACKAGECONFIG[bluez] = "--enable-bluez,--disable-bluez,bluez4 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 | |||
| 48 | |||
| 49 | export TARGET_PFPU = "${TARGET_FPU}" | ||
| 50 | |||
| 51 | # TODO: Use more fine granular version | ||
| 52 | #OE_LT_RPATH_ALLOW=":${libdir}/pulse-0.9:" | ||
| 53 | OE_LT_RPATH_ALLOW = "any" | ||
| 54 | OE_LT_RPATH_ALLOW[export]="1" | ||
| 55 | |||
| 56 | do_install_append() { | ||
| 57 | install -d ${D}${sysconfdir}/default/volatiles | ||
| 58 | install -m 0644 ${WORKDIR}/volatiles.04_pulse ${D}${sysconfdir}/default/volatiles/volatiles.04_pulse | ||
| 59 | |||
| 60 | if [ "x${TARGET_PFPU}" = "xsoft" ] ; then | ||
| 61 | sed -i -e s:\;\ resample-method\ =\ sinc-fastest:resample-method\ =\ trivial: ${D}${sysconfdir}/pulse/daemon.conf | ||
| 62 | fi | ||
| 63 | } | ||
| 64 | |||
| 65 | USERADD_PACKAGES = "pulseaudio-server" | ||
| 66 | GROUPADD_PARAM_pulseaudio-server = "pulse" | ||
| 67 | USERADD_PARAM_pulseaudio-server = "--system --home /var/run/pulse \ | ||
| 68 | --no-create-home --shell /bin/false \ | ||
| 69 | --groups audio,pulse --gid pulse pulse" | ||
| 70 | |||
| 71 | PACKAGES =+ "libpulsecore libpulsecommon libpulse libpulse-simple libpulse-mainloop-glib \ | ||
| 72 | pulseaudio-server pulseaudio-misc" | ||
| 73 | |||
| 74 | #upgrade path: | ||
| 75 | RREPLACES_pulseaudio-server = "libpulse-bin libpulse-conf" | ||
| 76 | |||
| 77 | PACKAGES_DYNAMIC += "^pulseaudio-lib.* ^pulseaudio-module.* ^libpulse-lib.* ^libpulse-module.* " | ||
| 78 | |||
| 79 | FILES_libpulsecore = "${libdir}/libpulsecore*.so" | ||
| 80 | FILES_libpulsecommon = "${libdir}/pulseaudio/libpulsecommon*.so" | ||
| 81 | FILES_libpulse = "${libdir}/libpulse.so.*" | ||
| 82 | FILES_libpulse-simple = "${libdir}/libpulse-simple.so.*" | ||
| 83 | FILES_libpulse-mainloop-glib = "${libdir}/libpulse-mainloop-glib.so.*" | ||
| 84 | |||
| 85 | FILES_${PN}-dbg += "${libexecdir}/pulse/.debug \ | ||
| 86 | ${libdir}/pulse-${PV}/modules/.debug" | ||
| 87 | FILES_${PN}-dev += "${libdir}/pulse-${PV}/modules/*.la ${datadir}/vala ${libdir}/cmake" | ||
| 88 | FILES_${PN}-conf = "${sysconfdir}" | ||
| 89 | FILES_${PN}-bin += "${sysconfdir}/default/volatiles/volatiles.04_pulse" | ||
| 90 | FILES_${PN}-server = "${bindir}/pulseaudio ${bindir}/start-* ${sysconfdir} ${bindir}/pactl */udev/rules.d/*.rules" | ||
| 91 | FILES_${PN}-misc = "${bindir}/* ${libdir}/pulseaudio/libpulsedsp.so" | ||
| 92 | |||
| 93 | # Allow the pulseaudio package to be created empty as a placeholder (-dbg and -dev depend on it) | ||
| 94 | ALLOW_EMPTY_${PN} = "1" | ||
| 95 | |||
| 96 | CONFFILES_pulseaudio-server = "\ | ||
| 97 | ${sysconfdir}/pulse/default.pa \ | ||
| 98 | ${sysconfdir}/pulse/daemon.conf \ | ||
| 99 | ${sysconfdir}/pulse/client.conf \ | ||
| 100 | " | ||
| 101 | |||
| 102 | pkg_postinst_${PN}-server() { | ||
| 103 | if [ -z "$D" ] && [ -e ${sysconfdir}/init.d/populate-volatile.sh ] ; then | ||
| 104 | ${sysconfdir}/init.d/populate-volatile.sh update | ||
| 105 | fi | ||
| 106 | } | ||
| 107 | |||
| 108 | python populate_packages_prepend() { | ||
| 109 | #d.setVar('PKG_pulseaudio', 'pulseaudio') | ||
| 110 | |||
| 111 | plugindir = d.expand('${libdir}/pulse-${PV}/modules/') | ||
| 112 | do_split_packages(d, plugindir, '^module-(.*)\.so$', 'pulseaudio-module-%s', 'PulseAudio module for %s', extra_depends='', prepend=True) | ||
| 113 | do_split_packages(d, plugindir, '^lib(.*)\.so$', 'pulseaudio-lib-%s', 'PulseAudio library for %s', extra_depends='', prepend=True) | ||
| 114 | } | ||
| 115 | |||
| 116 | RDEPENDS_pulseaudio-server = " \ | ||
| 117 | pulseaudio-module-filter-apply \ | ||
| 118 | pulseaudio-module-filter-heuristics \ | ||
| 119 | pulseaudio-module-udev-detect \ | ||
| 120 | pulseaudio-module-null-sink \ | ||
| 121 | pulseaudio-module-device-restore \ | ||
| 122 | pulseaudio-module-stream-restore \ | ||
| 123 | pulseaudio-module-card-restore \ | ||
| 124 | pulseaudio-module-augment-properties \ | ||
| 125 | pulseaudio-module-detect \ | ||
| 126 | pulseaudio-module-alsa-sink \ | ||
| 127 | pulseaudio-module-alsa-source \ | ||
| 128 | pulseaudio-module-alsa-card \ | ||
| 129 | pulseaudio-module-native-protocol-unix \ | ||
| 130 | pulseaudio-module-default-device-restore \ | ||
| 131 | pulseaudio-module-intended-roles \ | ||
| 132 | pulseaudio-module-rescue-streams \ | ||
| 133 | pulseaudio-module-always-sink \ | ||
| 134 | pulseaudio-module-suspend-on-idle \ | ||
| 135 | pulseaudio-module-position-event-sounds \ | ||
| 136 | pulseaudio-module-role-cork \ | ||
| 137 | pulseaudio-module-switch-on-port-available" | ||
| 138 | |||
| 139 | RDEPENDS_pulseaudio-module-console-kit =+ "consolekit" | ||
| 140 | RDEPENDS_pulseaudio-misc += "pulseaudio-module-cli-protocol-unix" | ||
| 141 | |||
| 142 | FILES_pulseaudio-module-gconf += "${libexecdir}/pulse/gconf-helper" | ||
| 143 | FILES_pulseaudio-module-bluetooth-proximity += "${libexecdir}/pulse/proximity-helper" | ||
| 144 | FILES_pulseaudio-module-alsa-card += "${datadir}/pulseaudio/alsa-mixer" | ||
| 145 | |||
| 146 | RDEPENDS_pulseaudio-server += "\ | ||
| 147 | ${@base_contains('DISTRO_FEATURES', 'x11', 'pulseaudio-module-console-kit', '', d)}" | ||
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_4.0.bb b/meta/recipes-multimedia/pulseaudio/pulseaudio_4.0.bb new file mode 100644 index 0000000000..b419c54137 --- /dev/null +++ b/meta/recipes-multimedia/pulseaudio/pulseaudio_4.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://volatiles.04_pulse" | ||
| 5 | |||
| 6 | SRC_URI[md5sum] = "591f211db2790a7e4d222f2dc6858db3" | ||
| 7 | SRC_URI[sha256sum] = "35ceb36bb1822fe54f0b5e4863b4f486769fdfb8ff2111f01fd8778928f9cdae" | ||
| 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.1.bb b/meta/recipes-multimedia/sbc/sbc_1.1.bb new file mode 100644 index 0000000000..d97b160fa9 --- /dev/null +++ b/meta/recipes-multimedia/sbc/sbc_1.1.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 = "LGPLv2.1+" | ||
| 6 | LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \ | ||
| 7 | file://sbc/sbc.h;beginline=1;endline=25;md5=0a7e4f502980cc3ee0541341fa2db47e" | ||
| 8 | |||
| 9 | DEPENDS = "libsndfile1" | ||
| 10 | |||
| 11 | SRC_URI = "${KERNELORG_MIRROR}/linux/bluetooth/${BPN}-${PV}.tar.xz" | ||
| 12 | |||
| 13 | SRC_URI[md5sum] = "ecadadbfd4b1dfe7b98f446c69126b23" | ||
| 14 | SRC_URI[sha256sum] = "9a30ad2dc20979a0847a7b1a06ea073498810f358a02fcad68ab414f239cfbc6" | ||
| 15 | |||
| 16 | inherit autotools | ||
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..faf63b0fae --- /dev/null +++ b/meta/recipes-multimedia/speex/speex_1.2rc1.bb | |||
| @@ -0,0 +1,23 @@ | |||
| 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-1.2rc1.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 | --disable-float-api --disable-vbr \ | ||
| 23 | --with-ogg-includes=${STAGING_INCDIR} --disable-oggtest" | ||
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..d95fdf184f --- /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 --disable-rpath " | ||
| 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..295818ae98 --- /dev/null +++ b/meta/recipes-multimedia/x264/x264_git.bb | |||
| @@ -0,0 +1,52 @@ | |||
| 1 | SUMMARY = "A free software library and application for encoding video streams into the H.264/MPEG-4 AVC format" | ||
| 2 | HOMEPAGE = "http://www.videolan.org/developers/x264.html" | ||
| 3 | |||
| 4 | LICENSE = "GPLv2" | ||
| 5 | LICENSE_FLAGS = "commercial" | ||
| 6 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" | ||
| 7 | |||
| 8 | DEPENDS = "yasm-native" | ||
| 9 | |||
| 10 | SRC_URI = "git://git.videolan.org/x264.git \ | ||
| 11 | file://don-t-default-to-cortex-a9-with-neon.patch \ | ||
| 12 | " | ||
| 13 | |||
| 14 | SRCREV = "585324fee380109acd9986388f857f413a60b896" | ||
| 15 | |||
| 16 | PV = "r2265+git${SRCPV}" | ||
| 17 | |||
| 18 | S = "${WORKDIR}/git" | ||
| 19 | |||
| 20 | inherit lib_package pkgconfig | ||
| 21 | |||
| 22 | X264_DISABLE_ASM = "" | ||
| 23 | X264_DISABLE_ASM_armv4 = "--disable-asm" | ||
| 24 | X264_DISABLE_ASM_armv5 = "--disable-asm" | ||
| 25 | |||
| 26 | EXTRA_OECONF = '--prefix=${prefix} \ | ||
| 27 | --host=${HOST_SYS} \ | ||
| 28 | --cross-prefix=${TARGET_PREFIX} \ | ||
| 29 | --sysroot=${STAGING_DIR_TARGET} \ | ||
| 30 | --enable-shared \ | ||
| 31 | --enable-static \ | ||
| 32 | --disable-lavf \ | ||
| 33 | --disable-swscale \ | ||
| 34 | --enable-pic \ | ||
| 35 | ${X264_DISABLE_ASM} \ | ||
| 36 | ' | ||
| 37 | |||
| 38 | do_configure() { | ||
| 39 | ./configure ${EXTRA_OECONF} | ||
| 40 | } | ||
| 41 | |||
| 42 | # Get rid of -e | ||
| 43 | EXTRA_OEMAKE = "" | ||
| 44 | AS = "${TARGET_PREFIX}gcc" | ||
| 45 | |||
| 46 | do_install() { | ||
| 47 | oe_runmake install DESTDIR=${D} | ||
| 48 | } | ||
| 49 | |||
| 50 | # PIC can't be enabled for 32-bit x86 | ||
| 51 | INSANE_SKIP_${PN}_append_i586 = " textrel" | ||
| 52 | |||
