summaryrefslogtreecommitdiffstats
path: root/meta-multimedia
diff options
context:
space:
mode:
authorTudor Florea <tudor.florea@enea.com>2015-10-08 22:51:41 +0200
committerTudor Florea <tudor.florea@enea.com>2015-10-08 22:51:41 +0200
commit1219bf8a90a7bf8cd3a5363551ef635d51e8fc8e (patch)
treea21a5fc103bb3bd65ecd85ed22be5228fc54e447 /meta-multimedia
downloadmeta-openembedded-1219bf8a90a7bf8cd3a5363551ef635d51e8fc8e.tar.gz
initial commit for Enea Linux 5.0 arm
Signed-off-by: Tudor Florea <tudor.florea@enea.com>
Diffstat (limited to 'meta-multimedia')
-rw-r--r--meta-multimedia/COPYING.MIT17
-rw-r--r--meta-multimedia/README26
-rw-r--r--meta-multimedia/conf/layer.conf25
-rw-r--r--meta-multimedia/recipes-connectivity/gupnp/gssdp.inc18
-rw-r--r--meta-multimedia/recipes-connectivity/gupnp/gssdp_0.14.8.bb9
-rw-r--r--meta-multimedia/recipes-connectivity/gupnp/gupnp-av.inc8
-rw-r--r--meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.12.6.bb8
-rw-r--r--meta-multimedia/recipes-connectivity/gupnp/gupnp-dlna_0.9.2.bb20
-rw-r--r--meta-multimedia/recipes-connectivity/gupnp/gupnp-igd_0.2.2.bb14
-rw-r--r--meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.8.1.bb11
-rw-r--r--meta-multimedia/recipes-connectivity/gupnp/gupnp.inc21
-rw-r--r--meta-multimedia/recipes-connectivity/gupnp/gupnp_0.20.12.bb8
-rw-r--r--meta-multimedia/recipes-connectivity/gupnp/no-vala.inc5
-rw-r--r--meta-multimedia/recipes-dvb/dvb-apps/dvb-apps_1.1.1.bb106
-rw-r--r--meta-multimedia/recipes-dvb/oscam/oscam_svn.bb18
-rw-r--r--meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-Move-tvheadend-specific-LD-CFLAGS-into-a-helper-vari.patch92
-rw-r--r--meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb31
-rw-r--r--meta-multimedia/recipes-mediacentre/xbmc/xbmc/0001-configure-don-t-run-python-distutils-to-find-STAGING.patch31
-rw-r--r--meta-multimedia/recipes-mediacentre/xbmc/xbmc/0002-Revert-fixed-ios-Add-memory-barriers-to-atomic-Add-S.patch97
-rw-r--r--meta-multimedia/recipes-mediacentre/xbmc/xbmc/0003-Revert-fixed-ios-Add-memory-barriers-to-cas-assembly.patch69
-rw-r--r--meta-multimedia/recipes-mediacentre/xbmc/xbmc/0004-configure-cope-with-ld-is-gold-DISTRO_FEATURE.patch43
-rw-r--r--meta-multimedia/recipes-mediacentre/xbmc/xbmc/configure.in-Avoid-running-code.patch32
-rw-r--r--meta-multimedia/recipes-mediacentre/xbmc/xbmc_git.bb99
-rw-r--r--meta-multimedia/recipes-mkv/libebml/libebml_1.3.0.bb31
-rw-r--r--meta-multimedia/recipes-mkv/libmatroska/libmatroska_1.4.1.bb33
-rw-r--r--meta-multimedia/recipes-mkv/mkvtoolnix/mkvtoolnix_git.bb41
-rw-r--r--meta-multimedia/recipes-multimedia/coriander/coriander/cross-compile.patch17
-rwxr-xr-xmeta-multimedia/recipes-multimedia/coriander/coriander_2.0.2.bb17
-rw-r--r--meta-multimedia/recipes-multimedia/dleyna/media-service-demo_git.bb18
-rw-r--r--meta-multimedia/recipes-multimedia/dleyna/media-service-upnp_0.4.0.bb24
-rw-r--r--meta-multimedia/recipes-multimedia/dleyna/renderer-service-upnp_0.3.0.bb29
-rw-r--r--meta-multimedia/recipes-multimedia/faac/faac_1.28.bb21
-rw-r--r--meta-multimedia/recipes-multimedia/faac/files/build-fix.patch332
-rw-r--r--meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.6.bb23
-rw-r--r--meta-multimedia/recipes-multimedia/gstreamer/gst-rtsp/0001-change-deprecated-INCLUDES-to-AM_CPPFLAGS-for-automa.patch34
-rw-r--r--meta-multimedia/recipes-multimedia/gstreamer/gst-rtsp_0.10.8.bb16
-rw-r--r--meta-multimedia/recipes-multimedia/libao/libao_1.1.0.bb32
-rwxr-xr-xmeta-multimedia/recipes-multimedia/libdc1394/files/install_examples.patch14
-rwxr-xr-xmeta-multimedia/recipes-multimedia/libdc1394/libdc1394_git.bb22
-rw-r--r--meta-multimedia/recipes-multimedia/mpg123/mpg123_1.21.0.bb51
-rw-r--r--meta-multimedia/recipes-multimedia/musicbrainz/files/allow-libdir-override.patch21
-rw-r--r--meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb41
-rw-r--r--meta-multimedia/recipes-multimedia/musicpd/libmpd-11.8.17/glibc-2.20.patch10
-rw-r--r--meta-multimedia/recipes-multimedia/musicpd/libmpd_11.8.17.bb13
-rw-r--r--meta-multimedia/recipes-multimedia/musicpd/mpd/mpd.conf.in420
-rw-r--r--meta-multimedia/recipes-multimedia/musicpd/mpd_0.19.1.bb58
-rw-r--r--meta-multimedia/recipes-multimedia/nonworking/gstreamer/files/display.patch60
-rw-r--r--meta-multimedia/recipes-multimedia/nonworking/gstreamer/gst123_0.3.1.bb15
-rw-r--r--meta-multimedia/recipes-multimedia/openal/openal-soft_1.15.1.bb23
-rw-r--r--meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump/fix-racing-build-issue.patch18
-rw-r--r--meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump_2.4.bb22
-rw-r--r--meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-1080p.bb17
-rw-r--r--meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-480p.bb17
-rw-r--r--meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-720p.bb17
-rw-r--r--meta-multimedia/recipes-multimedia/sample-content/tearsofsteel-1080p.bb16
-rw-r--r--meta-multimedia/recipes-multimedia/schroedinger/schroedinger/configure.ac.patch20
-rw-r--r--meta-multimedia/recipes-multimedia/schroedinger/schroedinger_1.0.11.bb22
-rw-r--r--meta-multimedia/recipes-multimedia/sox/sox_14.4.0.bb35
-rw-r--r--meta-multimedia/recipes-multimedia/vlc/libdvdcss_1.3.0.bb12
-rw-r--r--meta-multimedia/recipes-multimedia/vlc/vlc.inc86
-rw-r--r--meta-multimedia/recipes-multimedia/vlc/vlc/0001-enable-subdir-objects.patch13
-rw-r--r--meta-multimedia/recipes-multimedia/vlc/vlc/0002-glibc-does-not-provide-strlcpy.patch17
-rw-r--r--meta-multimedia/recipes-multimedia/vlc/vlc/0003-use-am-path-libgcrypt.patch46
-rw-r--r--meta-multimedia/recipes-multimedia/vlc/vlc/0004-modules-gui-qt4-out-of-tree-build.patch17
-rw-r--r--meta-multimedia/recipes-multimedia/vlc/vlc/0005-libpostproc-header-check.patch17
-rw-r--r--meta-multimedia/recipes-multimedia/vlc/vlc/0006-make-opencv-configurable.patch29
-rw-r--r--meta-multimedia/recipes-multimedia/vlc/vlc_2.1.4.bb15
67 files changed, 2660 insertions, 0 deletions
diff --git a/meta-multimedia/COPYING.MIT b/meta-multimedia/COPYING.MIT
new file mode 100644
index 000000000..fb950dc69
--- /dev/null
+++ b/meta-multimedia/COPYING.MIT
@@ -0,0 +1,17 @@
1Permission is hereby granted, free of charge, to any person obtaining a copy
2of this software and associated documentation files (the "Software"), to deal
3in the Software without restriction, including without limitation the rights
4to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
5copies of the Software, and to permit persons to whom the Software is
6furnished to do so, subject to the following conditions:
7
8The above copyright notice and this permission notice shall be included in
9all copies or substantial portions of the Software.
10
11THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
12IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
13FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
14AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
15LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
16OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
17THE SOFTWARE.
diff --git a/meta-multimedia/README b/meta-multimedia/README
new file mode 100644
index 000000000..9727ac6f7
--- /dev/null
+++ b/meta-multimedia/README
@@ -0,0 +1,26 @@
1This layer depends on:
2
3URI: git://github.com/openembedded/oe-core.git
4branch: dizzy
5revision: HEAD
6
7URI: git://github.com/openembedded/meta-oe.git
8layers: meta-oe, meta-ruby
9branch: dizzy
10revision: HEAD
11
12Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-multimedia][dizzy]' in the subject'
13
14When sending single patches, please use something like:
15'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-multimedia][dizzy][PATCH
16
17You are encouraged to fork the mirror on github https://github.com/openembedded/meta-oe/ to share your patches, this is preferred for patch sets consisting of more than one patch. Other services like gitorious, repo.or.cz or self hosted setups are of course accepted as well, 'git fetch <remote>' works the same on all of them. We recommend github because it is free, easy to use, has been proven to be reliable and has a really good web GUI.
18
19Main layer maintainers: Koen Kooi <koen@dominion.thruhere.net>
20 Martin Jansa <martin.jansa@gmail.com>
21
22Dizzy branch maintainers:
23 Otavio Salvador <otavio@ossystems.com.br>
24 Armin Kuster <akuster808@gmail.com>
25
26Prefix email subject with: [dizzy]
diff --git a/meta-multimedia/conf/layer.conf b/meta-multimedia/conf/layer.conf
new file mode 100644
index 000000000..64a0a443c
--- /dev/null
+++ b/meta-multimedia/conf/layer.conf
@@ -0,0 +1,25 @@
1# It really depends on order of the layers appearing in BBLAYERS
2# variable in toplevel bblayers.conf file, where bitbake will search
3# for .inc files and others where bitbake uses BBPATH since it will
4# search the directories from first to last as specified in BBPATH
5# Therefore if you want a given layer to be considered high priority
6# for the .inc and .conf etc. then consider it adding at the beginning
7# of BBPATH. For bblayers bitbake will use BBFILES_PRIORITY to resolve
8# the recipe contention so the order of directories in BBFILES does
9# not matter.
10
11# We have a conf and classes directory, append to BBPATH
12BBPATH .= ":${LAYERDIR}"
13
14# We have a recipes directory, add to BBFILES
15BBFILES += "${LAYERDIR}/recipes-*/*/*.bb ${LAYERDIR}/recipes-*/*/*.bbappend"
16
17BBFILE_COLLECTIONS += "multimedia-layer"
18BBFILE_PATTERN_multimedia-layer := "^${LAYERDIR}/"
19
20# Define the priority for recipes (.bb files) from this layer,
21# choosing carefully how this layer interacts with all of the
22# other layers.
23
24BBFILE_PRIORITY_multimedia-layer = "6"
25
diff --git a/meta-multimedia/recipes-connectivity/gupnp/gssdp.inc b/meta-multimedia/recipes-connectivity/gupnp/gssdp.inc
new file mode 100644
index 000000000..ae965b996
--- /dev/null
+++ b/meta-multimedia/recipes-connectivity/gupnp/gssdp.inc
@@ -0,0 +1,18 @@
1SUMMARY = "Resource discovery and announcement over SSDP"
2DESCRIPTION = "GSSDP implements resource discovery and announcement over SSDP (Simpe Service Discovery Protocol)."
3LICENSE = "LGPLv2"
4LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"
5DEPENDS = "glib-2.0 libsoup-2.4 gobject-introspection-stub"
6
7inherit autotools pkgconfig
8
9require no-vala.inc
10
11EXTRA_OECONF = "--disable-introspection"
12
13PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'gtk', '', d)}"
14PACKAGECONFIG[gtk] = "--with-gtk,--without-gtk,gtk+"
15
16PACKAGES =+ "gssdp-tools"
17
18FILES_gssdp-tools = "${bindir}/gssdp* ${datadir}/gssdp/*.glade"
diff --git a/meta-multimedia/recipes-connectivity/gupnp/gssdp_0.14.8.bb b/meta-multimedia/recipes-connectivity/gupnp/gssdp_0.14.8.bb
new file mode 100644
index 000000000..9fda51db7
--- /dev/null
+++ b/meta-multimedia/recipes-connectivity/gupnp/gssdp_0.14.8.bb
@@ -0,0 +1,9 @@
1require gssdp.inc
2
3inherit gtk-doc
4
5PACKAGECONFIG[gtk] = "--with-gtk,--without-gtk,gtk+3"
6
7SRC_URI = "http://download.gnome.org/sources/${BPN}/0.14/${BPN}-${PV}.tar.xz"
8SRC_URI[md5sum] = "b8658e480d047caf2d92baa4a51b9ae7"
9SRC_URI[sha256sum] = "4c3ffa01435e84dc31c954e669e1ca0749b962f76a333e74f5c2cb0de5803a13"
diff --git a/meta-multimedia/recipes-connectivity/gupnp/gupnp-av.inc b/meta-multimedia/recipes-connectivity/gupnp/gupnp-av.inc
new file mode 100644
index 000000000..b07615585
--- /dev/null
+++ b/meta-multimedia/recipes-connectivity/gupnp/gupnp-av.inc
@@ -0,0 +1,8 @@
1SUMMARY = "Helpers for AV applications using UPnP"
2DESCRIPTION = "GUPnP-AV is a collection of helpers for building AV (audio/video) applications using GUPnP."
3LICENSE = "LGPLv2"
4DEPENDS = "gupnp"
5
6inherit autotools pkgconfig
7
8require no-vala.inc
diff --git a/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.12.6.bb b/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.12.6.bb
new file mode 100644
index 000000000..b1b793b68
--- /dev/null
+++ b/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.12.6.bb
@@ -0,0 +1,8 @@
1require gupnp-av.inc
2
3SRC_URI = "http://download.gnome.org/sources/${BPN}/0.12/${BPN}-${PV}.tar.xz"
4SRC_URI[md5sum] = "f56cdb269376a9e6cb062eb9960ccf57"
5SRC_URI[sha256sum] = "e0553d60dd7c7277c65c02a68a270c4dcb9036a4c7075c902fc8111c6a5e6a44"
6
7LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
8 file://libgupnp-av/gupnp-av.h;beginline=1;endline=22;md5=2b47b7b5f799d2ebabe62b895e848820"
diff --git a/meta-multimedia/recipes-connectivity/gupnp/gupnp-dlna_0.9.2.bb b/meta-multimedia/recipes-connectivity/gupnp/gupnp-dlna_0.9.2.bb
new file mode 100644
index 000000000..b7e71cf0d
--- /dev/null
+++ b/meta-multimedia/recipes-connectivity/gupnp/gupnp-dlna_0.9.2.bb
@@ -0,0 +1,20 @@
1SUMMARY = "Helpers for AV applications using DLNA"
2LICENSE = "LGPLv2"
3LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
4 file://libgupnp-dlna/gupnp-dlna-profile.h;beginline=1;endline=22;md5=1b85459f65cb1e73a885ca137aab6274"
5
6DEPENDS = "libxml2 glib-2.0"
7
8SRC_URI = "http://download.gnome.org/sources/${BPN}/0.9/${BPN}-${PV}.tar.xz"
9SRC_URI[md5sum] = "d972f9b03f0f3793cb895eb034ea314f"
10SRC_URI[sha256sum] = "c28d5650604c7da4f193e6b85049a4885f3a01f1996df768d55b5cb898a9fc53"
11
12inherit autotools pkgconfig
13
14require no-vala.inc
15
16# The GStreamer metadata backend requires GStreamer 1.0, so skip this until we
17# have that packaged.
18EXTRA_OECONF = "--disable-gstreamer-metadata-backend"
19
20FILES_${PN} += "${datadir}/gupnp-dlna-2.0/dlna-profiles"
diff --git a/meta-multimedia/recipes-connectivity/gupnp/gupnp-igd_0.2.2.bb b/meta-multimedia/recipes-connectivity/gupnp/gupnp-igd_0.2.2.bb
new file mode 100644
index 000000000..112bc4bd3
--- /dev/null
+++ b/meta-multimedia/recipes-connectivity/gupnp/gupnp-igd_0.2.2.bb
@@ -0,0 +1,14 @@
1SUMMARY = "Helpers for interacting with Internet Gateway Devices over UPnP"
2LICENSE = "LGPLv2"
3LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
4 file://libgupnp-igd/gupnp-simple-igd.c;beginline=1;endline=21;md5=aa292c0d9390463a6e1055dc5fc68e80"
5
6DEPENDS = "glib-2.0 gupnp"
7
8SRC_URI = "http://download.gnome.org/sources/${BPN}/0.2/${BPN}-${PV}.tar.xz"
9SRC_URI[md5sum] = "f881323304185c02634034e3bda714ba"
10SRC_URI[sha256sum] = "73b6a98a0f13b29b34c3bfc07f99f78b1319211cb95a8585752873af2b9067d3"
11
12inherit autotools pkgconfig
13
14EXTRA_OECONF = "--disable-introspection --disable-python"
diff --git a/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.8.1.bb b/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.8.1.bb
new file mode 100644
index 000000000..178cea39a
--- /dev/null
+++ b/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.8.1.bb
@@ -0,0 +1,11 @@
1SUMMARY = "Tools for GUPnP"
2LICENSE = "GPLv2+"
3LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
4 file://src/network-light/main.c;beginline=1;endline=21;md5=033bf37c030780c5a72165846b3003f6"
5DEPENDS = "gupnp gupnp-av gtk+ gnome-icon-theme"
6
7SRC_URI = "http://download.gnome.org/sources/${BPN}/0.8/${BPN}-${PV}.tar.bz2"
8SRC_URI[md5sum] = "cafc2a4f2d1a91a8c1228799073d1d7d"
9SRC_URI[sha256sum] = "57d5ca899f8da7e4ae69e5f98d75d1603aa7f388022f9ccb357f90abb22b75b6"
10
11inherit autotools pkgconfig
diff --git a/meta-multimedia/recipes-connectivity/gupnp/gupnp.inc b/meta-multimedia/recipes-connectivity/gupnp/gupnp.inc
new file mode 100644
index 000000000..b63f2232d
--- /dev/null
+++ b/meta-multimedia/recipes-connectivity/gupnp/gupnp.inc
@@ -0,0 +1,21 @@
1SUMMARY = "UPnP framework"
2DESCRIPTION = "GUPnP is an elegant, object-oriented open source framework for creating UPnP devices and control points, written in C using GObject and libsoup. The GUPnP API is intended to be easy to use, efficient and flexible. It provides the same set of features as libupnp, but shields the developer from most of UPnP's internals."
3LICENSE = "LGPLv2+"
4
5DEPENDS = "e2fsprogs gssdp libsoup-2.4 libxml2 gobject-introspection-stub"
6
7require no-vala.inc
8
9EXTRA_OECONF = "--disable-introspection"
10
11inherit autotools pkgconfig
12
13FILES_${PN} = "${libdir}/*.so.*"
14FILES_${PN}-dev += "${bindir}/gupnp-binding-tool"
15
16SYSROOT_PREPROCESS_FUNCS += "gupnp_sysroot_preprocess"
17
18gupnp_sysroot_preprocess () {
19 install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/
20 install -m 755 ${D}${bindir}/gupnp-binding-tool ${SYSROOT_DESTDIR}${bindir_crossscripts}/
21}
diff --git a/meta-multimedia/recipes-connectivity/gupnp/gupnp_0.20.12.bb b/meta-multimedia/recipes-connectivity/gupnp/gupnp_0.20.12.bb
new file mode 100644
index 000000000..bba86a9d1
--- /dev/null
+++ b/meta-multimedia/recipes-connectivity/gupnp/gupnp_0.20.12.bb
@@ -0,0 +1,8 @@
1require gupnp.inc
2
3SRC_URI = "http://download.gnome.org/sources/${BPN}/0.20/${BPN}-${PV}.tar.xz"
4SRC_URI[md5sum] = "c01aa6d3a78792b3a24591f036dd91f4"
5SRC_URI[sha256sum] = "205d47b950a1b7190df1115f454cb38a44d71aacfec75d4287299e400e139b69"
6
7LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
8 file://libgupnp/gupnp.h;beginline=1;endline=20;md5=d78a69d9b6e63ee2dc72e7b674d97520"
diff --git a/meta-multimedia/recipes-connectivity/gupnp/no-vala.inc b/meta-multimedia/recipes-connectivity/gupnp/no-vala.inc
new file mode 100644
index 000000000..5a45cd125
--- /dev/null
+++ b/meta-multimedia/recipes-connectivity/gupnp/no-vala.inc
@@ -0,0 +1,5 @@
1do_configure_prepend () {
2 # Vala needs gobject-introspection so won't work. Instead of depending
3 # on vala-native just to run configure, comment out the Vala macro.
4 sed -i -e 's/\(^[ \t]*VALA_PROG_VAPIGEN\)/dnl \1/g' ${S}/configure.ac
5}
diff --git a/meta-multimedia/recipes-dvb/dvb-apps/dvb-apps_1.1.1.bb b/meta-multimedia/recipes-dvb/dvb-apps/dvb-apps_1.1.1.bb
new file mode 100644
index 000000000..1c0d6867d
--- /dev/null
+++ b/meta-multimedia/recipes-dvb/dvb-apps/dvb-apps_1.1.1.bb
@@ -0,0 +1,106 @@
1HOMEPAGE = "http://www.linuxtv.org"
2SUMMARY = "Linux DVB API applications and utilities"
3
4LICENSE = "GPLv2"
5LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
6
7SRC_URI = "hg://linuxtv.org/hg;module=dvb-apps;protocol=http"
8SRCREV = "3fc7dfa68484"
9
10S = "${WORKDIR}/${BPN}"
11
12do_configure() {
13 sed -i -e s:/usr/include:${STAGING_INCDIR}:g util/av7110_loadkeys/generate-keynames.sh
14}
15
16do_install() {
17 make DESTDIR=${D} install
18 install -d ${D}/${bindir}
19 install -d ${D}/${docdir}/dvb-apps
20 install -d ${D}/${docdir}/dvb-apps/scan
21 install -d ${D}/${docdir}/dvb-apps/szap
22 chmod a+rx ${D}/${libdir}/*.so*
23
24 # Install tests
25 install -m 0755 ${S}/test/setvoltage ${D}${bindir}/test_setvoltage
26 install -m 0755 ${S}/test/set22k ${D}${bindir}/test_set22k
27 install -m 0755 ${S}/test/sendburst ${D}${bindir}/test_sendburst
28 install -m 0755 ${S}/test/diseqc ${D}${bindir}/test_diseqc
29 install -m 0755 ${S}/test/test_sections ${D}${bindir}/
30 install -m 0755 ${S}/test/test_av_play ${D}${bindir}/
31 install -m 0755 ${S}/test/test_stillimage ${D}${bindir}/
32 install -m 0755 ${S}/test/test_dvr_play ${D}${bindir}/
33 install -m 0755 ${S}/test/test_tt ${D}${bindir}/
34 install -m 0755 ${S}/test/test_sec_ne ${D}${bindir}/
35 install -m 0755 ${S}/test/test_stc ${D}${bindir}/
36 install -m 0755 ${S}/test/test_av ${D}${bindir}/
37 install -m 0755 ${S}/test/test_vevent ${D}${bindir}/
38 install -m 0755 ${S}/test/test_pes ${D}${bindir}/
39 install -m 0755 ${S}/test/test_dvr ${D}${bindir}/
40
41 cp -pPR ${S}/util/szap/channels-conf* ${D}/${docdir}/dvb-apps/szap/
42 cp -pPR ${S}/util/szap/README ${D}/${docdir}/dvb-apps/szap/
43}
44
45python populate_packages_prepend () {
46 dvb_libdir = bb.data.expand('${libdir}', d)
47 do_split_packages(d, dvb_libdir, '^lib(.*)\.so$', 'lib%s', 'DVB %s package', extra_depends='', allow_links=True)
48 do_split_packages(d, dvb_libdir, '^lib(.*)\.la$', 'lib%s-dev', 'DVB %s development package', extra_depends='${PN}-dev')
49 do_split_packages(d, dvb_libdir, '^lib(.*)\.a$', 'lib%s-dev', 'DVB %s development package', extra_depends='${PN}-dev')
50 do_split_packages(d, dvb_libdir, '^lib(.*)\.so\.*', 'lib%s', 'DVB %s library', extra_depends='', allow_links=True)
51}
52
53PACKAGES =+ "dvb-evtest dvb-evtest-dbg \
54 dvbapp-tests dvbapp-tests-dbg \
55 dvbdate dvbdate-dbg \
56 dvbtraffic dvbtraffic-dbg \
57 dvbnet dvbnet-dbg \
58 dvb-scan dvb-scan-dbg dvb-scan-data \
59 dvb-azap dvb-azap-dbg \
60 dvb-czap dvb-czap-dbg \
61 dvb-szap dvb-szap-dbg \
62 dvb-tzap dvb-tzap-dbg \
63 dvb-femon dvb-femon-dbg \
64 dvb-zap-data"
65
66
67FILES_${PN} = "${bindir} ${datadir}/dvb"
68FILES_${PN}-doc = ""
69FILES_${PN}-dev = "${includedir}"
70
71FILES_dvb-evtest = "${bindir}/evtest"
72FILES_dvb-evtest-dbg = "${bindir}/.debug/evtest"
73RCONFLICTS_dvb-evtest = "evtest"
74
75FILES_dvbapp-tests = "${bindir}/*test* "
76FILES_dvbapp-tests-dbg = "${bindir}/.debug/*test*"
77
78FILES_dvbdate = "${bindir}/dvbdate"
79FILES_dvbdate-dbg = "${bindir}/.debug/dvbdate"
80
81FILES_dvbtraffic = "${bindir}/dvbtraffic"
82FILES_dvbtraffic-dbg = "${bindir}/.debug/dvbtraffic"
83
84FILES_dvbnet = "${bindir}/dvbnet"
85FILES_dvbnet-dbg = "${bindir}/.debug/dvbnet"
86
87FILES_dvb-scan = "${bindir}/*scan "
88FILES_dvb-scan-dbg = "${bindir}/.debug/*scan"
89FILES_dvb-scan-data = "${docdir}/dvb-apps/scan"
90
91FILES_dvb-azap = "${bindir}/azap"
92FILES_dvb-azap-dbg = "${bindir}/.debug/azap"
93
94FILES_dvb-czap = "${bindir}/czap"
95FILES_dvb-czap-dbg = "${bindir}/.debug/czap"
96
97FILES_dvb-szap = "${bindir}/szap"
98FILES_dvb-szap-dbg = "${bindir}/.debug/szap"
99
100FILES_dvb-tzap = "${bindir}/tzap"
101FILES_dvb-tzap-dbg = "${bindir}/.debug/tzap"
102
103FILES_dvb-femon = "${bindir}/femon"
104FILES_dvb-femon-dbg = "${bindir}/.debug/femon"
105
106FILES_dvb-zap-data = "${docdir}/dvb-apps/szap"
diff --git a/meta-multimedia/recipes-dvb/oscam/oscam_svn.bb b/meta-multimedia/recipes-dvb/oscam/oscam_svn.bb
new file mode 100644
index 000000000..c4a4d99a4
--- /dev/null
+++ b/meta-multimedia/recipes-dvb/oscam/oscam_svn.bb
@@ -0,0 +1,18 @@
1SUMMARY = "OSCam: Open Source Conditional Access Module"
2HOMEPAGE = "http://www.streamboard.tv/oscam/"
3
4LICENSE = "GPLv3"
5LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
6
7DEPENDS = "libusb1 openssl pcsc-lite"
8
9SRC_URI = "svn://www.streamboard.tv/svn/oscam;module=trunk;protocol=http"
10SRCREV = "9164"
11PV = "1.10+${SRCPV}"
12
13S = "${WORKDIR}/trunk"
14
15inherit cmake
16
17EXTRA_OECMAKE = "-DDEFAULT_CS_CONFDIR=${sysconfdir} -DCMAKE_BUILD_TYPE=Debug"
18
diff --git a/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-Move-tvheadend-specific-LD-CFLAGS-into-a-helper-vari.patch b/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-Move-tvheadend-specific-LD-CFLAGS-into-a-helper-vari.patch
new file mode 100644
index 000000000..9dfcce042
--- /dev/null
+++ b/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-Move-tvheadend-specific-LD-CFLAGS-into-a-helper-vari.patch
@@ -0,0 +1,92 @@
1From 2ee64b359464b48f751683faa5ded3ee8200fe90 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Fri, 21 Dec 2012 10:15:42 +0100
4Subject: [PATCH] Move tvheadend specific LD/CFLAGS into a helper variable to
5 avoid being overwritten
6
7Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
8
9Upstream-Status: Inappropriate [OE specific]
10---
11 Makefile | 20 ++++++++++----------
12 support/configure.inc | 8 ++++----
13 2 files changed, 14 insertions(+), 14 deletions(-)
14
15diff --git a/Makefile b/Makefile
16index 8c6b293..daf5f14 100644
17--- a/Makefile
18+++ b/Makefile
19@@ -27,12 +27,12 @@ PROG = ${BUILDDIR}/tvheadend
20 # Common compiler flags
21 #
22
23-CFLAGS += -Wall -Werror -Wwrite-strings -Wno-deprecated-declarations
24-CFLAGS += -Wmissing-prototypes -fms-extensions
25-CFLAGS += -g -funsigned-char -O2
26-CFLAGS += -D_FILE_OFFSET_BITS=64
27-CFLAGS += -I${BUILDDIR} -I${CURDIR}/src -I${CURDIR}
28-LDFLAGS += -lrt -ldl -lpthread -lm
29+TVH_CFLAGS += -Wall -Werror -Wwrite-strings -Wno-deprecated-declarations
30+TVH_CFLAGS += -Wmissing-prototypes -fms-extensions
31+TVH_CFLAGS += -g -funsigned-char -O2
32+TVH_CFLAGS += -D_FILE_OFFSET_BITS=64
33+TVH_CFLAGS += -I${BUILDDIR} -I${CURDIR}/src -I${CURDIR}
34+TVH_LDFLAGS += -lrt -ldl -lpthread -lm
35
36 #
37 # Other config
38@@ -179,8 +179,8 @@ SRCS-${CONFIG_CWC} += src/ffdecsa/ffdecsa_interface.c \
39 src/ffdecsa/ffdecsa_int.c
40 SRCS-${CONFIG_MMX} += src/ffdecsa/ffdecsa_mmx.c
41 SRCS-${CONFIG_SSE2} += src/ffdecsa/ffdecsa_sse2.c
42-${BUILDDIR}/src/ffdecsa/ffdecsa_mmx.o : CFLAGS += -mmmx
43-${BUILDDIR}/src/ffdecsa/ffdecsa_sse2.o : CFLAGS += -msse2
44+${BUILDDIR}/src/ffdecsa/ffdecsa_mmx.o : TVH_CFLAGS += -mmmx
45+${BUILDDIR}/src/ffdecsa/ffdecsa_sse2.o : TVH_CFLAGS += -msse2
46 endif
47
48 # File bundles
49@@ -217,12 +217,12 @@ all: ${PROG}
50
51 # Binary
52 ${PROG}: $(OBJS) $(ALLDEPS)
53- $(CC) -o $@ $(OBJS) $(CFLAGS) $(LDFLAGS)
54+ $(CC) -o $@ $(OBJS) $(TVH_CFLAGS) $(TVH_LDFLAGS) $(CFLAGS) $(LDFLAGS)
55
56 # Object
57 ${BUILDDIR}/%.o: %.c
58 @mkdir -p $(dir $@)
59- $(CC) -MD -MP $(CFLAGS) -c -o $@ $(CURDIR)/$<
60+ $(CC) -MD -MP $(TVH_CFLAGS) $(CFLAGS) -c -o $@ $(CURDIR)/$<
61
62 # Add-on
63 ${BUILDDIR}/%.so: ${SRCS_EXTRA}
64diff --git a/support/configure.inc b/support/configure.inc
65index 0130880..332511e 100644
66--- a/support/configure.inc
67+++ b/support/configure.inc
68@@ -464,8 +464,8 @@ ifeq (\$(origin CC),default)
69 CC = ${CC}
70 endif
71 PYTHON ?= ${PYTHON}
72-CFLAGS += ${CFLAGS}
73-LDFLAGS += ${LDFLAGS}
74+TVH_CFLAGS += ${CFLAGS}
75+TVH_LDFLAGS += ${LDFLAGS}
76 prefix = ${prefix}
77 bindir = ${bindir}
78 mandir = ${mandir}
79@@ -482,8 +482,8 @@ EOF
80 # Add package config
81 for pkg in ${PACKAGES[*]}; do
82 cat >>${CONFIG_MK} <<EOF
83-LDFLAGS += $(pkg-config --libs $pkg)
84-CFLAGS += $(pkg-config --cflags $pkg)
85+TVH_LDFLAGS += $(pkg-config --libs $pkg)
86+TVH_CFLAGS += $(pkg-config --cflags $pkg)
87 EOF
88 done
89
90--
911.7.7.6
92
diff --git a/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb b/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb
new file mode 100644
index 000000000..65d43c620
--- /dev/null
+++ b/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb
@@ -0,0 +1,31 @@
1SUMMARY = "Tvheadend TV streaming server"
2HOMEPAGE = "https://www.lonelycoder.com/redmine/projects/tvheadend"
3
4DEPENDS = "avahi zlib openssl python-native"
5
6LICENSE = "GPLv3+"
7LIC_FILES_CHKSUM = "file://LICENSE;md5=9eef91148a9b14ec7f9df333daebc746"
8
9SRC_URI = "git://github.com/tvheadend/tvheadend.git \
10 file://0001-Move-tvheadend-specific-LD-CFLAGS-into-a-helper-vari.patch \
11"
12SRCREV = "a420c83a0e0d2c31c2c15d0fec6fedc3f5a36dfe"
13PV = "3.3"
14
15S = "${WORKDIR}/git"
16
17do_configure() {
18 ./configure --prefix=${prefix} \
19 --libdir=${libdir} \
20 --bindir=${bindir} \
21 --datadir=${datadir} \
22 --arch=${TARGET_ARCH} \
23 --disable-dvbscan \
24 --disable-bundle
25}
26
27do_install() {
28 oe_runmake install DESTDIR=${D}
29}
30
31FILES_${PN} += "${datadir}/${BPN}"
diff --git a/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0001-configure-don-t-run-python-distutils-to-find-STAGING.patch b/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0001-configure-don-t-run-python-distutils-to-find-STAGING.patch
new file mode 100644
index 000000000..dfc3959a1
--- /dev/null
+++ b/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0001-configure-don-t-run-python-distutils-to-find-STAGING.patch
@@ -0,0 +1,31 @@
1From 0dce5a2abd9f42876616c35772a4d71c5399543c Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Sat, 17 Dec 2011 11:38:15 +0100
4Subject: [PATCH 1/4] configure: don't run python distutils to find STAGING_INCDIR/python, it is not safe for per-machine sysroots
5
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7---
8 m4/ax_python_devel.m4 | 7 +------
9 1 files changed, 1 insertions(+), 6 deletions(-)
10
11diff --git a/m4/ax_python_devel.m4 b/m4/ax_python_devel.m4
12index adbd207..dee70f6 100644
13--- a/m4/ax_python_devel.m4
14+++ b/m4/ax_python_devel.m4
15@@ -151,12 +151,7 @@ $ac_distutils_result])
16 #
17 AC_MSG_CHECKING([for Python include path])
18 if test -z "$PYTHON_CPPFLAGS"; then
19- python_path=`$PYTHON -c "import distutils.sysconfig; \
20- print (distutils.sysconfig.get_python_inc ());"`
21- if test -n "${python_path}"; then
22- python_path="-I$python_path"
23- fi
24- PYTHON_CPPFLAGS=$python_path
25+ PYTHON_CPPFLAGS="-I${STAGING_INCDIR}/${PYTHON_DIR}"
26 fi
27 AC_MSG_RESULT([$PYTHON_CPPFLAGS])
28 AC_SUBST([PYTHON_CPPFLAGS])
29--
301.7.2.5
31
diff --git a/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0002-Revert-fixed-ios-Add-memory-barriers-to-atomic-Add-S.patch b/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0002-Revert-fixed-ios-Add-memory-barriers-to-atomic-Add-S.patch
new file mode 100644
index 000000000..e0a4037bc
--- /dev/null
+++ b/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0002-Revert-fixed-ios-Add-memory-barriers-to-atomic-Add-S.patch
@@ -0,0 +1,97 @@
1From 7b2a8a7869d257cba35f53f6d877877c29cdac27 Mon Sep 17 00:00:00 2001
2From: Paul Menzel <paulepanter@users.sourceforge.net>
3Date: Sun, 14 Aug 2011 21:53:47 +0200
4Subject: [PATCH 2/4] Revert "fixed:[ios] Add memory barriers to atomic Add/Subtract and Increment/Decrement functions to ensure synchronized accesses."
5
6This reverts commit 9a10c48710df79118e39e9b3bb0a15bf1fe694d1.
7
8The build (OpenEmbedded `angstrom-2010.x` for `MACHINE = "beagleboard") fails with the following error.
9
10 make -C xbmc/threads
11 make[1]: Entering directory `/oe/build-angstrom-next/angstrom-dev/work/armv7a-angstrom-linux-gnueabi/xbmc-10.05-r11+gitr0+9a10c48710df79118e39e9b3bb0a15bf1fe694d1/git/xbmc/threads'
12 CPP Atomics.o
13 /tmp/ccIzTm3L.s: Assembler messages:
14 /tmp/ccIzTm3L.s:40: Error: garbage following instruction -- `dmb ish'
15 /tmp/ccIzTm3L.s:48: Error: garbage following instruction -- `dmb ish'
16 /tmp/ccIzTm3L.s:76: Error: garbage following instruction -- `dmb ish'
17 /tmp/ccIzTm3L.s:83: Error: garbage following instruction -- `dmb ish'
18 /tmp/ccIzTm3L.s:111: Error: garbage following instruction -- `dmb ish'
19 /tmp/ccIzTm3L.s:118: Error: garbage following instruction -- `dmb ish'
20 /tmp/ccIzTm3L.s:145: Error: garbage following instruction -- `dmb ish'
21 /tmp/ccIzTm3L.s:152: Error: garbage following instruction -- `dmb ish'
22 /tmp/ccIzTm3L.s:180: Error: garbage following instruction -- `dmb ish'
23 /tmp/ccIzTm3L.s:187: Error: garbage following instruction -- `dmb ish'
24 make[1]: *** [Atomics.o] Error 1
25 make[1]: Leaving directory `/oe/build-angstrom-next/angstrom-dev/work/armv7a-angstrom-linux-gnueabi/xbmc-10.05-r11+gitr0+9a10c48710df79118e39e9b3bb0a15bf1fe694d1/git/xbmc/threads'
26 make: *** [xbmc/threads/threads.a] Error 2
27---
28 xbmc/threads/Atomics.cpp | 8 --------
29 1 files changed, 0 insertions(+), 8 deletions(-)
30
31diff --git a/xbmc/threads/Atomics.cpp b/xbmc/threads/Atomics.cpp
32index 5b09f18..0a98a7e 100644
33--- a/xbmc/threads/Atomics.cpp
34+++ b/xbmc/threads/Atomics.cpp
35@@ -194,14 +194,12 @@ long AtomicIncrement(volatile long* pAddr)
36 {
37 register long val;
38 asm volatile (
39- "dmb ish \n" // Memory barrier. Make sure all memory accesses appearing before this complete before any that appear after
40 "1: \n"
41 "ldrex %0, [%1] \n" // (val = *pAddr)
42 "add %0, #1 \n" // (val += 1)
43 "strex r1, %0, [%1] \n"
44 "cmp r1, #0 \n"
45 "bne 1b \n"
46- "dmb ish \n" // Memory barrier.
47 : "=&r" (val)
48 : "r"(pAddr)
49 : "r1"
50@@ -273,14 +271,12 @@ long AtomicAdd(volatile long* pAddr, long amount)
51 {
52 register long val;
53 asm volatile (
54- "dmb ish \n" // Memory barrier. Make sure all memory accesses appearing before this complete before any that appear after
55 "1: \n"
56 "ldrex %0, [%1] \n" // (val = *pAddr)
57 "add %0, %2 \n" // (val += amount)
58 "strex r1, %0, [%1] \n"
59 "cmp r1, #0 \n"
60 "bne 1b \n"
61- "dmb ish \n" // Memory barrier.
62 : "=&r" (val)
63 : "r"(pAddr), "r"(amount)
64 : "r1"
65@@ -351,14 +347,12 @@ long AtomicDecrement(volatile long* pAddr)
66 {
67 register long val;
68 asm volatile (
69- "dmb ish \n" // Memory barrier. Make sure all memory accesses appearing before this complete before any that appear after
70 "1: \n"
71 "ldrex %0, [%1] \n" // (val = *pAddr)
72 "sub %0, #1 \n" // (val -= 1)
73 "strex r1, %0, [%1] \n"
74 "cmp r1, #0 \n"
75 "bne 1b \n"
76- "dmb ish \n" // Memory barrier.
77 : "=&r" (val)
78 : "r"(pAddr)
79 : "r1"
80@@ -431,14 +425,12 @@ long AtomicSubtract(volatile long* pAddr, long amount)
81 {
82 register long val;
83 asm volatile (
84- "dmb ish \n" // Memory barrier. Make sure all memory accesses appearing before this complete before any that appear after
85 "1: \n"
86 "ldrex %0, [%1] \n" // (val = *pAddr)
87 "sub %0, %2 \n" // (val -= amount)
88 "strex r1, %0, [%1] \n"
89 "cmp r1, #0 \n"
90 "bne 1b \n"
91- "dmb ish \n" // Memory barrier.
92 : "=&r" (val)
93 : "r"(pAddr), "r"(amount)
94 : "r1"
95--
961.7.2.5
97
diff --git a/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0003-Revert-fixed-ios-Add-memory-barriers-to-cas-assembly.patch b/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0003-Revert-fixed-ios-Add-memory-barriers-to-cas-assembly.patch
new file mode 100644
index 000000000..629017b7b
--- /dev/null
+++ b/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0003-Revert-fixed-ios-Add-memory-barriers-to-cas-assembly.patch
@@ -0,0 +1,69 @@
1From aaae1616a09d359b52e929f944ca0ceb4bb7f831 Mon Sep 17 00:00:00 2001
2From: Paul Menzel <paulepanter@users.sourceforge.net>
3Date: Sun, 14 Aug 2011 21:55:09 +0200
4Subject: [PATCH 3/4] Revert "fixed:[ios] Add memory barriers to cas() assembly to ensure alignment of memory accesses."
5
6This reverts commit 92bab651e2253d172879995b50985645b77fecd2.
7
8The build (OpenEmbedded `angstrom-2010.x` for `MACHINE = "beagleboard") fails with the following error.
9
10 CPP Atomics.o
11 make[1]: Entering directory `/oe/build-angstrom-next/angstrom-dev/work/armv7a-angstrom-linux-gnueabi/xbmc-10.05-r11+gitr0+92bab651e2253d172879995b50985645b77fecd2/git/xbmc/windows'
12 CPP GUIMediaWindow.o
13 /tmp/ccrsywuV.s: Assembler messages:
14 /tmp/ccrsywuV.s:40: Error: garbage following instruction -- `dmb ish'
15 /tmp/ccrsywuV.s:48: Error: garbage following instruction -- `dmb ish'
16 make[1]: *** [Atomics.o] Error 1
17 make[1]: Leaving directory `/oe/build-angstrom-next/angstrom-dev/work/armv7a-angstrom-linux-gnueabi/xbmc-10.05-r11+gitr0+92bab651e2253d172879995b50985645b77fecd2/git/xbmc/threads'
18 make: *** [xbmc/threads/threads.a] Error 2
19---
20 xbmc/threads/Atomics.cpp | 33 ++++++++++++++++-----------------
21 1 files changed, 16 insertions(+), 17 deletions(-)
22
23diff --git a/xbmc/threads/Atomics.cpp b/xbmc/threads/Atomics.cpp
24index 0a98a7e..0967eb2 100644
25--- a/xbmc/threads/Atomics.cpp
26+++ b/xbmc/threads/Atomics.cpp
27@@ -49,23 +49,22 @@ long cas(volatile long *pAddr, long expectedVal, long swapVal)
28 #elif defined(__arm__)
29 long cas(volatile long* pAddr, long expectedVal, long swapVal)
30 {
31- register long prev;
32- asm volatile (
33- "dmb ish \n" // Memory barrier. Make sure all memory accesses appearing before this complete before any that appear after
34- "1: \n"
35- "ldrex %0, [%1] \n" // Load the current value of *pAddr(%1) into prev (%0) and lock pAddr,
36- "cmp %0, %2 \n" // Verify that the current value (%0) == old value (%2)
37- "bne 2f \n" // Bail if the two values are not equal [not as expected]
38- "strex r1, %3, [%1] \n"
39- "cmp r1, #0 \n"
40- "bne 1b \n"
41- "dmb ish \n" // Memory barrier.
42- "2: \n"
43- : "=&r" (prev)
44- : "r"(pAddr), "r"(expectedVal),"r"(swapVal)
45- : "r1"
46- );
47- return prev;
48+ return(__sync_val_compare_and_swap(pAddr, expectedVal, swapVal));
49+// register long prev;
50+// asm volatile (
51+// "1: \n"
52+// "ldrex %0, [%1] \n" /* Load the current value of *pAddr(%1) into prev (%0) and lock pAddr, */
53+// "cmp %0, %2 \n" /* Verify that the current value (%0) == old value (%2) */
54+// "bne 2f \n" /* Bail if the two values are not equal [not as expected] */
55+// "strex r1, %3, [%1] \n"
56+// "cmp r1, #0 \n"
57+// "bne 1b \n"
58+// "2: "
59+// : "=&r" (prev)
60+// : "r"(pAddr), "r"(expectedVal),"r"(swapVal)
61+// : "r1"
62+// );
63+// return prev;
64 }
65
66 #elif defined(__mips__)
67--
681.7.2.5
69
diff --git a/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0004-configure-cope-with-ld-is-gold-DISTRO_FEATURE.patch b/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0004-configure-cope-with-ld-is-gold-DISTRO_FEATURE.patch
new file mode 100644
index 000000000..345e20ee1
--- /dev/null
+++ b/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0004-configure-cope-with-ld-is-gold-DISTRO_FEATURE.patch
@@ -0,0 +1,43 @@
1From fd8f73826240aae543a41a2bfeea0056e2fe594d Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Mon, 11 Mar 2013 11:04:29 +0100
4Subject: [PATCH] configure: cope with ld-is-gold DISTRO_FEATURE
5
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7---
8
9Upstream-Stature: backport
10
11 configure.in | 12 +++++++-----
12 1 files changed, 7 insertions(+), 5 deletions(-)
13
14diff --git a/configure.in b/configure.in
15index ef94683..c8b459b 100755
16--- a/configure.in
17+++ b/configure.in
18@@ -18,9 +18,14 @@ tolower(){
19 # check for library basenames
20 AC_DEFUN([XB_FIND_SONAME],
21 [
22+ #set -x
23 if [[ "$host_vendor" != "apple" ]]; then
24 AC_MSG_CHECKING([for lib$2 soname])
25 $1_FILENAME=$($CC -nostdlib -o /dev/null $LDFLAGS -l$2 -Wl,-M 2>/dev/null | grep "^LOAD.*$2" | awk '{V=2; print $V}')
26+ if [[ -z $$1_FILENAME ]]; then
27+ #try gold linker syntax
28+ $1_FILENAME=$($CC -nostdlib -o /dev/null $LDFLAGS -l$2 -Wl,-t 3>&1 1>&2 2>&3 | grep "$2")
29+ fi
30 if [[ ! -z $$1_FILENAME ]]; then
31 $1_SONAME=$(objdump -p $$1_FILENAME | grep "SONAME.*$2" | awk '{V=2; print $V}')
32 fi
33@@ -55,6 +60,7 @@ AC_DEFUN([XB_FIND_SONAME],
34 AC_MSG_RESULT([$$1_SONAME])
35 AC_SUBST($1_SONAME)
36 fi
37+ #set +x
38 ])
39
40 # Function to push and pop libs and includes for a command
41--
421.7.7.6
43
diff --git a/meta-multimedia/recipes-mediacentre/xbmc/xbmc/configure.in-Avoid-running-code.patch b/meta-multimedia/recipes-mediacentre/xbmc/xbmc/configure.in-Avoid-running-code.patch
new file mode 100644
index 000000000..5c1405982
--- /dev/null
+++ b/meta-multimedia/recipes-mediacentre/xbmc/xbmc/configure.in-Avoid-running-code.patch
@@ -0,0 +1,32 @@
1From cfd851660a594801a591e80dc820c65cb7bd7836 Mon Sep 17 00:00:00 2001
2From: Otavio Salvador <otavio@ossystems.com.br>
3Date: Sat, 6 Oct 2012 06:40:03 -0300
4Subject: [PATCH] configure.in: Avoid running code or we break cross-compile
5
6Upstream-Status: Backport [similar change done for 12.0]
7
8Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
9---
10 configure.in | 6 +-----
11 1 files changed, 1 insertions(+), 5 deletions(-)
12
13diff --git a/configure.in b/configure.in
14index ef94683..d7efcb0 100755
15--- a/configure.in
16+++ b/configure.in
17@@ -1246,11 +1246,7 @@ if test "$use_external_ffmpeg" = "yes"; then
18 AC_DEFINE([USE_EXTERNAL_FFMPEG], [1], [Whether to use external FFmpeg libraries.])
19
20 # Disable vdpau support if external libavcodec doesn't have it
21- AC_RUN_IFELSE(
22- AC_LANG_PROGRAM([[#include <libavcodec/avcodec.h>]],
23- [[avcodec_register_all();
24- AVCodec *codec = avcodec_find_decoder_by_name("vc1_vdpau");
25- return (codec) ? 0 : 1;]]),,
26+ AC_CHECK_LIB([avcodec], [ff_vdpau_vc1_decode_picture],,
27 [if test "x$use_vdpau" = "xyes"; then
28 AC_MSG_ERROR($ffmpeg_vdpau_not_supported)
29 else
30--
311.7.2.5
32
diff --git a/meta-multimedia/recipes-mediacentre/xbmc/xbmc_git.bb b/meta-multimedia/recipes-mediacentre/xbmc/xbmc_git.bb
new file mode 100644
index 000000000..17db7b51e
--- /dev/null
+++ b/meta-multimedia/recipes-mediacentre/xbmc/xbmc_git.bb
@@ -0,0 +1,99 @@
1SUMMARY = "XBMC Media Center"
2
3LICENSE = "GPLv2"
4LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=6eb631b6da7fdb01508a80213ffc35ff"
5
6DEPENDS = "libusb1 libcec libplist expat yajl gperf-native libxmu fribidi mpeg2dec ffmpeg samba fontconfig curl python libass libmodplug libmicrohttpd wavpack libmms cmake-native libsdl-image libsdl-mixer virtual/egl mysql5 sqlite3 libmms faad2 libcdio libpcre boost lzo enca avahi libsamplerate0 libxinerama libxrandr libxtst bzip2 virtual/libsdl jasper zip-native zlib libtinyxml libmad"
7#require recipes/egl/egl.inc
8
9
10SRCREV = "82388d55dae79cbb2e486e307e23202e76a43efa"
11
12# multiple issues
13PNBLACKLIST[xbmc] ?= "/usr/include/c++/ctime:70:11: error: '::gmtime' has not been declared"
14
15PV = "11.0+gitr${SRCPV}"
16PR = "r14"
17SRC_URI = "git://github.com/xbmc/xbmc.git;branch=Eden \
18 file://0001-configure-don-t-run-python-distutils-to-find-STAGING.patch \
19 file://0002-Revert-fixed-ios-Add-memory-barriers-to-atomic-Add-S.patch \
20 file://0003-Revert-fixed-ios-Add-memory-barriers-to-cas-assembly.patch \
21 file://0004-configure-cope-with-ld-is-gold-DISTRO_FEATURE.patch \
22 file://configure.in-Avoid-running-code.patch \
23"
24
25inherit autotools gettext python-dir
26
27S = "${WORKDIR}/git"
28
29# breaks compilation
30CCACHE = ""
31
32CACHED_CONFIGUREVARS += " \
33 ac_cv_path_PYTHON="${STAGING_BINDIR_NATIVE}/python-native/python" \
34"
35
36PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'opengl', 'opengl', 'openglesv2', d)}"
37PACKAGECONFIG[opengl] = "--enable-gl,--enable-gles,glew"
38PACKAGECONFIG[openglesv2] = "--enable-gles,--enable-gl,"
39
40EXTRA_OECONF = " \
41 --disable-rpath \
42 --enable-libusb \
43 --enable-airplay \
44 --disable-optical-drive \
45 --enable-external-libraries \
46 ${@base_contains('DISTRO_FEATURES', 'opengl', '--enable-gl', '--enable-gles', d)} \
47"
48
49FULL_OPTIMIZATION_armv7a = "-fexpensive-optimizations -fomit-frame-pointer -O4 -ffast-math"
50BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}"
51
52EXTRA_OECONF_append_armv7a = "--cpu=cortex-a8"
53
54# for python modules
55export HOST_SYS
56export BUILD_SYS
57export STAGING_LIBDIR
58export STAGING_INCDIR
59export PYTHON_DIR
60
61do_configure() {
62 sh bootstrap
63 oe_runconf
64}
65
66PARALLEL_MAKE = ""
67
68do_compile_prepend() {
69 for i in $(find . -name "Makefile") ; do
70 sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' $i
71 done
72
73 for i in $(find . -name "*.mak*" -o -name "Makefile") ; do
74 sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' -e 's:-rpath \$(libdir):-rpath ${libdir}:g' $i
75 done
76}
77
78INSANE_SKIP_${PN} = "rpaths"
79
80# on ARM architectures xbmc will use GLES which will make the regular wrapper fail, so start it directly
81do_install_append_arm() {
82 sed -i -e 's:Exec=xbmc:Exec=${libdir}/xbmc/xbmc.bin:g' ${D}${datadir}/applications/xbmc.desktop
83}
84
85FILES_${PN} += "${datadir}/xsessions ${datadir}/icons"
86FILES_${PN}-dbg += "${libdir}/xbmc/.debug ${libdir}/xbmc/*/.debug ${libdir}/xbmc/*/*/.debug ${libdir}/xbmc/*/*/*/.debug"
87
88# xbmc uses some kind of dlopen() method for libcec so we need to add it manually
89# OpenGL builds need glxinfo, that's in mesa-demos
90RRECOMMENDS_${PN}_append = " libcec \
91 python \
92 python-lang \
93 python-re \
94 python-netclient \
95 libcurl \
96 xdpyinfo \
97 ${@base_contains('DISTRO_FEATURES', 'opengl', 'mesa-demos', '', d)} \
98"
99RRECOMMENDS_${PN}_append_libc-glibc = " glibc-charmap-ibm850 glibc-gconv-ibm850"
diff --git a/meta-multimedia/recipes-mkv/libebml/libebml_1.3.0.bb b/meta-multimedia/recipes-mkv/libebml/libebml_1.3.0.bb
new file mode 100644
index 000000000..877e176b8
--- /dev/null
+++ b/meta-multimedia/recipes-mkv/libebml/libebml_1.3.0.bb
@@ -0,0 +1,31 @@
1SUMMARY = "libebml is a C++ libary to parse EBML files"
2LICENSE = "LGPLv2.1"
3LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=f14599a2f089f6ff8c97e2baa4e3d575"
4
5SRC_URI = "http://dl.matroska.org/downloads/libebml/libebml-${PV}.tar.bz2"
6SRC_URI[md5sum] = "efec729bf5a51e649e1d9d1f61c0ae7a"
7SRC_URI[sha256sum] = "83b074d6b62715aa0080406ea84d33df2e44b5d874096640233a4db49b8096de"
8
9do_compile() {
10 cd ${S}/make/linux
11 oe_runmake CROSS="${TARGET_PREFIX}"
12}
13
14do_install() {
15 cd ${S}/make/linux
16
17 install -d ${D}${libdir}
18 install -m 0644 libebml.a ${D}${libdir}
19 install -m 0755 libebml.so.* ${D}${libdir}
20 cp -a libebml.so ${D}${libdir}
21
22 install -d ${D}${includedir}/ebml
23 for i in ../../ebml/*.h; do
24 install -m 0644 $i ${D}${includedir}/ebml
25 done
26
27 install -d ${D}${includedir}/ebml/c
28 for i in ../../ebml/c/*.h; do
29 install -m 0644 $i ${D}${includedir}/ebml/c
30 done
31}
diff --git a/meta-multimedia/recipes-mkv/libmatroska/libmatroska_1.4.1.bb b/meta-multimedia/recipes-mkv/libmatroska/libmatroska_1.4.1.bb
new file mode 100644
index 000000000..95ea93dbe
--- /dev/null
+++ b/meta-multimedia/recipes-mkv/libmatroska/libmatroska_1.4.1.bb
@@ -0,0 +1,33 @@
1SUMMARY = "libmatroska is a C++ libary to parse Matroska files (.mkv and .mka)"
2LICENSE = "LGPLv2.1"
3LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=4fbd65380cdd255951079008b364516c"
4
5DEPENDS = "libebml"
6
7SRC_URI = "http://dl.matroska.org/downloads/${BPN}/${BPN}-${PV}.tar.bz2"
8SRC_URI[md5sum] = "f61b2e5086f4bb9d24a43cc8af43a719"
9SRC_URI[sha256sum] = "086f21873e925679babdabf793c3bb85c353d0cd79423543a3355e08e8a4efb7"
10
11do_compile() {
12 cd ${S}/make/linux
13 oe_runmake CROSS="${TARGET_PREFIX}"
14}
15
16do_install() {
17 cd ${S}/make/linux
18
19 install -d ${D}${libdir}
20 install -m 0644 libmatroska.a ${D}${libdir}
21 install -m 0755 libmatroska.so.* ${D}${libdir}
22 cp -a libmatroska.so ${D}${libdir}
23
24 install -d ${D}${includedir}/matroska
25 for i in ../../matroska/*.h; do
26 install -m 0644 $i ${D}${includedir}/matroska
27 done
28
29 install -d ${D}${includedir}/matroska/c
30 for i in ../../matroska/c/*.h; do
31 install -m 0644 $i ${D}${includedir}/matroska/c
32 done
33}
diff --git a/meta-multimedia/recipes-mkv/mkvtoolnix/mkvtoolnix_git.bb b/meta-multimedia/recipes-mkv/mkvtoolnix/mkvtoolnix_git.bb
new file mode 100644
index 000000000..dd613b31f
--- /dev/null
+++ b/meta-multimedia/recipes-mkv/mkvtoolnix/mkvtoolnix_git.bb
@@ -0,0 +1,41 @@
1SUMMARY = "MKVToolNix -- Cross-platform tools for Matroska"
2HOMEPAGE = "http://www.bunkus.org/videotools/mkvtoolnix/source.html"
3
4LICENSE = "GPLv2"
5LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
6
7DEPENDS = "curl boost expat zlib libebml libmatroska libogg libvorbis bzip2 lzo file ruby-native"
8
9PV = "7.1.0+git${SRCPV}"
10SRCREV = "0c89ff941bfdd9f3378312f293a84f13cf3e2a96"
11SRC_URI = "git://github.com/mbunkus/mkvtoolnix.git"
12
13S = "${WORKDIR}/git"
14
15inherit autotools-brokensep gettext
16
17# make sure rb files are used from sysroot, not from host
18# ruby-1.9.3-always-use-i386.patch is doing target_cpu=`echo $target_cpu | sed s/i.86/i386/`
19# we need to replace it too (a bit longer version without importing re)
20RUBY_SYS = "${@ '${BUILD_SYS}'.replace('i486', 'i386').replace('i586', 'i386').replace('i686', 'i386') }"
21export RUBYLIB="${STAGING_DATADIR_NATIVE}/rubygems:${STAGING_LIBDIR_NATIVE}/ruby:${STAGING_LIBDIR_NATIVE}/ruby/${RUBY_SYS}"
22
23PACKAGECONFIG ??= ""
24PACKAGECONFIG[flac] = "--with-flac,--without-flac,flac"
25
26EXTRA_OECONF = " --with-boost-libdir=${STAGING_LIBDIR} \
27"
28
29# remove some hardcoded searchpaths
30do_configure_prepend() {
31 sed -i -e s:/usr/local/lib:${STAGING_LIBDIR}:g -e s:/usr/local/include:${STAGING_INCDIR}:g ${S}/ac/ebml.m4
32}
33
34# Yeah, no makefile
35do_compile() {
36 ${S}/drake ${PARALLEL_MAKE}
37}
38
39do_install() {
40 ${S}/drake install DESTDIR=${D}
41}
diff --git a/meta-multimedia/recipes-multimedia/coriander/coriander/cross-compile.patch b/meta-multimedia/recipes-multimedia/coriander/coriander/cross-compile.patch
new file mode 100644
index 000000000..49350fe18
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/coriander/coriander/cross-compile.patch
@@ -0,0 +1,17 @@
1In a cross compile environment adding paths like /usr are not correct.
2With this patch we make it so that its relative to sysroot if the compiler
3defines one.
4
5Upstream-Status: Pending
6Signed-off-by: Khem Raj <raj.khem@gmail.com>
7Index: a/src/Makefile.am
8===================================================================
9--- a/src/Makefile.am 2013-02-08 22:35:08.000000000 -0800
10+++ b/src/Makefile.am 2013-10-13 01:31:38.812869080 -0700
11@@ -33,5 +33,5 @@
12 video_encode.c video_encode.h \
13 subtitles.c subtitles.h
14
15-coriander_LDADD = -L/usr/X11R6/lib/ @PACKAGE_LIBS@ $(INTLLIBS) $(LIBTIFF_LIBS) $(FTPLIB_LIBS) $(SDLLIB_LIBS) $(LIBDC_LIBS) $(LIBRAW_LIBS) $(XV_LIBS) $(COR_LFS_LDFLAGS) -lgthread-2.0 $(FFMPEG_LIBS) $(X11_LIBS)
16+coriander_LDADD = -L=/usr/X11R6/lib/ @PACKAGE_LIBS@ $(INTLLIBS) $(LIBTIFF_LIBS) $(FTPLIB_LIBS) $(SDLLIB_LIBS) $(LIBDC_LIBS) $(LIBRAW_LIBS) $(XV_LIBS) $(COR_LFS_LDFLAGS) -lgthread-2.0 $(FFMPEG_LIBS) $(X11_LIBS)
17
diff --git a/meta-multimedia/recipes-multimedia/coriander/coriander_2.0.2.bb b/meta-multimedia/recipes-multimedia/coriander/coriander_2.0.2.bb
new file mode 100755
index 000000000..a9f52cadb
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/coriander/coriander_2.0.2.bb
@@ -0,0 +1,17 @@
1SUMMARY = "Control and capture GUI for IIDC compliant cameras"
2HOMEPAGE = "http://damien.douxchamps.net/ieee1394/coriander/"
3SECTION = "applications"
4LICENSE = "GPL-3.0"
5LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
6DEPENDS = "gtk+ libgnomeui libraw1394 libdc1394 libxv tiff"
7
8PNBLACKLIST[coriander] ?= "BROKEN: fails to use SDL probably because libsdl-config was removed, error: unknown type name 'SDL_Overlay'"
9
10SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/coriander-2/${PV}/${BP}.tar.gz \
11 file://cross-compile.patch \
12 "
13
14SRC_URI[md5sum] = "431d98fb013217681f97ade168201fb8"
15SRC_URI[sha256sum] = "5c7fd31cb58d398e2742352bf1ffbd2ca22e06686c6668ecfd437735c2b79123"
16
17inherit autotools gettext
diff --git a/meta-multimedia/recipes-multimedia/dleyna/media-service-demo_git.bb b/meta-multimedia/recipes-multimedia/dleyna/media-service-demo_git.bb
new file mode 100644
index 000000000..f7457fd5f
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/dleyna/media-service-demo_git.bb
@@ -0,0 +1,18 @@
1SUMMARY = "demonstration UI for dleyna"
2HOMEPAGE = "https://01.org/dleyna/"
3
4LICENSE = "LGPLv2.1"
5LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
6 file://src/media-service-demo.py;beginline=3;endline=21;md5=2faa3862e32422b3c38a1501539aa8b4"
7
8SRCREV = "f4440e104f0d13e454234184c2c6eba982725baf"
9PV = "0.0+git${SRCPV}"
10
11SRC_URI = "git://github.com/01org/media-service-demo.git"
12
13S = "${WORKDIR}/git"
14
15inherit distutils
16
17RDEPENDS_${PN} = "media-service-upnp python-dbus python-gst python-pygtk \
18 python-crypt python-netclient python-dateutil"
diff --git a/meta-multimedia/recipes-multimedia/dleyna/media-service-upnp_0.4.0.bb b/meta-multimedia/recipes-multimedia/dleyna/media-service-upnp_0.4.0.bb
new file mode 100644
index 000000000..871eb6a9a
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/dleyna/media-service-upnp_0.4.0.bb
@@ -0,0 +1,24 @@
1SUMMARY = "discover, browse and search UPNP/DLNA media servers"
2HOMEPAGE = "https://01.org/dleyna/"
3
4LICENSE = "LGPLv2.1"
5LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
6 file://src/media-service-upnp.c;beginline=1;endline=21;md5=584eb103b4f6f3432c43d169b6a123a1"
7
8DEPENDS = "dbus glib-2.0 gssdp gupnp gupnp-av gupnp-dlna libsoup-2.4"
9
10SRC_URI = "git://github.com/01org/${BPN}.git"
11SRCREV = "1996ecbe4a06c95d22f7d958e32e3d28f7a4a2e9"
12S = "${WORKDIR}/git"
13
14inherit autotools pkgconfig
15
16do_install_append() {
17 install -d ${D}${bindir}
18 install -m 0755 dms-info ${D}${bindir}
19}
20
21PACKAGES =+ "${PN}-tests"
22
23FILES_${PN} += "${datadir}/dbus-1/services/*.service"
24FILES_${PN}-tests = "${bindir}/dms-info"
diff --git a/meta-multimedia/recipes-multimedia/dleyna/renderer-service-upnp_0.3.0.bb b/meta-multimedia/recipes-multimedia/dleyna/renderer-service-upnp_0.3.0.bb
new file mode 100644
index 000000000..68d59faca
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/dleyna/renderer-service-upnp_0.3.0.bb
@@ -0,0 +1,29 @@
1SUMMARY = "discover and manipulate UPNP/DLNA media renderers"
2HOMEPAGE = "https://01.org/dleyna/"
3
4LICENSE = "LGPLv2.1"
5LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
6 file://src/renderer-service-upnp.c;beginline=1;endline=21;md5=c25c3082684eb4ca87474b7528c6dc15"
7
8PNBLACKLIST[renderer-service-upnp] ?= "BROKEN: doesn't build with B!=S (trying to install rendererconsole.py from ${B} instead of ${S})"
9
10DEPENDS = "dbus glib-2.0 gssdp gupnp gupnp-av gupnp-dlna libsoup-2.4"
11
12SRC_URI = "git://github.com/01org/${BPN}.git"
13SRCREV = "4a0b1d7cd8e22d3cb0e09c77c344ceccbcbbd34f"
14S = "${WORKDIR}/git"
15
16inherit autotools pkgconfig
17
18do_install_append() {
19 install -d ${D}${bindir}
20 install -m 0755 test/rendererconsole.py ${D}${bindir}
21}
22
23PACKAGES =+ "${PN}-tests"
24
25RDEPENDS_${PN}-tests = "python-dbus python-json python-misc python-pkgutil python-xml"
26
27FILES_${PN} += "${datadir}/dbus-1/services/*.service"
28# When we have GI, package cap
29FILES_${PN}-tests = "${bindir}/rendererconsole.py"
diff --git a/meta-multimedia/recipes-multimedia/faac/faac_1.28.bb b/meta-multimedia/recipes-multimedia/faac/faac_1.28.bb
new file mode 100644
index 000000000..d96c1a401
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/faac/faac_1.28.bb
@@ -0,0 +1,21 @@
1SUMMARY = "Freeware Advanced Audio Coder (MPEG2-AAC, MPEG4-AAC)"
2SECTION = "libs"
3LICENSE = "LGPLv2+"
4LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
5 file://libfaac/coder.h;beginline=5;endline=17;md5=fa1fd6a5fa8cdc877d63a12530d273e0"
6
7inherit autotools-brokensep
8
9SRC_URI = "${SOURCEFORGE_MIRROR}/faac/${BP}.tar.gz \
10 file://build-fix.patch"
11
12SRC_URI[md5sum] = "80763728d392c7d789cde25614c878f6"
13SRC_URI[sha256sum] = "c5141199f4cfb17d749c36ba8cfe4b25f838da67c22f0fec40228b6b9c3d19df"
14
15PACKAGES =+ "lib${BPN} lib${BPN}-dev"
16
17FILES_${PN} = " ${bindir}/faac "
18FILES_lib${PN} = " ${libdir}/libfaac.so.*"
19FILES_lib${PN}-dev = "${includedir}/faac.h ${includedir}/faaccfg.h ${libdir}/libfaac.so ${libdir}/libfaac.la"
20FILES_lib${PN}-staticdev = "${libdir}/libfaac.a"
21
diff --git a/meta-multimedia/recipes-multimedia/faac/files/build-fix.patch b/meta-multimedia/recipes-multimedia/faac/files/build-fix.patch
new file mode 100644
index 000000000..83cff8f89
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/faac/files/build-fix.patch
@@ -0,0 +1,332 @@
1Patch fixing build error and warnings. Error consisted of redefining
2strcasestr function from string.h. Warnings consisted of deprecated conversions
3of string constants to char*, using '%llu' for type uint64_t (which on 64 bit
4systems, is defined as unsigned long int by stdint.h), and using '==' for
5equality of two strings.
6
7Patch originally from Debian.
8
9Upstream-Status: Pending
10
11==========================================================================
12--- a/common/mp4v2/mpeg4ip.h
13+++ b/common/mp4v2/mpeg4ip.h
14@@ -120,14 +120,6 @@
15 #endif
16 #include <sys/param.h>
17
18-#ifdef __cplusplus
19-extern "C" {
20-#endif
21-char *strcasestr(const char *haystack, const char *needle);
22-#ifdef __cplusplus
23-}
24-#endif
25-
26 #define OPEN_RDWR O_RDWR
27 #define OPEN_CREAT O_CREAT
28 #define OPEN_RDONLY O_RDONLY
29@@ -135,7 +127,6 @@
30 #define closesocket close
31 #define IOSBINARY ios::bin
32
33-#if SIZEOF_LONG == 8
34 #define MAX_UINT64 -1LU
35 #define D64F "ld"
36 #define U64F "lu"
37@@ -143,15 +134,6 @@
38
39 #define TO_D64(a) (a##L)
40 #define TO_U64(a) (a##LU)
41-#else
42-#define MAX_UINT64 -1LLU
43-#define D64F "lld"
44-#define U64F "llu"
45-#define X64F "llx"
46-
47-#define TO_D64(a) (a##LL)
48-#define TO_U64(a) (a##LLU)
49-#endif
50
51 #ifdef HAVE_FPOS_T___POS
52 #define FPOS_TO_VAR(fpos, typed, var) (var) = (typed)((fpos).__pos)
53--- a/configure.in
54+++ b/configure.in
55@@ -4,6 +4,9 @@
56 AM_INIT_AUTOMAKE
57
58 AM_CONFIG_HEADER(config.h)
59+AH_TOP([#ifndef CONFIG_H
60+#define CONFIG_H])
61+AH_BOTTOM([#endif /* CONFIG_H */])
62
63 AC_ARG_WITH( mp4v2, [ --with-mp4v2 compile libmp4v2],WITHMP4V2=$withval, WITHMP4V2=yes)
64 AC_ARG_ENABLE( drm, [ --enable-drm Digital Radio Mondiale support], enable_drm=$enableval, enable_drm=no)
65--- a/common/mp4v2/atom_avcC.cpp
66+++ b/common/mp4v2/atom_avcC.cpp
67@@ -29,7 +29,7 @@
68 class SizeTableProperty : public MP4TableProperty
69 {
70 public:
71- SizeTableProperty(char *name, MP4IntegerProperty *pCountProperty) :
72+ SizeTableProperty(const char *name, MP4IntegerProperty *pCountProperty) :
73 MP4TableProperty(name, pCountProperty) {};
74 protected:
75 void ReadEntry(MP4File *pFile, u_int32_t index) {
76--- a/common/mp4v2/atom_ohdr.cpp
77+++ b/common/mp4v2/atom_ohdr.cpp
78@@ -21,7 +21,7 @@
79 \param useCountedFormat counted format flag.
80 \param useUnicode unicode flag.
81 */
82- OhdrMP4StringProperty(char* name, bool useCountedFormat = false,
83+ OhdrMP4StringProperty(const char* name, bool useCountedFormat = false,
84 bool useUnicode = false): MP4StringProperty(name, useCountedFormat,
85 useUnicode) {
86 }
87--- a/common/mp4v2/atom_stz2.cpp
88+++ b/common/mp4v2/atom_stz2.cpp
89@@ -30,7 +30,7 @@
90 class MP4HalfSizeTableProperty : public MP4TableProperty
91 {
92 public:
93- MP4HalfSizeTableProperty(char *name, MP4IntegerProperty *pCountProperty) :
94+ MP4HalfSizeTableProperty(const char *name, MP4IntegerProperty *pCountProperty) :
95 MP4TableProperty(name, pCountProperty) {};
96
97 // The count is half the actual size
98--- a/common/mp4v2/mp4atom.cpp
99+++ b/common/mp4v2/mp4atom.cpp
100@@ -806,7 +806,7 @@
101 AddProperty(new MP4Integer24Property("flags"));
102 }
103
104-void MP4Atom::AddReserved(char* name, u_int32_t size)
105+void MP4Atom::AddReserved(const char* name, u_int32_t size)
106 {
107 MP4BytesProperty* pReserved = new MP4BytesProperty(name, size);
108 pReserved->SetReadOnly();
109--- a/common/mp4v2/mp4atom.h
110+++ b/common/mp4v2/mp4atom.h
111@@ -204,7 +204,7 @@
112
113 void AddVersionAndFlags();
114
115- void AddReserved(char* name, u_int32_t size);
116+ void AddReserved(const char* name, u_int32_t size);
117
118 void ExpectChildAtom(const char* name,
119 bool mandatory, bool onlyOne = true);
120--- a/common/mp4v2/mp4file.cpp
121+++ b/common/mp4v2/mp4file.cpp
122@@ -718,7 +718,7 @@
123 }
124 }
125
126-void MP4File::ProtectWriteOperation(char* where)
127+void MP4File::ProtectWriteOperation(const char* where)
128 {
129 if (m_mode == 'r') {
130 throw new MP4Error("operation not permitted in read mode", where);
131@@ -1274,7 +1274,7 @@
132 }
133
134 // NULL terminated list of brands which require the IODS atom
135-char *brandsWithIods[] = { "mp42",
136+const char *brandsWithIods[] = { "mp42",
137 "isom",
138 NULL};
139
140@@ -2211,11 +2211,11 @@
141 for (u_int32_t i = 0; i < m_pTracks.Size(); i++) {
142 if (!strcmp(normType, m_pTracks[i]->GetType())) {
143 if (subType) {
144- if (normType == MP4_AUDIO_TRACK_TYPE) {
145+ if (!strcmp(normType,MP4_AUDIO_TRACK_TYPE)) {
146 if (subType != GetTrackEsdsObjectTypeId(m_pTracks[i]->GetId())) {
147 continue;
148 }
149- } else if (normType == MP4_VIDEO_TRACK_TYPE) {
150+ } else if (!strcmp(normType,MP4_VIDEO_TRACK_TYPE)) {
151 if (subType != GetTrackEsdsObjectTypeId(m_pTracks[i]->GetId())) {
152 continue;
153 }
154@@ -2278,11 +2278,11 @@
155 for (u_int32_t i = 0; i < m_pTracks.Size(); i++) {
156 if (!strcmp(normType, m_pTracks[i]->GetType())) {
157 if (subType) {
158- if (normType == MP4_AUDIO_TRACK_TYPE) {
159+ if (!strcmp(normType,MP4_AUDIO_TRACK_TYPE)) {
160 if (subType != GetTrackEsdsObjectTypeId(m_pTracks[i]->GetId())) {
161 continue;
162 }
163- } else if (normType == MP4_VIDEO_TRACK_TYPE) {
164+ } else if (!strcmp(normType,MP4_VIDEO_TRACK_TYPE)) {
165 if (subType != GetTrackEsdsObjectTypeId(m_pTracks[i]->GetId())) {
166 continue;
167 }
168--- a/common/mp4v2/mp4file.h
169+++ b/common/mp4v2/mp4file.h
170@@ -700,7 +700,7 @@
171 const char* TempFileName();
172 void Rename(const char* existingFileName, const char* newFileName);
173
174- void ProtectWriteOperation(char* where);
175+ void ProtectWriteOperation(const char* where);
176
177 void FindIntegerProperty(const char* name,
178 MP4Property** ppProperty, u_int32_t* pIndex = NULL);
179--- a/common/mp4v2/mp4property.cpp
180+++ b/common/mp4v2/mp4property.cpp
181@@ -313,7 +313,7 @@
182
183 // MP4StringProperty
184
185-MP4StringProperty::MP4StringProperty(char* name,
186+MP4StringProperty::MP4StringProperty(const char* name,
187 bool useCountedFormat, bool useUnicode)
188 : MP4Property(name)
189 {
190@@ -420,7 +420,7 @@
191
192 // MP4BytesProperty
193
194-MP4BytesProperty::MP4BytesProperty(char* name, u_int32_t valueSize,
195+MP4BytesProperty::MP4BytesProperty(const char* name, u_int32_t valueSize,
196 u_int32_t defaultValueSize)
197 : MP4Property(name)
198 {
199@@ -549,7 +549,7 @@
200
201 // MP4TableProperty
202
203-MP4TableProperty::MP4TableProperty(char* name, MP4IntegerProperty* pCountProperty)
204+MP4TableProperty::MP4TableProperty(const char* name, MP4IntegerProperty* pCountProperty)
205 : MP4Property(name)
206 {
207 m_pCountProperty = pCountProperty;
208@@ -725,7 +725,7 @@
209
210 // MP4DescriptorProperty
211
212-MP4DescriptorProperty::MP4DescriptorProperty(char* name,
213+MP4DescriptorProperty::MP4DescriptorProperty(const char* name,
214 u_int8_t tagsStart, u_int8_t tagsEnd, bool mandatory, bool onlyOne)
215 : MP4Property(name)
216 {
217--- a/common/mp4v2/mp4property.h
218+++ b/common/mp4v2/mp4property.h
219@@ -100,7 +100,7 @@
220
221 class MP4IntegerProperty : public MP4Property {
222 protected:
223- MP4IntegerProperty(char* name)
224+ MP4IntegerProperty(const char* name)
225 : MP4Property(name) { };
226
227 public:
228@@ -118,7 +118,7 @@
229 #define MP4INTEGER_PROPERTY_DECL2(isize, xsize) \
230 class MP4Integer##xsize##Property : public MP4IntegerProperty { \
231 public: \
232- MP4Integer##xsize##Property(char* name) \
233+ MP4Integer##xsize##Property(const char* name) \
234 : MP4IntegerProperty(name) { \
235 SetCount(1); \
236 m_values[0] = 0; \
237@@ -188,7 +188,7 @@
238
239 class MP4BitfieldProperty : public MP4Integer64Property {
240 public:
241- MP4BitfieldProperty(char* name, u_int8_t numBits)
242+ MP4BitfieldProperty(const char* name, u_int8_t numBits)
243 : MP4Integer64Property(name) {
244 ASSERT(numBits != 0);
245 ASSERT(numBits <= 64);
246@@ -213,7 +213,7 @@
247
248 class MP4Float32Property : public MP4Property {
249 public:
250- MP4Float32Property(char* name)
251+ MP4Float32Property(const char* name)
252 : MP4Property(name) {
253 m_useFixed16Format = false;
254 m_useFixed32Format = false;
255@@ -280,7 +280,7 @@
256
257 class MP4StringProperty : public MP4Property {
258 public:
259- MP4StringProperty(char* name,
260+ MP4StringProperty(const char* name,
261 bool useCountedFormat = false, bool useUnicode = false);
262
263 ~MP4StringProperty();
264@@ -355,7 +355,7 @@
265
266 class MP4BytesProperty : public MP4Property {
267 public:
268- MP4BytesProperty(char* name, u_int32_t valueSize = 0,
269+ MP4BytesProperty(const char* name, u_int32_t valueSize = 0,
270 u_int32_t defaultValueSize = 0);
271
272 ~MP4BytesProperty();
273@@ -419,7 +419,7 @@
274
275 class MP4TableProperty : public MP4Property {
276 public:
277- MP4TableProperty(char* name, MP4IntegerProperty* pCountProperty);
278+ MP4TableProperty(const char* name, MP4IntegerProperty* pCountProperty);
279
280 ~MP4TableProperty();
281
282@@ -469,7 +469,7 @@
283
284 class MP4DescriptorProperty : public MP4Property {
285 public:
286- MP4DescriptorProperty(char* name = NULL,
287+ MP4DescriptorProperty(const char* name = NULL,
288 u_int8_t tagsStart = 0, u_int8_t tagsEnd = 0,
289 bool mandatory = false, bool onlyOne = false);
290
291@@ -531,7 +531,7 @@
292
293 class MP4QosQualifierProperty : public MP4DescriptorProperty {
294 public:
295- MP4QosQualifierProperty(char* name = NULL,
296+ MP4QosQualifierProperty(const char* name = NULL,
297 u_int8_t tagsStart = 0, u_int8_t tagsEnd = 0,
298 bool mandatory = false, bool onlyOne = false) :
299 MP4DescriptorProperty(name, tagsStart, tagsEnd, mandatory, onlyOne) { }
300--- a/common/mp4v2/mp4track.cpp
301+++ b/common/mp4v2/mp4track.cpp
302@@ -1360,7 +1360,7 @@
303 }
304 }
305
306-MP4Atom* MP4Track::AddAtom(char* parentName, char* childName)
307+MP4Atom* MP4Track::AddAtom(const char* parentName, const char* childName)
308 {
309 MP4Atom* pChildAtom = MP4Atom::CreateAtom(childName);
310
311--- a/common/mp4v2/mp4track.h
312+++ b/common/mp4v2/mp4track.h
313@@ -168,7 +168,7 @@
314 void UpdateSyncSamples(MP4SampleId sampleId,
315 bool isSyncSample);
316
317- MP4Atom* AddAtom(char* parentName, char* childName);
318+ MP4Atom* AddAtom(const char* parentName, const char* childName);
319
320 void UpdateDurations(MP4Duration duration);
321 MP4Duration ToMovieDuration(MP4Duration trackDuration);
322--- a/common/mp4v2/ocidescriptors.cpp
323+++ b/common/mp4v2/ocidescriptors.cpp
324@@ -171,7 +171,7 @@
325
326 class MP4CreatorTableProperty : public MP4TableProperty {
327 public:
328- MP4CreatorTableProperty(char* name, MP4Integer8Property* pCountProperty) :
329+ MP4CreatorTableProperty(const char* name, MP4Integer8Property* pCountProperty) :
330 MP4TableProperty(name, pCountProperty) {
331 };
332 protected:
diff --git a/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.6.bb b/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.6.bb
new file mode 100644
index 000000000..b0bc824c5
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.6.bb
@@ -0,0 +1,23 @@
1SUMMARY = "Fluidsynth is a software synthesizer"
2HOMEPAGE = "http://www.fluidsynth.org/"
3SECTION = "libs/multimedia"
4LICENSE = "LGPL-2.0+"
5LIC_FILES_CHKSUM = "file://COPYING;md5=e198e9aac94943d0ec29a7dae8c29416"
6
7DEPENDS = "alsa-lib ncurses glib-2.0"
8
9SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BP}/${BP}.tar.gz"
10SRC_URI[md5sum] = "ae5aca6de824b4173667cbd3a310b263"
11SRC_URI[sha256sum] = "50853391d9ebeda9b4db787efb23f98b1e26b7296dd2bb5d0d96b5bccee2171c"
12
13inherit autotools-brokensep pkgconfig lib_package
14
15PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)}"
16PACKAGECONFIG[sndfile] = "--enable-libsndfile-support,--disable-libsndfile-support,libsndfile1"
17PACKAGECONFIG[jack] = "--enable-jack-support,--disable-jack-support,jack"
18PACKAGECONFIG[pulseaudio] = "--enable-pulse-support,--disable-pulse-support,pulseaudio"
19PACKAGECONFIG[portaudio] = "--enable-portaudio-support,--disable-portaudio-support,portaudio"
20
21do_configure_prepend () {
22 rm -f ${S}/m4/*
23}
diff --git a/meta-multimedia/recipes-multimedia/gstreamer/gst-rtsp/0001-change-deprecated-INCLUDES-to-AM_CPPFLAGS-for-automa.patch b/meta-multimedia/recipes-multimedia/gstreamer/gst-rtsp/0001-change-deprecated-INCLUDES-to-AM_CPPFLAGS-for-automa.patch
new file mode 100644
index 000000000..3afca4ec9
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/gstreamer/gst-rtsp/0001-change-deprecated-INCLUDES-to-AM_CPPFLAGS-for-automa.patch
@@ -0,0 +1,34 @@
1index gst-rtsp_0.10.8/bindings/python/Makefile.am
2--- gst-rtsp_0.10.8.orig/bindings/python/Makefile.am
3+++ gst-rtsp_0.10.8/bindings/python/Makefile.am
4@@ -14,7 +14,7 @@ defs_DATA = $(DEFS)
5 defsdir = $(pkgdatadir)/$(GST_MAJORMINOR)/defs
6 OVERRIDES = rtspserver.override
7
8-INCLUDES = -I$(top_srcdir) -I$(srcdir) $(PYTHON_INCLUDES)
9+AM_CPPFLAGS = -I$(top_srcdir) -I$(srcdir) $(PYTHON_INCLUDES)
10
11 rtspserver_la_CFLAGS = -I$(top_srcdir)/src \
12 $(PYGOBJECT_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS)
13index gst-rtsp_0.10.8/examples/Makefile.am
14--- gst-rtsp_0.10.8.orig/examples/Makefile.am
15+++ gst-rtsp_0.10.8/examples/Makefile.am
16@@ -1,6 +1,6 @@
17 noinst_PROGRAMS = test-video test-ogg test-mp4 test-readme test-launch test-sdp test-uri test-auth
18
19-INCLUDES = -I$(top_srcdir) -I$(srcdir)
20+AM_CPPFLAGS = -I$(top_srcdir) -I$(srcdir)
21
22 AM_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS)
23 AM_LDFLAGS = \
24index gst-rtsp_0.10.8/tests/Makefile.am
25--- gst-rtsp_0.10.8.orig/tests/Makefile.am
26+++ gst-rtsp_0.10.8/tests/Makefile.am
27@@ -1,6 +1,6 @@
28 noinst_PROGRAMS = test-cleanup
29
30-INCLUDES = -I$(top_srcdir) -I$(srcdir)
31+AM_CPPFLAGS = -I$(top_srcdir) -I$(srcdir)
32
33 AM_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS)
34 AM_LDFLAGS = \
diff --git a/meta-multimedia/recipes-multimedia/gstreamer/gst-rtsp_0.10.8.bb b/meta-multimedia/recipes-multimedia/gstreamer/gst-rtsp_0.10.8.bb
new file mode 100644
index 000000000..931865651
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/gstreamer/gst-rtsp_0.10.8.bb
@@ -0,0 +1,16 @@
1SUMMARY = "GStreamer RTSP server"
2LICENSE = "LGPLv2+"
3LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605"
4
5SRC_URI = "http://gstreamer.freedesktop.org/src/${BPN}/${BPN}-${PV}.tar.bz2 \
6 file://0001-change-deprecated-INCLUDES-to-AM_CPPFLAGS-for-automa.patch"
7SRC_URI[md5sum] = "b511af07000595f63c3a705946221643"
8SRC_URI[sha256sum] = "9915887cf8515bda87462c69738646afb715b597613edc7340477ccab63a6617"
9
10DEPENDS = "gst-plugins-base gstreamer"
11
12# Configure always checks for Python so inherit pythonnative. Better solution
13# would be to disable the checks entirely.
14inherit autotools pythonnative gettext
15
16FILES_${PN}-dev += "${datadir}/vala/vapi/"
diff --git a/meta-multimedia/recipes-multimedia/libao/libao_1.1.0.bb b/meta-multimedia/recipes-multimedia/libao/libao_1.1.0.bb
new file mode 100644
index 000000000..1a2260485
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/libao/libao_1.1.0.bb
@@ -0,0 +1,32 @@
1SUMMARY = "Cross-platform audio output library and plugins"
2DESCRIPTION = "Libao is a cross-platform audio library that allows programs to \
3 output audio using a simple API on a wide variety of platforms."
4SECTION = "multimedia"
5HOMEPAGE = "https://www.xiph.org/ao/"
6
7LICENSE = "GPLv2"
8LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
9
10SRC_URI="http://downloads.xiph.org/releases/ao/${BP}.tar.gz"
11SRC_URI[md5sum] = "2b2508c29bc97e4dc218fa162cf883c8"
12SRC_URI[sha256sum] = "29de5bb9b1726ba890455ef7e562d877df87811febb0d99ee69164b88c171bd4"
13
14inherit autotools
15
16PACKAGES_DYNAMIC += "^${BPN}-plugin-.*"
17
18do_install_append () {
19 find "${D}" -name '*.la' -exec rm -f {} +
20}
21
22python populate_packages_prepend () {
23 rootdir = bb.data.expand('${libdir}/ao/plugins-4', d)
24 rootdir_dbg = bb.data.expand('${libdir}/ao/plugins-4/.debug', d)
25 do_split_packages(d, rootdir, '^(.*)\.so$', output_pattern='${BPN}-plugin-%s', description='AO %s plugin')
26 do_split_packages(d, rootdir_dbg, '^(.*)\.so$', output_pattern='${BPN}-plugin-%s-dbg', description='AO %s plugin debug data')
27}
28
29PACKAGECONFIG ?= "${@base_contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d) ${@base_contains('DISTRO_FEATURES', 'alsa', 'alsa', '', d)"
30PACKAGECONFIG[esound] = "--enable-esd,--disable-esd,esound"
31PACKAGECONFIG[alsa] = "--enable-alsa,--disable-alsa,alsa-lib"
32PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio"
diff --git a/meta-multimedia/recipes-multimedia/libdc1394/files/install_examples.patch b/meta-multimedia/recipes-multimedia/libdc1394/files/install_examples.patch
new file mode 100755
index 000000000..89133adec
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/libdc1394/files/install_examples.patch
@@ -0,0 +1,14 @@
1Index: libdc1394/examples/Makefile.am
2===================================================================
3--- libdc1394.orig/examples/Makefile.am 2012-06-30 17:50:46.000000000 -0700
4+++ libdc1394/examples/Makefile.am 2012-06-30 19:02:13.822646430 -0700
5@@ -36,8 +36,7 @@
6 AM_LDFLAGS = -framework CoreFoundation -framework Carbon
7 endif
8
9-noinst_PROGRAMS = $(A)
10-bin_PROGRAMS = $(B)
11+bin_PROGRAMS = $(A) $(B)
12
13 LDADD = ../dc1394/libdc1394.la
14
diff --git a/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_git.bb b/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_git.bb
new file mode 100755
index 000000000..0ea5cb90a
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_git.bb
@@ -0,0 +1,22 @@
1SUMMARY = "Capture and control API for IIDC compliant cameras"
2HOMEPAGE = "http://sourceforge.net/projects/libdc1394/"
3SECTION = "libs"
4LICENSE = "LGPL-2.0"
5LIC_FILES_CHKSUM = "file://COPYING;md5=c848e78d9a4a5cc69906178e4d6fbd64"
6
7# libsdl to provide sdl.m4 with AM_PATH_SDL
8DEPENDS += "libusb1 libraw1394 libsdl"
9
10PV = "2.2.1+gitr${SRCPV}"
11
12SRCREV = "b90342933b4b48634b98b73805f47bd25ed5857e"
13
14SRC_URI = "git://git.code.sf.net/p/libdc1394/code;branch=master;protocol=git \
15 file://install_examples.patch \
16 "
17
18S = "${WORKDIR}/git/${PN}"
19
20inherit autotools-brokensep pkgconfig
21
22EXTRA_OECONF += "--disable-doxygen-doc --disable-examples"
diff --git a/meta-multimedia/recipes-multimedia/mpg123/mpg123_1.21.0.bb b/meta-multimedia/recipes-multimedia/mpg123/mpg123_1.21.0.bb
new file mode 100644
index 000000000..4efdeab6e
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/mpg123/mpg123_1.21.0.bb
@@ -0,0 +1,51 @@
1SUMMARY = "Audio decoder for MPEG-1 Layer 1/2/3"
2DESCRIPTION = "The core of mpg123 is an MPEG-1 Layer 1/2/3 decoding library, which can be used by other programs. \
3mpg123 also comes with a command-line tool which can playback using ALSA, PulseAudio, OSS, and several other APIs, \
4and also can write the decoded audio to WAV."
5HOMEPAGE = "http://mpg123.de/"
6BUGTRACKER = "http://sourceforge.net/p/mpg123/bugs/"
7SECTION = "multimedia"
8
9DEPENDS = "tslib audiofile"
10
11# The options should be mutually exclusive for configuration script.
12# If both alsa and pulseaudio are specified (as in the default distro features)
13# pulseaudio takes precedence.
14PACKAGECONFIG_ALSA = "${@base_contains('DISTRO_FEATURES', 'alsa', 'alsa', '', d)}"
15PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '${PACKAGECONFIG_ALSA}', d)}"
16PACKAGECONFIG[pulseaudio] = "--with-default-audio=pulse,,pulseaudio"
17PACKAGECONFIG[alsa] = "--with-default-audio=alsa,,alsa-lib"
18PACKAGECONFIG[sdl] = ",,libsdl"
19PACKAGECONFIG[openal] = ",,openal-soft"
20PACKAGECONFIG[jack] = ",,jack"
21PACKAGECONFIG[portaudio] = ",,portaudio-v19"
22PACKAGECONFIG[esd] = ",,esound"
23
24# Following are possible sound output modules
25#alsa tinyalsa oss coreaudio sndio sun win32 win32_wasapi os2 esd jack portaudio pulse sdl nas arts openal dummy
26AUDIOMODS += "${@base_contains('PACKAGECONFIG', 'alsa', 'alsa', '', d)}"
27AUDIOMODS += "${@base_contains('PACKAGECONFIG', 'pulseaudio', 'pulse', '', d)}"
28AUDIOMODS += "${@base_contains('PACKAGECONFIG', 'sdl', 'sdl', '', d)}"
29AUDIOMODS += "${@base_contains('PACKAGECONFIG', 'openal', 'openal', '', d)}"
30AUDIOMODS += "${@base_contains('PACKAGECONFIG', 'jack', 'jack', '', d)}"
31AUDIOMODS += "${@base_contains('PACKAGECONFIG', 'portaudio', 'portaudio', '', d)}"
32AUDIOMODS += "${@base_contains('PACKAGECONFIG', 'esd', 'esd', '', d)}"
33
34LICENSE = "LGPLv2.1"
35LICENSE_FLAGS = "commercial"
36LIC_FILES_CHKSUM = "file://COPYING;md5=1e86753638d3cf2512528b99079bc4f3"
37
38SRC_URI = "${SOURCEFORGE_MIRROR}/mpg123/mpg123/${PV}/${BP}.tar.bz2"
39SRC_URI[md5sum] = "13a9df5d4e7aa110e4ae27cf30128ce9"
40SRC_URI[sha256sum] = "3ad197f77c9ffdf3601e1c3183ae0709ccb3c3de68309527ce9375fcfb15dcba"
41
42inherit autotools pkgconfig
43
44EXTRA_OECONF = " \
45 --enable-shared \
46 --with-audio='${AUDIOMODS}' \
47 --with-module-suffix=.so \
48 ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-cpu=neon', '', d)} \
49 ${@bb.utils.contains('TUNE_FEATURES', 'altivec', '--with-cpu=altivec', '', d)} \
50"
51
diff --git a/meta-multimedia/recipes-multimedia/musicbrainz/files/allow-libdir-override.patch b/meta-multimedia/recipes-multimedia/musicbrainz/files/allow-libdir-override.patch
new file mode 100644
index 000000000..d59d12e69
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/musicbrainz/files/allow-libdir-override.patch
@@ -0,0 +1,21 @@
1Allow LIB_INSTALL_DIR to be set by the the cmake configure invocation. We dont
2easily have a way of determining something that patches ${LIB_SUFFIX} so we'll
3set LIB_INSTALL_DIR.
4
5Upstream-Status: Inappropriate [configuration]
6
7Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
8
9Index: libmusicbrainz-3.0.3/CMakeLists.txt
10===================================================================
11--- libmusicbrainz-3.0.3.orig/CMakeLists.txt
12+++ libmusicbrainz-3.0.3/CMakeLists.txt
13@@ -26,7 +26,7 @@ FIND_PACKAGE(DiscId)
14 SET(LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)")
15 SET(EXEC_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} CACHE PATH "Installation prefix for executables and object code libraries" FORCE)
16 SET(BIN_INSTALL_DIR ${EXEC_INSTALL_PREFIX}/bin CACHE PATH "Installation prefix for user executables" FORCE)
17-SET(LIB_INSTALL_DIR ${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX} CACHE PATH "Installation prefix for object code libraries" FORCE)
18+SET(LIB_INSTALL_DIR ${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX} CACHE PATH "Installation prefix for object code libraries")
19 SET(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/include CACHE PATH "Installation prefix for C header files" FORCE)
20
21 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libmusicbrainz3.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/libmusicbrainz3.pc)
diff --git a/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb b/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb
new file mode 100644
index 000000000..a6a4f6a8a
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb
@@ -0,0 +1,41 @@
1SUMMARY = "MusicBrainz client library"
2DESCRIPTION = "The MusicBrainz client is a library which can be built into other programs. The library allows you to access the data held on the MusicBrainz server."
3HOMEPAGE = "http://musicbrainz.org"
4LICENSE = "LGPLv2.1+"
5LIC_FILES_CHKSUM = "file://COPYING.txt;md5=fbc093901857fcd118f065f900982c24"
6DEPENDS = "expat neon neon-native"
7
8PV = "5.0.1+git${SRCPV}"
9PR = "r1"
10
11SRCREV = "0749dd0a35b4a54316da064475863a4ac6e28e7e"
12SRC_URI = "git://github.com/metabrainz/libmusicbrainz.git \
13 file://allow-libdir-override.patch "
14
15S = "${WORKDIR}/git"
16
17LDFLAGS_prepend_libc-uclibc = " -lpthread "
18
19inherit cmake pkgconfig
20
21do_configure_prepend() {
22 # The native build really doesn't like being rebuilt, so delete
23 # it if it's already present. Also delete all other files not
24 # known to Git to fix subsequent invocations of do_configure.
25 git clean -dfx -e /.pc/ -e /patches/ .
26 mkdir build-native
27 cd build-native
28 cmake -DCMAKE_C_FLAGS=${BUILD_CFLAGS} \
29 -DCMAKE_C_COMPILER=${BUILD_CC} \
30 -DCMAKE_CXX_FLAGS=${BUILD_CXXFLAGS} \
31 -DCMAKE_CXX_COMPILER=${BUILD_CXX} \
32 ..
33 make make-c-interface
34 cd ..
35}
36
37EXTRA_OECMAKE = "-DLIB_INSTALL_DIR:PATH=${libdir} \
38 -DIMPORT_EXECUTABLES=build-native/ImportExecutables.cmake"
39
40# out-of-tree building doesn't appear to work for this package.
41B = "${S}"
diff --git a/meta-multimedia/recipes-multimedia/musicpd/libmpd-11.8.17/glibc-2.20.patch b/meta-multimedia/recipes-multimedia/musicpd/libmpd-11.8.17/glibc-2.20.patch
new file mode 100644
index 000000000..4a2b25cdd
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/musicpd/libmpd-11.8.17/glibc-2.20.patch
@@ -0,0 +1,10 @@
1--- libmpd-11.8.17/src/libmpd-internal.h.orig 2014-09-30 04:08:50.963292427 +0200
2+++ libmpd-11.8.17/src/libmpd-internal.h 2014-09-30 04:08:30.595292223 +0200
3@@ -21,6 +21,7 @@
4 #define __MPD_INTERNAL_LIB_
5
6 #include "libmpdclient.h"
7+#include "config.h"
8 struct _MpdData_real;
9
10 typedef struct _MpdData_real {
diff --git a/meta-multimedia/recipes-multimedia/musicpd/libmpd_11.8.17.bb b/meta-multimedia/recipes-multimedia/musicpd/libmpd_11.8.17.bb
new file mode 100644
index 000000000..54d79109d
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/musicpd/libmpd_11.8.17.bb
@@ -0,0 +1,13 @@
1SUMMARY = "Music Player Daemon library"
2LICENSE = "GPLv2"
3LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
4HOMEPAGE ="http://sourceforge.net/projects/musicpd"
5DEPENDS = "glib-2.0"
6
7SRC_URI = "http://www.musicpd.org/download/${BPN}/${PV}/${BP}.tar.gz \
8 file://glibc-2.20.patch \
9"
10SRC_URI[md5sum] = "5ae3d87467d52aef3345407adb0a2488"
11SRC_URI[sha256sum] = "fe20326b0d10641f71c4673fae637bf9222a96e1712f71f170fca2fc34bf7a83"
12
13inherit autotools pkgconfig
diff --git a/meta-multimedia/recipes-multimedia/musicpd/mpd/mpd.conf.in b/meta-multimedia/recipes-multimedia/musicpd/mpd/mpd.conf.in
new file mode 100644
index 000000000..f9f92c98b
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/musicpd/mpd/mpd.conf.in
@@ -0,0 +1,420 @@
1# An example configuration file for MPD
2# See the mpd.conf man page for a more detailed description of each parameter.
3
4
5# Files and directories #######################################################
6#
7# This setting controls the top directory which MPD will search to discover the
8# available audio files and add them to the daemon's online database. This
9# setting defaults to the XDG directory, otherwise the music directory will be
10# be disabled and audio files will only be accepted over ipc socket (using
11# file:// protocol) or streaming files over an accepted protocol.
12#
13music_directory "%music_directory%"
14#
15# This setting sets the MPD internal playlist directory. The purpose of this
16# directory is storage for playlists created by MPD. The server will use
17# playlist files not created by the server but only if they are in the MPD
18# format. This setting defaults to playlist saving being disabled.
19#
20playlist_directory "%playlist_directory%"
21#
22# This setting sets the location of the MPD database. This file is used to
23# load the database at server start up and store the database while the
24# server is not up. This setting defaults to disabled which will allow
25# MPD to accept files over ipc socket (using file:// protocol) or streaming
26# files over an accepted protocol.
27#
28db_file "%db_file%"
29#
30# These settings are the locations for the daemon log files for the daemon.
31# These logs are great for troubleshooting, depending on your log_level
32# settings.
33#
34# The special value "syslog" makes MPD use the local syslog daemon. This
35# setting defaults to logging to syslog, otherwise logging is disabled.
36#
37log_file "%log_file%"
38#
39# This setting sets the location of the file which stores the process ID
40# for use of mpd --kill and some init scripts. This setting is disabled by
41# default and the pid file will not be stored.
42#
43#pid_file "/var/run/mpd/mpd.pid"
44#
45# This setting sets the location of the file which contains information about
46# most variables to get MPD back into the same general shape it was in before
47# it was brought down. This setting is disabled by default and the server
48# state will be reset on server start up.
49#
50state_file "%state_file%"
51#
52# The location of the sticker database. This is a database which
53# manages dynamic information attached to songs.
54#
55#sticker_file "~/.mpd/sticker.sql"
56#
57###############################################################################
58
59
60# General music daemon options ################################################
61#
62# This setting specifies the user that MPD will run as. MPD should never run as
63# root and you may use this setting to make MPD change its user ID after
64# initialization. This setting is disabled by default and MPD is run as the
65# current user.
66#
67user "mpd"
68#
69# This setting specifies the group that MPD will run as. If not specified
70# primary group of user specified with "user" setting will be used (if set).
71# This is useful if MPD needs to be a member of group such as "audio" to
72# have permission to use sound card.
73#
74group "audio"
75#
76# This setting sets the address for the daemon to listen on. Careful attention
77# should be paid if this is assigned to anything other then the default, any.
78# This setting can deny access to control of the daemon.
79#
80# For network
81bind_to_address "any"
82#
83# And for Unix Socket
84#bind_to_address "~/.mpd/socket"
85#
86# This setting is the TCP port that is desired for the daemon to get assigned
87# to.
88#
89#port "6600"
90#
91# This setting controls the type of information which is logged. Available
92# setting arguments are "default", "secure" or "verbose". The "verbose" setting
93# argument is recommended for troubleshooting, though can quickly stretch
94# available resources on limited hardware storage.
95#
96#log_level "default"
97#
98# If you have a problem with your MP3s ending abruptly it is recommended that
99# you set this argument to "no" to attempt to fix the problem. If this solves
100# the problem, it is highly recommended to fix the MP3 files with vbrfix
101# (available from <http://www.willwap.co.uk/Programs/vbrfix.php>), at which
102# point gapless MP3 playback can be enabled.
103#
104#gapless_mp3_playback "yes"
105#
106# This setting enables MPD to create playlists in a format usable by other
107# music players.
108#
109#save_absolute_paths_in_playlists "no"
110#
111# This setting defines a list of tag types that will be extracted during the
112# audio file discovery process. Optionally, 'comment' can be added to this
113# list.
114#
115#metadata_to_use "artist,album,title,track,name,genre,date,composer,performer,disc"
116#
117# This setting enables automatic update of MPD's database when files in
118# music_directory are changed.
119#
120#auto_update "yes"
121#
122# Limit the depth of the directories being watched, 0 means only watch
123# the music directory itself. There is no limit by default.
124#
125#auto_update_depth "3"
126#
127###############################################################################
128
129
130# Symbolic link behavior ######################################################
131#
132# If this setting is set to "yes", MPD will discover audio files by following
133# symbolic links outside of the configured music_directory.
134#
135#follow_outside_symlinks "yes"
136#
137# If this setting is set to "yes", MPD will discover audio files by following
138# symbolic links inside of the configured music_directory.
139#
140#follow_inside_symlinks "yes"
141#
142###############################################################################
143
144
145# Zeroconf / Avahi Service Discovery ##########################################
146#
147# If this setting is set to "yes", service information will be published with
148# Zeroconf / Avahi.
149#
150#zeroconf_enabled "yes"
151#
152# The argument to this setting will be the Zeroconf / Avahi unique name for
153# this MPD server on the network.
154#
155#zeroconf_name "Music Player"
156#
157###############################################################################
158
159
160# Permissions #################################################################
161#
162# If this setting is set, MPD will require password authorization. The password
163# can setting can be specified multiple times for different password profiles.
164#
165#password "password@read,add,control,admin"
166#
167# This setting specifies the permissions a user has who has not yet logged in.
168#
169#default_permissions "read,add,control,admin"
170#
171###############################################################################
172
173
174# Input #######################################################################
175#
176
177input {
178 plugin "curl"
179# proxy "proxy.isp.com:8080"
180# proxy_user "user"
181# proxy_password "password"
182}
183
184#
185###############################################################################
186
187# Audio Output ################################################################
188#
189# MPD supports various audio output types, as well as playing through multiple
190# audio outputs at the same time, through multiple audio_output settings
191# blocks. Setting this block is optional, though the server will only attempt
192# autodetection for one sound card.
193#
194# See <http://mpd.wikia.com/wiki/Configuration#Audio_Outputs> for examples of
195# other audio outputs.
196#
197# board specific examples #####################################################
198# (feel free to add futher)
199#
200# gumstix overo (tested with TOBI expansion board)
201#audio_output {
202# type "alsa"
203# name "overo"
204# mixer_control "Headset"
205# mixer_index "0"
206#}
207#
208# general examples ############################################################
209#
210# An example of an ALSA output:
211#
212#audio_output {
213# type "alsa"
214# name "My ALSA Device"
215## device "hw:0,0" # optional
216## format "44100:16:2" # optional
217## mixer_type "hardware" # optional
218## mixer_device "default" # optional
219## mixer_control "PCM" # optional
220## mixer_index "0" # optional
221#}
222#
223# An example of an OSS output:
224#
225#audio_output {
226# type "oss"
227# name "My OSS Device"
228## device "/dev/dsp" # optional
229## format "44100:16:2" # optional
230## mixer_type "hardware" # optional
231## mixer_device "/dev/mixer" # optional
232## mixer_control "PCM" # optional
233#}
234#
235# An example of a shout output (for streaming to Icecast):
236#
237#audio_output {
238# type "shout"
239# encoding "ogg" # optional
240# name "My Shout Stream"
241# host "localhost"
242# port "8000"
243# mount "/mpd.ogg"
244# password "hackme"
245# quality "5.0"
246# bitrate "128"
247# format "44100:16:1"
248## protocol "icecast2" # optional
249## user "source" # optional
250## description "My Stream Description" # optional
251## genre "jazz" # optional
252## public "no" # optional
253## timeout "2" # optional
254## mixer_type "software" # optional
255#}
256#
257# An example of a recorder output:
258#
259#audio_output {
260# type "recorder"
261# name "My recorder"
262# encoder "vorbis" # optional, vorbis or lame
263# path "/var/lib/mpd/recorder/mpd.ogg"
264## quality "5.0" # do not define if bitrate is defined
265# bitrate "128" # do not define if quality is defined
266# format "44100:16:1"
267#}
268#
269# An example of a httpd output (built-in HTTP streaming server):
270#
271#audio_output {
272# type "httpd"
273# name "My HTTP Stream"
274# encoder "vorbis" # optional, vorbis or lame
275# port "8000"
276# bind_to_address "0.0.0.0" # optional, IPv4 or IPv6
277## quality "5.0" # do not define if bitrate is defined
278# bitrate "128" # do not define if quality is defined
279# format "44100:16:1"
280# max_clients "0" # optional 0=no limit
281#}
282#
283# An example of a pulseaudio output (streaming to a remote pulseaudio server)
284#
285#audio_output {
286# type "pulse"
287# name "My Pulse Output"
288## server "remote_server" # optional
289## sink "remote_server_sink" # optional
290#}
291#
292## Example "pipe" output:
293#
294#audio_output {
295# type "pipe"
296# name "my pipe"
297# command "aplay -f cd 2>/dev/null"
298## Or if you're want to use AudioCompress
299# command "AudioCompress -m | aplay -f cd 2>/dev/null"
300## Or to send raw PCM stream through PCM:
301# command "nc example.org 8765"
302# format "44100:16:2"
303#}
304#
305## An example of a null output (for no audio output):
306#
307#audio_output {
308# type "null"
309# name "My Null Output"
310# mixer_type "none" # optional
311#}
312#
313# This setting will change all decoded audio to be converted to the specified
314# format before being passed to the audio outputs. By default, this setting is
315# disabled.
316#
317#audio_output_format "44100:16:2"
318#
319# If MPD has been compiled with libsamplerate support, this setting specifies
320# the sample rate converter to use. Possible values can be found in the
321# mpd.conf man page or the libsamplerate documentation. By default, this is
322# setting is disabled.
323#
324#samplerate_converter "Fastest Sinc Interpolator"
325#
326###############################################################################
327
328
329# Normalization automatic volume adjustments ##################################
330#
331# This setting specifies the type of ReplayGain to use. This setting can have
332# the argument "off", "album" or "track". See <http://www.replaygain.org>
333# for more details. This setting is off by default.
334#
335#replaygain "album"
336#
337# This setting sets the pre-amp used for files that have ReplayGain tags. By
338# default this setting is disabled.
339#
340#replaygain_preamp "0"
341#
342# This setting enables on-the-fly normalization volume adjustment. This will
343# result in the volume of all playing audio to be adjusted so the output has
344# equal "loudness". This setting is disabled by default.
345#
346#volume_normalization "no"
347#
348###############################################################################
349
350
351# MPD Internal Buffering ######################################################
352#
353# This setting adjusts the size of internal decoded audio buffering. Changing
354# this may have undesired effects. Don't change this if you don't know what you
355# are doing.
356#
357#audio_buffer_size "2048"
358#
359# This setting controls the percentage of the buffer which is filled before
360# beginning to play. Increasing this reduces the chance of audio file skipping,
361# at the cost of increased time prior to audio playback.
362#
363#buffer_before_play "10%"
364#
365###############################################################################
366
367
368# Resource Limitations ########################################################
369#
370# These settings are various limitations to prevent MPD from using too many
371# resources. Generally, these settings should be minimized to prevent security
372# risks, depending on the operating resources.
373#
374#connection_timeout "60"
375#max_connections "10"
376#max_playlist_length "16384"
377#max_command_list_size "2048"
378#max_output_buffer_size "8192"
379#
380###############################################################################
381
382
383# Character Encoding ##########################################################
384#
385# If file or directory names do not display correctly for your locale then you
386# may need to modify this setting.
387#
388#filesystem_charset "UTF-8"
389#
390# This setting controls the encoding that ID3v1 tags should be converted from.
391#
392#id3v1_encoding "ISO-8859-1"
393#
394###############################################################################
395
396
397# SIDPlay decoder #############################################################
398#
399# songlength_database:
400# Location of your songlengths file, as distributed with the HVSC.
401# The sidplay plugin checks this for matching MD5 fingerprints.
402# See http://www.c64.org/HVSC/DOCUMENTS/Songlengths.faq
403#
404# default_songlength:
405# This is the default playing time in seconds for songs not in the
406# songlength database, or in case you're not using a database.
407# A value of 0 means play indefinitely.
408#
409# filter:
410# Turns the SID filter emulation on or off.
411#
412#decoder {
413# plugin "sidplay"
414# songlength_database "/media/C64Music/DOCUMENTS/Songlengths.txt"
415# default_songlength "120"
416# filter "true"
417#}
418#
419###############################################################################
420
diff --git a/meta-multimedia/recipes-multimedia/musicpd/mpd_0.19.1.bb b/meta-multimedia/recipes-multimedia/musicpd/mpd_0.19.1.bb
new file mode 100644
index 000000000..04eed0aeb
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/musicpd/mpd_0.19.1.bb
@@ -0,0 +1,58 @@
1SUMMARY = "Music Player Daemon"
2LICENSE = "GPLv2"
3LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
4HOMEPAGE ="http://www.musicpd.org"
5
6DEPENDS = "alsa-lib libsamplerate0 libsndfile1 libvorbis libogg faad2 ffmpeg curl sqlite bzip2 pulseaudio tcp-wrappers openal-soft yajl jack faad2 flac libao fluidsynth libcdio wavpack libopus mpg123 libmms libmodplug boost icu dbus expat zlib"
7
8SRC_URI = " \
9 http://www.musicpd.org/download/${BPN}/0.19/${BP}.tar.xz \
10 file://mpd.conf.in \
11"
12SRC_URI[md5sum] = "d235f6e53e5442b6926c49946a303f8d"
13SRC_URI[sha256sum] = "8b3afcd440181c9bd18b229b5974e529d59648344dd371370d6f7d62ec2847c5"
14
15inherit autotools useradd systemd
16
17EXTRA_OECONF = "enable_bzip2=yes"
18EXTRA_OECONF += "${@base_contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/', '--without-systemdsystemunitdir', d)}"
19
20PACKAGECONFIG[mad] = "--enable-mad,--disable-mad,libmad"
21PACKAGECONFIG[id3tag] = "--enable-id3,--disable-id3,libid3tag"
22PACKAGECONFIG[lame] = "--enable-lame-encoder,--disable-lame-encoder,lame"
23
24do_install_append() {
25 install -d ${D}/${localstatedir}/lib/mpd/music
26 chmod 775 ${D}/${localstatedir}/lib/mpd/music
27 install -d ${D}/${localstatedir}/lib/mpd/playlists
28 chown -R mpd ${D}/${localstatedir}/lib/mpd
29 chown mpd:mpd ${D}/${localstatedir}/lib/mpd/music
30
31 install -d ${D}/${sysconfdir}
32 install -m 644 ${WORKDIR}/mpd.conf.in ${D}/${sysconfdir}/mpd.conf
33 sed -i \
34 -e 's|%music_directory%|${localstatedir}/lib/mpd/music|' \
35 -e 's|%playlist_directory%|${localstatedir}/lib/mpd/playlists|' \
36 -e 's|%db_file%|${localstatedir}/lib/mpd/mpd.db|' \
37 -e 's|%log_file%|${localstatedir}/log/mpd.log|' \
38 -e 's|%state_file%|${localstatedir}/lib/mpd/state|' \
39 ${D}/${sysconfdir}/mpd.conf
40
41 if [ -e ${D}/${systemd_unitdir}/system/mpd.service ] ; then
42 sed -i \
43 's|^ExecStart=.*|ExecStart=${bindir}/mpd --no-daemon|' \
44 ${D}/${systemd_unitdir}/system/mpd.service
45 fi
46}
47
48RPROVIDES_${PN} += "${PN}-systemd"
49RREPLACES_${PN} += "${PN}-systemd"
50RCONFLICTS_${PN} += "${PN}-systemd"
51SYSTEMD_SERVICE_${PN} = "mpd.service"
52
53USERADD_PACKAGES = "${PN}"
54USERADD_PARAM_${PN} = " \
55 --system --no-create-home \
56 --home ${localstatedir}/lib/mpd \
57 --groups audio \
58 --user-group mpd"
diff --git a/meta-multimedia/recipes-multimedia/nonworking/gstreamer/files/display.patch b/meta-multimedia/recipes-multimedia/nonworking/gstreamer/files/display.patch
new file mode 100644
index 000000000..61b0e6c87
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/nonworking/gstreamer/files/display.patch
@@ -0,0 +1,60 @@
1Upstream-Status: Backport
2Signed-off-by: Ross Burton <ross.burton@intel.com>
3
4From 3e46d2e501da68d929bb5f26900a292a5fc04a1f Mon Sep 17 00:00:00 2001
5From: Stefan Westerfeld <stefan@space.twc.de>
6Date: Mon, 23 Apr 2012 03:10:22 +0200
7Subject: [PATCH] Fix time display updates (broken by introduction of quiet
8 mode).
9
10---
11 src/gst123.cc | 1 +
12 src/msg.cc | 7 +++++++
13 src/msg.h | 1 +
14 3 files changed, 9 insertions(+)
15
16diff --git a/src/gst123.cc b/src/gst123.cc
17index 20e91e5..ce5876d 100644
18--- a/src/gst123.cc
19+++ b/src/gst123.cc
20@@ -640,6 +640,7 @@ cb_print_position (gpointer *data)
21 else
22 blanks += " ";
23 Msg::print ("%s%s\r", status.c_str(), blanks.c_str());
24+ Msg::flush();
25 }
26
27 /* call me again */
28diff --git a/src/msg.cc b/src/msg.cc
29index 547cd90..33cada2 100644
30--- a/src/msg.cc
31+++ b/src/msg.cc
32@@ -41,6 +41,13 @@ print (const char *format, ...)
33 }
34 }
35
36+void
37+flush()
38+{
39+ if (!Options::the().quiet)
40+ fflush (stdout);
41+}
42+
43 }
44
45 }
46diff --git a/src/msg.h b/src/msg.h
47index e0ced24..5bebac0 100644
48--- a/src/msg.h
49+++ b/src/msg.h
50@@ -27,6 +27,7 @@ namespace Msg
51 {
52
53 void print (const char *format, ...);
54+void flush();
55
56 }
57
58--
591.7.9.5
60
diff --git a/meta-multimedia/recipes-multimedia/nonworking/gstreamer/gst123_0.3.1.bb b/meta-multimedia/recipes-multimedia/nonworking/gstreamer/gst123_0.3.1.bb
new file mode 100644
index 000000000..6c495b20c
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/nonworking/gstreamer/gst123_0.3.1.bb
@@ -0,0 +1,15 @@
1SUMMARY = "Flexible CLI player in the spirit of mpg123, based on GStreamer"
2HOMEPAGE = "http://space.twc.de/~stefan/gst123.php"
3LICENSE = "LGPLv2.1+"
4LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
5 file://src/gst123.cc;beginline=1;endline=19;md5=05d2f5d54b985b986c26af931d2084f8"
6
7DEPENDS = "libx11 gstreamer gst-plugins-base gtk+ ncurses"
8
9SRC_URI = "http://space.twc.de/~stefan/gst123/${BPN}-${PV}.tar.bz2 \
10 file://display.patch"
11
12SRC_URI[md5sum] = "1e77767c9d6fecee5641f95804f160fe"
13SRC_URI[sha256sum] = "89d1de025eca0466c125dcd6a11b64341bdf98ee4c03c3e5a12321d77cb8b0ce"
14
15inherit autotools
diff --git a/meta-multimedia/recipes-multimedia/openal/openal-soft_1.15.1.bb b/meta-multimedia/recipes-multimedia/openal/openal-soft_1.15.1.bb
new file mode 100644
index 000000000..ab038a71b
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/openal/openal-soft_1.15.1.bb
@@ -0,0 +1,23 @@
1SUMMARY = "OpenAL is a cross-platform 3D audio API"
2HOMEPAGE = "http://kcat.strangesoft.net/openal.html"
3LICENSE = "GPLv2"
4LIC_FILES_CHKSUM = "file://COPYING;md5=facc3a8f452930083bbb95d82b989c35"
5
6inherit cmake
7
8SRC_URI = "http://kcat.strangesoft.net/openal-releases/${BP}.tar.bz2"
9SRC_URI[md5sum] = "ea83dec3b9655a27d28e7bc7cae9cd71"
10SRC_URI[sha256sum] = "0e29a162f0841ccb4135ce76e92e8a704589b680a85eddf76f898de5236eb056"
11
12PACKAGECONFIG ?= "\
13 ${@base_contains('DISTRO_FEATURES', 'alsa', 'alsa', '', d)} \
14 ${@base_contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)} \
15"
16PACKAGECONFIG[alsa] = "-DALSA=TRUE, -DALSA=FALSE, alsa-lib"
17PACKAGECONFIG[pulseaudio] = "-DPULSEAUDIO=TRUE, -DPULSEAUDIO=FALSE, pulseaudio"
18# currently doesn't work with libav-9
19# PKG_CHECK_MODULES(FFMPEG libavcodec>=53.61.100 libavformat>=53.32.100 libavutil>=51.35.100)
20# but alffmpeg.c:418:44: error: 'AV_CH_LAYOUT_MONO' undeclared (first use in this function)
21PACKAGECONFIG[examples] = "-DEXAMPLES=TRUE, -DEXAMPLES=FALSE, libav"
22
23FILES_${PN} += "${datadir}/openal"
diff --git a/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump/fix-racing-build-issue.patch b/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump/fix-racing-build-issue.patch
new file mode 100644
index 000000000..bb3d8b0ef
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump/fix-racing-build-issue.patch
@@ -0,0 +1,18 @@
1Make sure libdir (SODIR) is created when running parallel make.
2
3Upstream-Status: Inappropriate [configuration]
4
5Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
6
7Index: git/librtmp/Makefile
8===================================================================
9--- git.orig/librtmp/Makefile
10+++ git/librtmp/Makefile
11@@ -107,6 +107,7 @@ install_base: librtmp.a librtmp.pc
12 cp librtmp.3 $(MANDIR)/man3
13
14 install_so: librtmp.$(SO_EXT)
15+ -mkdir -p $(SODIR)
16 cp librtmp.$(SO_EXT) $(SODIR)
17 cd $(SODIR); ln -sf librtmp.$(SO_EXT) librtmp.$(SOX)
18
diff --git a/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump_2.4.bb b/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump_2.4.bb
new file mode 100644
index 000000000..a1e650243
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump_2.4.bb
@@ -0,0 +1,22 @@
1SUMMARY = "RTMP Dump"
2DESCRIPTION = "rtmpdump is a toolkit for RTMP streams. All forms of RTMP are \
3supported, including rtmp://, rtmpt://, rtmpe://, rtmpte://, and rtmps://."
4HOMEPAGE = "http://rtmpdump.mplayerhq.hu/"
5LICENSE = "GPLv2"
6LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
7
8DEPENDS = "openssl zlib"
9
10SRCREV = "3121324046e4ca1934e7e28293fc8326475d5053"
11SRC_URI = " \
12 git://git.ffmpeg.org/rtmpdump \
13 file://fix-racing-build-issue.patch"
14
15S = "${WORKDIR}/git"
16
17inherit autotools-brokensep
18
19EXTRA_OEMAKE = " \
20 CC='${CC}' LD='${LD} ${STAGING_LIBDIR}' \
21 SYS=posix INC=-I=/usr/include DESTDIR=${D} \
22 prefix=${prefix} libdir=${libdir} incdir=${includedir}/librtmp bindir=${bindir} mandir=${mandir}"
diff --git a/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-1080p.bb b/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-1080p.bb
new file mode 100644
index 000000000..e91ba45c6
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-1080p.bb
@@ -0,0 +1,17 @@
1SUMMARY = "Big Buck Bunny movie - 1080P"
2LICENSE = "CC-BY-3.0"
3# http://www.bigbuckbunny.org/index.php/about/
4LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/CC-BY-3.0;md5=dfa02b5755629022e267f10b9c0a2ab7"
5
6SRC_URI = "http://download.blender.org/peach/bigbuckbunny_movies/big_buck_bunny_1080p_surround.avi"
7SRC_URI[md5sum] = "223991c8b33564eb77988a4c13c1c76a"
8SRC_URI[sha256sum] = "69fe2cfe7154a6e752688e3a0d7d6b07b1605bbaf75b56f6470dc7b4c20c06ea"
9
10inherit allarch
11
12do_install() {
13 install -d ${D}${datadir}/movies
14 install -m 0644 ${WORKDIR}/big_buck_bunny_1080p_surround.avi ${D}${datadir}/movies/
15}
16
17FILES_${PN} += "${datadir}/movies"
diff --git a/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-480p.bb b/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-480p.bb
new file mode 100644
index 000000000..e7029d9b0
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-480p.bb
@@ -0,0 +1,17 @@
1SUMMARY = "Big Buck Bunny movie - 480P"
2LICENSE = "CC-BY-3.0"
3# http://www.bigbuckbunny.org/index.php/about/
4LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/CC-BY-3.0;md5=dfa02b5755629022e267f10b9c0a2ab7"
5
6SRC_URI = "http://download.blender.org/peach/bigbuckbunny_movies/big_buck_bunny_480p_surround-fix.avi"
7SRC_URI[md5sum] = "ed7ed01e9aefba8ddd77c13332cec120"
8SRC_URI[sha256sum] = "40d1cf5bc8e1b0e55dac7bb2e3fbc2aea05b6679444864781299b24db044634f"
9
10inherit allarch
11
12do_install() {
13 install -d ${D}${datadir}/movies
14 install -m 0644 ${WORKDIR}/big_buck_bunny_480p_surround-fix.avi ${D}${datadir}/movies/
15}
16
17FILES_${PN} += "${datadir}/movies"
diff --git a/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-720p.bb b/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-720p.bb
new file mode 100644
index 000000000..55fceabc8
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-720p.bb
@@ -0,0 +1,17 @@
1SUMMARY = "Big Buck Bunny movie - 720P"
2LICENSE = "CC-BY-3.0"
3# http://www.bigbuckbunny.org/index.php/about/
4LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/CC-BY-3.0;md5=dfa02b5755629022e267f10b9c0a2ab7"
5
6SRC_URI = "http://download.blender.org/peach/bigbuckbunny_movies/big_buck_bunny_720p_surround.avi"
7SRC_URI[md5sum] = "0da8fe124595f5b206d64cb1400bbefc"
8SRC_URI[sha256sum] = "b957d6e6212638441b52d3b620af157cc8d40c2a0342669294854a06edcd528c"
9
10inherit allarch
11
12do_install() {
13 install -d ${D}${datadir}/movies
14 install -m 0644 ${WORKDIR}/big_buck_bunny_720p_surround.avi ${D}${datadir}/movies/
15}
16
17FILES_${PN} += "${datadir}/movies"
diff --git a/meta-multimedia/recipes-multimedia/sample-content/tearsofsteel-1080p.bb b/meta-multimedia/recipes-multimedia/sample-content/tearsofsteel-1080p.bb
new file mode 100644
index 000000000..bb7ee7cf7
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/sample-content/tearsofsteel-1080p.bb
@@ -0,0 +1,16 @@
1SUMMARY = "Tears of Steel movie - 1080P"
2LICENSE = "CC-BY-3.0"
3LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/CC-BY-3.0;md5=dfa02b5755629022e267f10b9c0a2ab7"
4
5SRC_URI = "http://ftp.nluug.nl/pub/graphics/blender/demo/movies/ToS/ToS-4k-1920.mov"
6SRC_URI[md5sum] = "e3fee55b1779c553e37b1d3988e6fad6"
7SRC_URI[sha256sum] = "bd2b5bc6c16d4085034f47ef7e4b3938afe86b4eec4ac3cf2685367d3b0b23b0"
8
9inherit allarch
10
11do_install() {
12 install -d ${D}${datadir}/movies
13 install -m 0644 ${WORKDIR}/ToS-4k-1920.mov ${D}${datadir}/movies/
14}
15
16FILES_${PN} += "${datadir}/movies"
diff --git a/meta-multimedia/recipes-multimedia/schroedinger/schroedinger/configure.ac.patch b/meta-multimedia/recipes-multimedia/schroedinger/schroedinger/configure.ac.patch
new file mode 100644
index 000000000..2ed8d22c6
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/schroedinger/schroedinger/configure.ac.patch
@@ -0,0 +1,20 @@
1Use the version of orcc in the sysroot not the one from the host
2
3Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
4Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
5
6Upstream-Status: Inappropriate [configuration]
7
8Index: schroedinger-1.0.9/configure.ac
9===================================================================
10--- schroedinger-1.0.9.orig/configure.ac
11+++ schroedinger-1.0.9/configure.ac
12@@ -54,7 +54,7 @@ if test "x${HAVE_ORC}" != xyes ; then
13 AC_ERROR([orc-0.4 >= $ORC_VER is required])
14 fi
15 SCHRO_PKG_DEPS="$SCHRO_PKG_DEPS orc-0.4 >= $ORC_VER"
16-ORCC=`$PKG_CONFIG --variable=orcc orc-0.4`
17+ORCC=$STAGING_DIR`$PKG_CONFIG --variable=orcc orc-0.4`
18 AC_SUBST(ORCC)
19
20 AC_ARG_WITH([thread],
diff --git a/meta-multimedia/recipes-multimedia/schroedinger/schroedinger_1.0.11.bb b/meta-multimedia/recipes-multimedia/schroedinger/schroedinger_1.0.11.bb
new file mode 100644
index 000000000..d38eb9477
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/schroedinger/schroedinger_1.0.11.bb
@@ -0,0 +1,22 @@
1SUMMARY = "Dirac compressed video encoder/decoder"
2HOMEPAGE = "http://schrodinger.sourceforge.net/"
3LICENSE = "MPL-1.1 | GPLv2 | LGPLv2 | MIT"
4
5LIC_FILES_CHKSUM = "file://COPYING;md5=d91a46405fc074b88c963cc4f2a0aae9 \
6 file://COPYING.GPL;md5=e181e3b7c66f5f96921d813c1074f833 \
7 file://COPYING.LGPL;md5=38c893e21baec4cd75ad800ba9e2410a \
8 file://COPYING.MIT;md5=8b345371b3536b4ce37ead1eafc88221 \
9 file://COPYING.MPL;md5=0117647fecb9a932c25a7bbfc0333c37"
10
11DEPENDS = "liboil orc-native orc"
12
13SRC_URI = "http://www.diracvideo.org/download/schroedinger/${BP}.tar.gz \
14 file://configure.ac.patch"
15
16SRC_URI[md5sum] = "da6af08e564ca1157348fb8d92efc891"
17SRC_URI[sha256sum] = "1e572a0735b92aca5746c4528f9bebd35aa0ccf8619b22fa2756137a8cc9f912"
18
19EXTRA_OECONF += "STAGING_DIR=${STAGING_DIR_NATIVE}"
20
21inherit autotools-brokensep pkgconfig
22
diff --git a/meta-multimedia/recipes-multimedia/sox/sox_14.4.0.bb b/meta-multimedia/recipes-multimedia/sox/sox_14.4.0.bb
new file mode 100644
index 000000000..758fec99b
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/sox/sox_14.4.0.bb
@@ -0,0 +1,35 @@
1DESCRIPTION="SoX is the Swiss Army knife of sound processing tools. \
2It converts audio files among various standard audio file formats \
3and can apply different effects and filters to the audio data."
4HOMEPAGE = "http://sox.sourceforge.net"
5SECTION = "audio"
6
7DEPENDS = "libpng libav libsndfile1 libvorbis"
8
9PR = "r2"
10
11PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)} \
12 ${@base_contains('DISTRO_FEATURES', 'alsa', 'alsa', '', d)} \
13 magic \
14"
15PACKAGECONFIG[pulseaudio] = "--with-pulseaudio=dyn,--with-pulseaudio=no,pulseaudio,"
16PACKAGECONFIG[alsa] = "--with-alsa=dyn,--with-alsa=no,alsa-lib,"
17PACKAGECONFIG[wavpack] = "--with-wavpack=dyn,--with-wavpack=no,wavpack,"
18PACKAGECONFIG[magic] = "--with-magic,--without-magic,file,"
19PACKAGECONFIG[mad] = "--with-mad,--without-mad,libmad,"
20PACKAGECONFIG[id3tag] = "--with-id3tag,--without-id3tag,libid3tag,"
21PACKAGECONFIG[lame] = "--with-lame,--without-lame,lame,"
22PACKAGECONFIG[ao] = "--with-ao,--without-ao,libao,"
23
24LICENSE = "GPLv2 & LGPLv2.1"
25LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=751419260aa954499f7abaabaa882bbe \
26 file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24"
27
28SRC_URI = "${SOURCEFORGE_MIRROR}/sox/sox-${PV}.tar.gz"
29SRC_URI[md5sum] = "b0c15cff7a4ba0ec17fdc74e6a1f9cf1"
30SRC_URI[sha256sum] = "3ee34b14dd267de378e8a117aae81ec4cae330772342e6a55bbf6520a0a88aa3"
31
32inherit autotools
33
34BBCLASSEXTEND = "native"
35
diff --git a/meta-multimedia/recipes-multimedia/vlc/libdvdcss_1.3.0.bb b/meta-multimedia/recipes-multimedia/vlc/libdvdcss_1.3.0.bb
new file mode 100644
index 000000000..79e64aebd
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/vlc/libdvdcss_1.3.0.bb
@@ -0,0 +1,12 @@
1DESCRIPTION = "libdvdcss is a simple library designed for accessing DVDs like a block device without having to bother about the decryption."
2LICENSE = "GPLv2"
3LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
4
5SRC_URI = "http://download.videolan.org/pub/libdvdcss/${PV}/libdvdcss-${PV}.tar.bz2"
6
7inherit autotools
8
9EXTRA_OECONF = " --disable-doc "
10
11SRC_URI[md5sum] = "7f0fdb3ff91d638f5e45ed7536f7eb67"
12SRC_URI[sha256sum] = "7c414acd520c4e4dd7267952f72d738ff50321a7869af4d75c65aefad44f1395"
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc.inc b/meta-multimedia/recipes-multimedia/vlc/vlc.inc
new file mode 100644
index 000000000..1b6f02a6e
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/vlc/vlc.inc
@@ -0,0 +1,86 @@
1DESCRIPTION = "Video player and streamer - davinci edition"
2HOMEPAGE = "http://www.videolan.org"
3SECTION = "multimedia"
4
5LICENSE = "GPL-2.0"
6LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
7
8DEPENDS = "libfribidi libtool libgcrypt libgcrypt-native gst-plugins-bad \
9 virtual/libsdl libsdl-image qt4-x11-free dbus dbus-glib libxml2 gnutls \
10 tremor faad2 ffmpeg flac libxpm libxinerama fluidsynth alsa-lib \
11 libdvdcss libdvdread lua-native lua libidn libnotify gtk+ gnome-vfs \
12 libdc1394 libraw1394 avahi libjpeg-turbo xz libmodplug mpeg2dec \
13 libmtp libopus orc libusb1 schroedinger taglib \
14 tiff xcb-util-keysyms samba"
15
16SRC_URI = "http://download.videolan.org/pub/videolan/${BPN}/${PV}/${BP}.tar.xz"
17
18inherit autotools gettext pkgconfig
19
20ARM_INSTRUCTION_SET = "arm"
21
22EXTRA_OECONF = "\
23 --enable-dvdread \
24 --with-contrib \
25 --enable-run-as-root \
26 --enable-xvideo \
27 --disable-screen --disable-caca \
28 --enable-httpd --enable-vlm \
29 --enable-freetype \
30 --enable-sdl \
31 --enable-png \
32 --enable-tremor \
33 --enable-v4l2 --disable-aa --disable-faad \
34 --enable-dbus \
35 --without-contrib \
36 --without-kde-solid \
37 --disable-glx \
38 --enable-realrtsp \
39 --disable-libtar \
40 ac_cv_path_MOC=${STAGING_BINDIR_NATIVE}/moc4 \
41 ac_cv_path_RCC=${STAGING_BINDIR_NATIVE}/rcc4 \
42 ac_cv_path_UIC=${STAGING_BINDIR_NATIVE}/uic4 \
43"
44
45PACKAGECONFIG ?= " live555"
46PACKAGECONFIG[mad] = "--enable-mad,--disable-mad,libmad"
47PACKAGECONFIG[a52] = "--enable-a52,--disable-a52,liba52"
48PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack"
49PACKAGECONFIG[live555] = "--enable-live555,--disable-live555,live555"
50PACKAGECONFIG[libass] = "--enable-libass,--disable-libass,libass"
51PACKAGECONFIG[mkv] = "--enable-mkv,--disable-mkv,libmatroska libebml"
52PACKAGECONFIG[postproc] = "--enable-postproc,--disable-postproc,libpostproc"
53PACKAGECONFIG[opencv] = "--enable-opencv,--disable-opencv,opencv"
54PACKAGECONFIG[libva] = "--enable-libva --enable-avcodec,--disable-libva --disable-avcodec,libva libav"
55
56do_configure_prepend() {
57 cp ${STAGING_DATADIR}/libtool/config.* ${S}/autotools/ || true
58}
59
60do_configure_append() {
61 sed -i -e s:'$(MOC) $(DEFS) $(CPPFLAGS)':'$(MOC) $(DEFS)'\ -I${B}/include\ -DSYS_LINUX:g ${B}/modules/gui/qt4/Makefile
62 sed -i -e s:'${top_builddir_slash}libtool':${TARGET_SYS}-libtool:g ${B}/doltlibtool
63}
64
65# This recipe packages vlc as a library as well, so qt4 dependencies
66# can be avoided when only the library is installed.
67PACKAGES =+ "libvlc"
68
69LEAD_SONAME_libvlc = "libvlc.so.5"
70FILES_libvlc = "${libdir}/lib*.so.*"
71
72FILES_${PN} += "\
73 ${bindir}/vlc \
74 ${datadir}/applications \
75 ${datadir}/vlc/ \
76 ${datadir}/icons \
77"
78
79FILES_${PN}-dbg += "\
80 ${libdir}/vlc/*/.debug \
81 ${libdir}/vlc/plugins/*/.debug \
82"
83
84FILES_${PN}-staticdev += "\
85 ${libdir}/vlc/plugins/*/*.a \
86"
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0001-enable-subdir-objects.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0001-enable-subdir-objects.patch
new file mode 100644
index 000000000..9f0e708ed
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/vlc/vlc/0001-enable-subdir-objects.patch
@@ -0,0 +1,13 @@
1Index: vlc-2.1.2/configure.ac
2===================================================================
3--- vlc-2.1.2.orig/configure.ac
4+++ vlc-2.1.2/configure.ac
5@@ -24,7 +24,7 @@ AC_CANONICAL_BUILD
6 AC_CANONICAL_HOST
7 AC_PRESERVE_HELP_ORDER
8
9-AM_INIT_AUTOMAKE(tar-ustar color-tests foreign)
10+AM_INIT_AUTOMAKE(tar-ustar color-tests foreign subdir-objects)
11 AC_CONFIG_HEADERS([config.h])
12
13 # Disable with "./configure --disable-silent-rules" or "make V=1"
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0002-glibc-does-not-provide-strlcpy.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0002-glibc-does-not-provide-strlcpy.patch
new file mode 100644
index 000000000..6d2a46fb3
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/vlc/vlc/0002-glibc-does-not-provide-strlcpy.patch
@@ -0,0 +1,17 @@
1Index: vlc-2.1.2/src/input/subtitles.c
2===================================================================
3--- vlc-2.1.2.orig/src/input/subtitles.c
4+++ vlc-2.1.2/src/input/subtitles.c
5@@ -44,6 +44,12 @@
6 #include "input_internal.h"
7
8 /**
9+ * Drepper's alternative
10+ * http://en.wikibooks.org/wiki/C_Programming/C_Reference/nonstandard/strlcpy
11+ */
12+#define strlcpy(dst, src, n) *((char* ) mempcpy(dst, src, n)) = '\0'
13+
14+/**
15 * We are not going to autodetect more subtitle files than this.
16 */
17 #define MAX_SUBTITLE_FILES 128
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0003-use-am-path-libgcrypt.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0003-use-am-path-libgcrypt.patch
new file mode 100644
index 000000000..ae80745d2
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/vlc/vlc/0003-use-am-path-libgcrypt.patch
@@ -0,0 +1,46 @@
1* The upstream tests for libgcrypt are awkward and not working.
2 - Requires libgcrypt-config, which seems broken?
3* AM_PATH_LIBGCRYPT exists for a reason, why not use it? KISS.
4* Upstream abandoned AM_PATH_LIBGCRYPT in the past...newer automake ok?
5
6Upstream status: Pending
7
8Index: vlc-2.1.4/configure.ac
9===================================================================
10--- vlc-2.1.4.orig/configure.ac
11+++ vlc-2.1.4/configure.ac
12@@ -3940,25 +3940,19 @@ PKG_ENABLE_MODULES_VLC([LIBXML2], [xml],
13 dnl
14 dnl libgcrypt
15 dnl
16+GCRYPT_LIBVER=1
17+GCRYPT_REQ=1.1.94
18 AC_ARG_ENABLE(libgcrypt,
19 [ --disable-libgcrypt gcrypt support (default enabled)])
20 AS_IF([test "${enable_libgcrypt}" != "no"], [
21- AC_CHECK_DECL([GCRYCTL_SET_THREAD_CBS], [
22- libgcrypt-config --version >/dev/null || \
23- AC_MSG_ERROR([gcrypt.h present but libgcrypt-config could not be found])
24- AC_CHECK_LIB(gcrypt, gcry_control, [
25- have_libgcrypt="yes"
26- GCRYPT_CFLAGS="`libgcrypt-config --cflags`"
27- GCRYPT_LIBS="`libgcrypt-config --libs`"
28- ], [
29- AC_MSG_ERROR([libgcrypt not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.])
30- ], [`libgcrypt-config --libs`])
31- ], [
32- AC_MSG_ERROR([libgcrypt version 1.1.94 or higher not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.])
33- ], [#include <gcrypt.h>]
34- )
35+ AM_PATH_LIBGCRYPT($GCRYPT_LIBVER:$GCRYPT_REQ,
36+ [
37+ GCRYPT_CFLAGS="$LIBGCRYPT_CFLAGS"
38+ GCRYPT_LIBS="$LIBGCRYPT_LIBS"
39+ ],[
40+ AC_MSG_ERROR([libgcrypt version 1.1.94 or higher not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.])
41+ ])
42 ])
43-
44 AC_SUBST(GCRYPT_CFLAGS)
45 AC_SUBST(GCRYPT_LIBS)
46 AM_CONDITIONAL([HAVE_GCRYPT], [test "${have_libgcrypt}" = "yes"])
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0004-modules-gui-qt4-out-of-tree-build.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0004-modules-gui-qt4-out-of-tree-build.patch
new file mode 100644
index 000000000..3dadb237e
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/vlc/vlc/0004-modules-gui-qt4-out-of-tree-build.patch
@@ -0,0 +1,17 @@
1* modules/gui/qt4/Modules.am not B!=S friendly
2* Simple solution to missing directories in ${B}
3
4Upstream status: Pending
5
6Index: vlc-2.1.4/modules/gui/qt4/Modules.am
7===================================================================
8--- vlc-2.1.4.orig/modules/gui/qt4/Modules.am
9+++ vlc-2.1.4/modules/gui/qt4/Modules.am
10@@ -261,6 +261,7 @@ else
11 if HAVE_WIN32
12 $(moc_verbose)$(MOC) -D_WIN32 $(DEFS) -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_builddir) $(CPPFLAGS_qt4) -o $@ $<
13 else
14+ [ -d $(dir $@) ] || mkdir -p $(dir $@)
15 $(moc_verbose)$(MOC) $(DEFS) -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_builddir) $(CPPFLAGS_qt4) -o $@ $<
16 endif
17 endif
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0005-libpostproc-header-check.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0005-libpostproc-header-check.patch
new file mode 100644
index 000000000..2d84ffd2f
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/vlc/vlc/0005-libpostproc-header-check.patch
@@ -0,0 +1,17 @@
1* Also look for postprocess.h under libpostproc/
2
3Upstream-status: Pending
4
5Index: vlc-2.1.4/configure.ac
6===================================================================
7--- vlc-2.1.4.orig/configure.ac
8+++ vlc-2.1.4/configure.ac
9@@ -2444,7 +2444,7 @@ then
10 VLC_SAVE_FLAGS
11 CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
12 CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
13- AC_CHECK_HEADERS(postproc/postprocess.h)
14+ AC_CHECK_HEADERS(postproc/postprocess.h,[],[AC_CHECK_HEADERS(libpostproc/postprocess.h)])
15 VLC_ADD_PLUGIN([postproc])
16 VLC_ADD_LIBS([postproc],[$POSTPROC_LIBS $AVUTIL_LIBS])
17 VLC_ADD_CFLAGS([postproc],[$POSTPROC_CFLAGS $AVUTIL_CFLAGS])
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0006-make-opencv-configurable.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0006-make-opencv-configurable.patch
new file mode 100644
index 000000000..950c09b8a
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/vlc/vlc/0006-make-opencv-configurable.patch
@@ -0,0 +1,29 @@
1Recent opencv API changes break upstream filter and example.
2Make opencv explicitly configurable.
3
4Upstream-Status: Inappropriate [configuration]
5
6Signed-off-by: Tim Orling <TicoTimo@gmail.com>
7
8Index: vlc-2.1.4/configure.ac
9===================================================================
10--- vlc-2.1.4.orig/configure.ac
11+++ vlc-2.1.4/configure.ac
12@@ -1693,7 +1693,16 @@ PKG_ENABLE_MODULES_VLC([BLURAY], [libblu
13 dnl
14 dnl OpenCV wrapper and example filters
15 dnl
16-PKG_ENABLE_MODULES_VLC([OPENCV], [opencv_example opencv_wrapper], [opencv > 2.0], (OpenCV (computer vision) filter), [auto])
17+AC_ARG_ENABLE(opencv,
18+ [AS_HELP_STRING([--disable-opencv],
19+ [disable OpenCV computer vision filter and example (default auto)])])
20+if test "${enable_opencv}" != "no"
21+then
22+ PKG_ENABLE_MODULES_VLC([OPENCV],
23+ [opencv_example opencv_wrapper],
24+ [opencv > 2.0],
25+ (OpenCV (computer vision) filter), [auto])
26+fi
27
28
29 dnl
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc_2.1.4.bb b/meta-multimedia/recipes-multimedia/vlc/vlc_2.1.4.bb
new file mode 100644
index 000000000..418f77cfc
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/vlc/vlc_2.1.4.bb
@@ -0,0 +1,15 @@
1require ${BPN}.inc
2
3# work around build failure
4EXTRA_OECONF += " --enable-libxml2=no"
5
6SRC_URI += "file://0001-enable-subdir-objects.patch \
7 file://0002-glibc-does-not-provide-strlcpy.patch \
8 file://0003-use-am-path-libgcrypt.patch \
9 file://0004-modules-gui-qt4-out-of-tree-build.patch \
10 file://0005-libpostproc-header-check.patch \
11 file://0006-make-opencv-configurable.patch \
12"
13
14SRC_URI[md5sum] = "7ed67d22f7425011078772bfc62ac222"
15SRC_URI[sha256sum] = "3e566c7525478167e18cc53dc75d621e4af91eb40aabb6231e47db25d682d5d3"