diff options
| author | Otavio Salvador <otavio@ossystems.com.br> | 2015-07-15 17:14:27 -0300 |
|---|---|---|
| committer | Otavio Salvador <otavio@ossystems.com.br> | 2015-07-16 15:01:29 -0300 |
| commit | f8517afc7a5ada4538b3b7d397fa32586d57ffe5 (patch) | |
| tree | 79349f091306d1760fd4687e62336ffa8fb8c721 /recipes-multimedia | |
| parent | c92b415d653afc55f33b6b93fb9248193bfd4fa0 (diff) | |
| download | meta-freescale-f8517afc7a5ada4538b3b7d397fa32586d57ffe5.tar.gz | |
Move meta-fsl-arm content to layer root
The meta-fsl-arm is going to be used as the base for this layer. It
contains a clean history and allowing a more granullar set of changes.
This commit is just a rename of all contents of meta-fsl-arm
subdirectory to this layer's root, subsequent changes are based on top
of that.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Diffstat (limited to 'recipes-multimedia')
15 files changed, 657 insertions, 0 deletions
diff --git a/recipes-multimedia/alsa/alsa-lib/0001-add-conf-for-multichannel-support-in-imx.patch b/recipes-multimedia/alsa/alsa-lib/0001-add-conf-for-multichannel-support-in-imx.patch new file mode 100644 index 000000000..32b31953e --- /dev/null +++ b/recipes-multimedia/alsa/alsa-lib/0001-add-conf-for-multichannel-support-in-imx.patch | |||
| @@ -0,0 +1,221 @@ | |||
| 1 | From e99c36dfdce3e0f393eeaca6c2790b566f72d6a8 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Shengjiu Wang <b02247@freescale.com> | ||
| 3 | Date: Thu, 5 Jun 2014 17:37:47 +0800 | ||
| 4 | Subject: [PATCH] add conf for multichannel support in imx | ||
| 5 | |||
| 6 | Upstream Status: Inappropriate [platform specific] | ||
| 7 | |||
| 8 | Signed-off-by: Shengjiu Wang <b02247@freescale.com> | ||
| 9 | --- | ||
| 10 | src/conf/cards/CS42888.conf | 94 ++++++++++++++++++++++++++++++++++++++++++++ | ||
| 11 | src/conf/cards/IMX-HDMI.conf | 67 +++++++++++++++++++++++++++++++ | ||
| 12 | src/conf/cards/Makefile.am | 4 +- | ||
| 13 | src/conf/cards/aliases.conf | 2 + | ||
| 14 | 4 files changed, 166 insertions(+), 1 deletion(-) | ||
| 15 | create mode 100644 src/conf/cards/CS42888.conf | ||
| 16 | create mode 100644 src/conf/cards/IMX-HDMI.conf | ||
| 17 | |||
| 18 | diff --git a/src/conf/cards/CS42888.conf b/src/conf/cards/CS42888.conf | ||
| 19 | new file mode 100644 | ||
| 20 | index 0000000..671a284 | ||
| 21 | --- /dev/null | ||
| 22 | +++ b/src/conf/cards/CS42888.conf | ||
| 23 | @@ -0,0 +1,94 @@ | ||
| 24 | +# | ||
| 25 | +# Configuration for the CS42888 chip | ||
| 26 | +# | ||
| 27 | + | ||
| 28 | +# default with dmix & dsnoop | ||
| 29 | +CS42888.pcm.default { | ||
| 30 | + @args [ CARD ] | ||
| 31 | + @args.CARD { | ||
| 32 | + type string | ||
| 33 | + } | ||
| 34 | + type asym | ||
| 35 | + playback.pcm { | ||
| 36 | + type plug | ||
| 37 | + slave.pcm { | ||
| 38 | + @func concat | ||
| 39 | + strings [ "dmix:" $CARD ",FORMAT=S32_LE" ] | ||
| 40 | + } | ||
| 41 | + } | ||
| 42 | + capture.pcm { | ||
| 43 | + type plug | ||
| 44 | + slave.pcm { | ||
| 45 | + @func concat | ||
| 46 | + strings [ "dsnoop:" $CARD ",FORMAT=S32_LE" ] | ||
| 47 | + } | ||
| 48 | + } | ||
| 49 | +} | ||
| 50 | + | ||
| 51 | +<confdir:pcm/surround40.conf> | ||
| 52 | + | ||
| 53 | +CS42888.pcm.surround40.0 { | ||
| 54 | + @args [ CARD ] | ||
| 55 | + @args.CARD { | ||
| 56 | + type string | ||
| 57 | + } | ||
| 58 | + type plug | ||
| 59 | + slave.pcm { | ||
| 60 | + type hw | ||
| 61 | + card $CARD | ||
| 62 | + } | ||
| 63 | + slave.channels 4 | ||
| 64 | + ttable.0.0 1 | ||
| 65 | + ttable.1.2 1 | ||
| 66 | + ttable.2.1 1 | ||
| 67 | + ttable.3.3 1 | ||
| 68 | +} | ||
| 69 | + | ||
| 70 | + | ||
| 71 | +<confdir:pcm/surround41.conf> | ||
| 72 | +<confdir:pcm/surround50.conf> | ||
| 73 | +<confdir:pcm/surround51.conf> | ||
| 74 | + | ||
| 75 | +CS42888.pcm.surround51.0 { | ||
| 76 | + @args [ CARD ] | ||
| 77 | + @args.CARD { | ||
| 78 | + type string | ||
| 79 | + } | ||
| 80 | + type plug | ||
| 81 | + slave.pcm { | ||
| 82 | + type hw | ||
| 83 | + card $CARD | ||
| 84 | + } | ||
| 85 | + slave.channels 6 | ||
| 86 | + ttable.0.0 1 | ||
| 87 | + ttable.1.3 1 | ||
| 88 | + ttable.2.1 1 | ||
| 89 | + ttable.3.4 1 | ||
| 90 | + ttable.4.2 1 | ||
| 91 | + ttable.5.5 1 | ||
| 92 | +} | ||
| 93 | + | ||
| 94 | +<confdir:pcm/surround71.conf> | ||
| 95 | + | ||
| 96 | +CS42888.pcm.surround71.0 { | ||
| 97 | + @args [ CARD ] | ||
| 98 | + @args.CARD { | ||
| 99 | + type string | ||
| 100 | + } | ||
| 101 | + type plug | ||
| 102 | + slave.pcm { | ||
| 103 | + type hw | ||
| 104 | + card $CARD | ||
| 105 | + } | ||
| 106 | + slave.channels 8 | ||
| 107 | + ttable.0.0 1 | ||
| 108 | + ttable.1.4 1 | ||
| 109 | + ttable.2.1 1 | ||
| 110 | + ttable.3.5 1 | ||
| 111 | + ttable.4.2 1 | ||
| 112 | + ttable.5.6 1 | ||
| 113 | + ttable.6.3 1 | ||
| 114 | + ttable.7.7 1 | ||
| 115 | +} | ||
| 116 | + | ||
| 117 | +# vim: ft=alsaconf | ||
| 118 | diff --git a/src/conf/cards/IMX-HDMI.conf b/src/conf/cards/IMX-HDMI.conf | ||
| 119 | new file mode 100644 | ||
| 120 | index 0000000..a51509e | ||
| 121 | --- /dev/null | ||
| 122 | +++ b/src/conf/cards/IMX-HDMI.conf | ||
| 123 | @@ -0,0 +1,67 @@ | ||
| 124 | +# | ||
| 125 | +# Configuration for the CS42888 chip | ||
| 126 | +# | ||
| 127 | + | ||
| 128 | +# default with dmix & dsnoop | ||
| 129 | +IMX-HDMI.pcm.default { | ||
| 130 | + @args [ CARD ] | ||
| 131 | + @args.CARD { | ||
| 132 | + type string | ||
| 133 | + } | ||
| 134 | + type asym | ||
| 135 | + playback.pcm { | ||
| 136 | + type plug | ||
| 137 | + slave.pcm { | ||
| 138 | + @func concat | ||
| 139 | + strings [ "dmix:" $CARD ",FORMAT=S32_LE" ] | ||
| 140 | + } | ||
| 141 | + } | ||
| 142 | + capture.pcm { | ||
| 143 | + type plug | ||
| 144 | + slave.pcm { | ||
| 145 | + @func concat | ||
| 146 | + strings [ "dsnoop:" $CARD ",FORMAT=S32_LE" ] | ||
| 147 | + } | ||
| 148 | + } | ||
| 149 | +} | ||
| 150 | + | ||
| 151 | +<confdir:pcm/surround40.conf> | ||
| 152 | + | ||
| 153 | +IMX-HDMI.pcm.surround40.0 { | ||
| 154 | + @args [ CARD ] | ||
| 155 | + @args.CARD { | ||
| 156 | + type string | ||
| 157 | + } | ||
| 158 | + type hw | ||
| 159 | + card $CARD | ||
| 160 | + channels 4 | ||
| 161 | +} | ||
| 162 | + | ||
| 163 | + | ||
| 164 | +<confdir:pcm/surround41.conf> | ||
| 165 | +<confdir:pcm/surround50.conf> | ||
| 166 | +<confdir:pcm/surround51.conf> | ||
| 167 | + | ||
| 168 | +IMX-HDMI.pcm.surround51.0 { | ||
| 169 | + @args [ CARD ] | ||
| 170 | + @args.CARD { | ||
| 171 | + type string | ||
| 172 | + } | ||
| 173 | + type hw | ||
| 174 | + card $CARD | ||
| 175 | + channels 6 | ||
| 176 | +} | ||
| 177 | + | ||
| 178 | +<confdir:pcm/surround71.conf> | ||
| 179 | + | ||
| 180 | +IMX-HDMI.pcm.surround71.0 { | ||
| 181 | + @args [ CARD ] | ||
| 182 | + @args.CARD { | ||
| 183 | + type string | ||
| 184 | + } | ||
| 185 | + type hw | ||
| 186 | + card $CARD | ||
| 187 | + channels 8 | ||
| 188 | +} | ||
| 189 | + | ||
| 190 | +# vim: ft=alsaconf | ||
| 191 | diff --git a/src/conf/cards/Makefile.am b/src/conf/cards/Makefile.am | ||
| 192 | index ee7991b..b08acae 100644 | ||
| 193 | --- a/src/conf/cards/Makefile.am | ||
| 194 | +++ b/src/conf/cards/Makefile.am | ||
| 195 | @@ -54,7 +54,9 @@ cfg_files = aliases.conf \ | ||
| 196 | VIA8237.conf \ | ||
| 197 | VX222.conf \ | ||
| 198 | VXPocket.conf \ | ||
| 199 | - VXPocket440.conf | ||
| 200 | + VXPocket440.conf \ | ||
| 201 | + CS42888.conf \ | ||
| 202 | + IMX-HDMI.conf | ||
| 203 | |||
| 204 | if BUILD_ALISP | ||
| 205 | cfg_files += aliases.alisp | ||
| 206 | diff --git a/src/conf/cards/aliases.conf b/src/conf/cards/aliases.conf | ||
| 207 | index 4a92fb2..46430c2 100644 | ||
| 208 | --- a/src/conf/cards/aliases.conf | ||
| 209 | +++ b/src/conf/cards/aliases.conf | ||
| 210 | @@ -55,6 +55,8 @@ AV100 cards.CMI8788 | ||
| 211 | AV200 cards.CMI8788 | ||
| 212 | CMI8786 cards.CMI8788 | ||
| 213 | CMI8787 cards.CMI8788 | ||
| 214 | +cs42888-audio cards.CS42888 | ||
| 215 | +imx-hdmi-soc cards.IMX-HDMI | ||
| 216 | |||
| 217 | <confdir:pcm/default.conf> | ||
| 218 | <confdir:pcm/dmix.conf> | ||
| 219 | -- | ||
| 220 | 1.8.0 | ||
| 221 | |||
diff --git a/recipes-multimedia/alsa/alsa-lib_%.bbappend b/recipes-multimedia/alsa/alsa-lib_%.bbappend new file mode 100644 index 000000000..9d95e6802 --- /dev/null +++ b/recipes-multimedia/alsa/alsa-lib_%.bbappend | |||
| @@ -0,0 +1,7 @@ | |||
| 1 | |||
| 2 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" | ||
| 3 | |||
| 4 | SRC_URI_append_mx6 = " file://0001-add-conf-for-multichannel-support-in-imx.patch \ | ||
| 5 | " | ||
| 6 | PACKAGE_ARCH_mx6 = "${MACHINE_SOCARCH}" | ||
| 7 | |||
diff --git a/recipes-multimedia/alsa/fsl-alsa-plugins/0001-asrc_pair-update-output-buffer-size.patch b/recipes-multimedia/alsa/fsl-alsa-plugins/0001-asrc_pair-update-output-buffer-size.patch new file mode 100644 index 000000000..d76c74d44 --- /dev/null +++ b/recipes-multimedia/alsa/fsl-alsa-plugins/0001-asrc_pair-update-output-buffer-size.patch | |||
| @@ -0,0 +1,47 @@ | |||
| 1 | From 9acab46fe307ec71d4a4dbe447e356f90b6a4a09 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Shengjiu Wang <shengjiu.wang@freescale.com> | ||
| 3 | Date: Fri, 12 Dec 2014 14:58:06 +0800 | ||
| 4 | Subject: [PATCH] [asrc_pair] update output buffer size | ||
| 5 | |||
| 6 | When input size larger than DMA_MAX_BYTES the output size should be updated. | ||
| 7 | Otherwise the asrc have will not have enough data, then it will be timeout. | ||
| 8 | |||
| 9 | Upstream Status: Inappropriate [platform specific] | ||
| 10 | |||
| 11 | Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com> | ||
| 12 | --- | ||
| 13 | asrc/asrc_pair.c | 11 ++++++++--- | ||
| 14 | 1 file changed, 8 insertions(+), 3 deletions(-) | ||
| 15 | |||
| 16 | diff --git a/asrc/asrc_pair.c b/asrc/asrc_pair.c | ||
| 17 | index e3df027..e74e8b1 100644 | ||
| 18 | --- a/asrc/asrc_pair.c | ||
| 19 | +++ b/asrc/asrc_pair.c | ||
| 20 | @@ -139,7 +139,7 @@ asrc_pair *asrc_pair_create(unsigned int channels, ssize_t in_period_frames, | ||
| 21 | config.dma_buffer_size = dma_buffer_size; | ||
| 22 | config.input_sample_rate = in_rate; | ||
| 23 | config.output_sample_rate = out_rate; | ||
| 24 | - config.buffer_num = 1; | ||
| 25 | + config.buffer_num = buf_num; | ||
| 26 | config.input_word_width = ASRC_WIDTH_16_BIT; | ||
| 27 | config.output_word_width = ASRC_WIDTH_16_BIT; | ||
| 28 | config.inclk = INCLK_NONE; | ||
| 29 | @@ -303,8 +303,13 @@ void asrc_pair_convert_s16(asrc_pair *pair, const int16_t *src, unsigned int src | ||
| 30 | |||
| 31 | while (src_left > 0) | ||
| 32 | { | ||
| 33 | - in_len = src_left > pair->buf_size ? pair->buf_size : src_left; | ||
| 34 | - out_len = dst_left; | ||
| 35 | + if (src_left > pair->buf_size) { | ||
| 36 | + in_len = pair->buf_size; | ||
| 37 | + out_len = dst_left * in_len/src_left; | ||
| 38 | + } else { | ||
| 39 | + in_len = src_left; | ||
| 40 | + out_len = dst_left; | ||
| 41 | + } | ||
| 42 | |||
| 43 | buf_info.input_buffer_vaddr = s; | ||
| 44 | buf_info.input_buffer_length = in_len; | ||
| 45 | -- | ||
| 46 | 1.9.1 | ||
| 47 | |||
diff --git a/recipes-multimedia/alsa/fsl-alsa-plugins_1.0.25.bb b/recipes-multimedia/alsa/fsl-alsa-plugins_1.0.25.bb new file mode 100644 index 000000000..af5527018 --- /dev/null +++ b/recipes-multimedia/alsa/fsl-alsa-plugins_1.0.25.bb | |||
| @@ -0,0 +1,33 @@ | |||
| 1 | # Copyright (C) 2013 Freescale Semiconductor | ||
| 2 | # Released under the MIT license (see COPYING.MIT for the terms) | ||
| 3 | |||
| 4 | DESCRIPTION = "Freescale alsa-lib plugins" | ||
| 5 | LICENSE = "GPLv2" | ||
| 6 | SECTION = "multimedia" | ||
| 7 | DEPENDS = "alsa-lib virtual/kernel" | ||
| 8 | |||
| 9 | # Make sure kernel sources are available | ||
| 10 | do_configure[depends] += "virtual/kernel:do_shared_workdir" | ||
| 11 | |||
| 12 | LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=94d55d512a9ba36caa9b7df079bae19f" | ||
| 13 | |||
| 14 | inherit autotools pkgconfig | ||
| 15 | |||
| 16 | SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.tar.gz" | ||
| 17 | SRC_URI[md5sum] = "b1ca7a250a8cd5da07062081b30b4118" | ||
| 18 | SRC_URI[sha256sum] = "902df92255d755e8eb08b3c3db0c7b9d70d26d9659b219373bee425ffdc34245" | ||
| 19 | |||
| 20 | SRC_URI_append_mx6 = " file://0001-asrc_pair-update-output-buffer-size.patch" | ||
| 21 | |||
| 22 | INCLUDE_DIR = "-I${STAGING_KERNEL_DIR}/include/uapi -I${STAGING_KERNEL_DIR}/include" | ||
| 23 | |||
| 24 | EXTRA_OECONF = "CFLAGS="${INCLUDE_DIR}"" | ||
| 25 | |||
| 26 | INSANE_SKIP_${PN} = "dev-so" | ||
| 27 | |||
| 28 | FILES_${PN} += "${libdir}/alsa-lib/libasound_*.so" | ||
| 29 | FILES_${PN}-dbg += "${libdir}/alsa-lib/.debug" | ||
| 30 | FILES_${PN}-dev += "${libdir}/alsa-lib/*.la" | ||
| 31 | |||
| 32 | COMPATIBLE_MACHINE = "(mx6)" | ||
| 33 | PACKAGE_ARCH_mx6 = "${MACHINE_SOCARCH}" | ||
diff --git a/recipes-multimedia/gstreamer/gst1.0-fsl-plugin_4.0.3.bb b/recipes-multimedia/gstreamer/gst1.0-fsl-plugin_4.0.3.bb new file mode 100644 index 000000000..ab28bc128 --- /dev/null +++ b/recipes-multimedia/gstreamer/gst1.0-fsl-plugin_4.0.3.bb | |||
| @@ -0,0 +1,69 @@ | |||
| 1 | # Copyright (C) 2014,2015 Freescale Semiconductor | ||
| 2 | # Copyright (C) 2012-2015 O.S. Systems Software LTDA. | ||
| 3 | # Released under the MIT license (see COPYING.MIT for the terms) | ||
| 4 | |||
| 5 | DESCRIPTION = "Gstreamer freescale plugins" | ||
| 6 | LICENSE = "GPLv2 & LGPLv2 & LGPLv2.1" | ||
| 7 | SECTION = "multimedia" | ||
| 8 | |||
| 9 | DEPENDS = "libfslcodec libfslparser virtual/kernel gstreamer1.0 gstreamer1.0-plugins-base" | ||
| 10 | DEPENDS_append_mx6q = " imx-lib imx-vpu libfslvpuwrap" | ||
| 11 | DEPENDS_append_mx6dl = " imx-lib imx-vpu libfslvpuwrap" | ||
| 12 | DEPENDS_append_mx6sl = " imx-lib" | ||
| 13 | DEPENDS_append_mx6sx = " imx-lib" | ||
| 14 | |||
| 15 | LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ | ||
| 16 | file://COPYING-LGPL-2;md5=5f30f0716dfdd0d91eb439ebec522ec2 \ | ||
| 17 | file://COPYING-LGPL-2.1;md5=fbc093901857fcd118f065f900982c24" | ||
| 18 | |||
| 19 | SRC_URI = "${FSL_MIRROR}/gst1.0-fsl-plugins-${PV}.tar.gz" | ||
| 20 | SRC_URI[md5sum] = "b5c1072536479c174bda1349ade5d10c" | ||
| 21 | SRC_URI[sha256sum] = "9d5c051cbde023014e67fde07bc314b6b9a5e7030e24eb0d8afdf33e7e458125" | ||
| 22 | |||
| 23 | S = "${WORKDIR}/gst1.0-fsl-plugins-${PV}" | ||
| 24 | |||
| 25 | inherit autotools pkgconfig | ||
| 26 | |||
| 27 | # Make sure kernel sources are available | ||
| 28 | do_configure[depends] += "virtual/kernel:do_shared_workdir" | ||
| 29 | |||
| 30 | PLATFORM_mx6 = "MX6" | ||
| 31 | PLATFORM_mx6sl = "MX6SL" | ||
| 32 | PLATFORM_mx6sx = "MX6SX" | ||
| 33 | |||
| 34 | # Todo add a mechanism to map possible build targets | ||
| 35 | EXTRA_OECONF = "PLATFORM=${PLATFORM} \ | ||
| 36 | CPPFLAGS="-I${STAGING_KERNEL_DIR}/include/uapi -I${STAGING_KERNEL_DIR}/include" \ | ||
| 37 | CROSS_ROOT=${PKG_CONFIG_SYSROOT_DIR}" | ||
| 38 | |||
| 39 | PACKAGES =+ "${PN}-gplay ${PN}-libgplaycore ${PN}-libgstfsl" | ||
| 40 | |||
| 41 | # Add codec list that the beep plugin run-time depended | ||
| 42 | BEEP_RDEPENDS = "libfslcodec-aac libfslcodec-mp3 libfslcodec-oggvorbis" | ||
| 43 | RDEPENDS_${PN} += "libfslparser ${BEEP_RDEPENDS}" | ||
| 44 | |||
| 45 | PACKAGECONFIG ?= "" | ||
| 46 | PACKAGECONFIG_mx6 = "overlaysink" | ||
| 47 | |||
| 48 | # FIXME: Add all features | ||
| 49 | # feature from excluded mm packages | ||
| 50 | PACKAGECONFIG[ac3] += ",,libfslac3codec,libfslac3codec" | ||
| 51 | # feature from special mm packages | ||
| 52 | PACKAGECONFIG[aacp] += ",,libfslaacpcodec,libfslaacpcodec" | ||
| 53 | MSDEPENDS = "libfslmsparser libfslmscodec" | ||
| 54 | PACKAGECONFIG[wma10dec] += ",,${MSDEPENDS},${MSDEPENDS}" | ||
| 55 | PACKAGECONFIG[wma8enc] += "--enable-wma8enc,--disable-wma8enc,${MSDEPENDS},${MSDEPENDS}" | ||
| 56 | OVDEPENDS = "virtual/libg2d" | ||
| 57 | PACKAGECONFIG[overlaysink] += "--enable-overlaysink,--disable-overlaysink, ${OVDEPENDS}" | ||
| 58 | |||
| 59 | FILES_${PN} = "${libdir}/gstreamer-1.0/*.so ${datadir}" | ||
| 60 | RDEPENDS_${PN} += "gstreamer1.0-plugins-good-id3demux" | ||
| 61 | |||
| 62 | FILES_${PN}-dbg += "${libdir}/gstreamer-1.0/.debug" | ||
| 63 | FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la ${libdir}/pkgconfig/*.pc" | ||
| 64 | FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a" | ||
| 65 | FILES_${PN}-gplay = "${bindir}/gplay-1.0" | ||
| 66 | FILES_${PN}-libgplaycore = "${libdir}/libgplaycore-1.0${SOLIBS}" | ||
| 67 | FILES_${PN}-libgstfsl = "${libdir}/libgstfsl-1.0${SOLIBS}" | ||
| 68 | |||
| 69 | COMPATIBLE_MACHINE = "(mx6)" | ||
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend new file mode 100644 index 000000000..bcce7c785 --- /dev/null +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend | |||
| @@ -0,0 +1,11 @@ | |||
| 1 | # Vivante EGL headers require the correct preprocessor | ||
| 2 | # defines to be set for each platform | ||
| 3 | CFLAGS_append_mx6 = " -DLINUX \ | ||
| 4 | ${@base_contains('DISTRO_FEATURES', 'x11', '', \ | ||
| 5 | base_contains('DISTRO_FEATURES', 'wayland', '-DEGL_API_FB -DWL_EGL_PLATFORM', \ | ||
| 6 | base_contains('DISTRO_FEATURES', 'directfb', '-DEGL_API_DFB -I${STAGING_INCDIR}/directfb', \ | ||
| 7 | '-DEGL_API_FB', d),d),d)}" | ||
| 8 | |||
| 9 | PACKAGECONFIG_GL_mx6sl = "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', \ | ||
| 10 | base_contains('DISTRO_FEATURES', 'x11', \ | ||
| 11 | 'opengl', '', d), '', d)}" | ||
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/gstplaybin-enable-native-video.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/gstplaybin-enable-native-video.patch new file mode 100644 index 000000000..15322bd6e --- /dev/null +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/gstplaybin-enable-native-video.patch | |||
| @@ -0,0 +1,31 @@ | |||
| 1 | From 9cfb86cd100904f0ef2626f348695bd2d3416c6a Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Jian Li <jian.li@freescale.com> | ||
| 3 | Date: Mon, 23 Jun 2014 14:14:07 +0800 | ||
| 4 | Subject: [PATCH] gstplaybin enable native video | ||
| 5 | |||
| 6 | - use native video patch in playbin for i.MX SoCs | ||
| 7 | |||
| 8 | Upstream Status: Inappropriate [platform specific] | ||
| 9 | |||
| 10 | Signed-off-by: Jian Li <jian.li@freescale.com> | ||
| 11 | --- | ||
| 12 | gst/playback/gstplaybin2.c | 3 +-- | ||
| 13 | 1 file changed, 1 insertion(+), 2 deletions(-) | ||
| 14 | |||
| 15 | diff --git a/gst/playback/gstplaybin2.c b/gst/playback/gstplaybin2.c | ||
| 16 | index fc02ca3..c342438 100644 | ||
| 17 | --- a/gst/playback/gstplaybin2.c | ||
| 18 | +++ b/gst/playback/gstplaybin2.c | ||
| 19 | @@ -511,8 +511,7 @@ struct _GstPlayBinClass | ||
| 20 | #define DEFAULT_SUBURI NULL | ||
| 21 | #define DEFAULT_SOURCE NULL | ||
| 22 | #define DEFAULT_FLAGS GST_PLAY_FLAG_AUDIO | GST_PLAY_FLAG_VIDEO | GST_PLAY_FLAG_TEXT | \ | ||
| 23 | - GST_PLAY_FLAG_SOFT_VOLUME | GST_PLAY_FLAG_DEINTERLACE | \ | ||
| 24 | - GST_PLAY_FLAG_SOFT_COLORBALANCE | ||
| 25 | + GST_PLAY_FLAG_SOFT_VOLUME | GST_PLAY_FLAG_NATIVE_VIDEO | ||
| 26 | #define DEFAULT_N_VIDEO 0 | ||
| 27 | #define DEFAULT_CURRENT_VIDEO -1 | ||
| 28 | #define DEFAULT_N_AUDIO 0 | ||
| 29 | -- | ||
| 30 | 1.7.9.5 | ||
| 31 | |||
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend new file mode 100644 index 000000000..5b939d4f0 --- /dev/null +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | |||
| 2 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" | ||
| 3 | |||
| 4 | SRC_URI_append_mxs = " file://gstplaybin-enable-native-video.patch" | ||
| 5 | SRC_URI_append_mx5 = " file://gstplaybin-enable-native-video.patch" | ||
| 6 | SRC_URI_append_mx6 = " file://gstplaybin-enable-native-video.patch" | ||
| 7 | |||
| 8 | PACKAGE_ARCH_mxs = "${MACHINE_SOCARCH}" | ||
| 9 | PACKAGE_ARCH_mx5 = "${MACHINE_SOCARCH}" | ||
| 10 | PACKAGE_ARCH_mx6 = "${MACHINE_SOCARCH}" | ||
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.10.2.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.10.2.bb new file mode 100644 index 000000000..bfb70809b --- /dev/null +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.10.2.bb | |||
| @@ -0,0 +1,45 @@ | |||
| 1 | DESCRIPTION = "GStreamer 1.0 plugins for i.MX platforms" | ||
| 2 | LICENSE = "LGPLv2+" | ||
| 3 | LIC_FILES_CHKSUM = "file://LICENSE;md5=55ca817ccb7d5b5b66355690e9abc605" | ||
| 4 | SECTION = "multimedia" | ||
| 5 | DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base imx-gpu-viv libfslcodec libfslvpuwrap virtual/kernel virtual/egl \ | ||
| 6 | virtual/libgles2 ${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)}" | ||
| 7 | # add the audioparsers and the videoparsersbad plugins as RDEPENDS ; audioparsers | ||
| 8 | # for the uniaudio decoder, videoparsersbad for the VPU video decoder | ||
| 9 | # the gstreamer1.0-plugins-imx RDEPENDS is necessary to ensure the -good and -bad recipes are built | ||
| 10 | RDEPENDS_gstreamer1.0-plugins-imx = "gstreamer1.0-plugins-good gstreamer1.0-plugins-bad" | ||
| 11 | RDEPENDS_gstreamer1.0-plugins-imx-imxaudio = "gstreamer1.0-plugins-good-audioparsers" | ||
| 12 | RDEPENDS_gstreamer1.0-plugins-imx-imxvpu = "gstreamer1.0-plugins-bad-videoparsersbad" | ||
| 13 | |||
| 14 | SRCBRANCH ?= "master" | ||
| 15 | SRCREV = "cd04f047e17cbdff5d8e075be7dccaf4522ad713" | ||
| 16 | SRC_URI = "git://github.com/Freescale/gstreamer-imx.git;branch=${SRCBRANCH}" | ||
| 17 | |||
| 18 | S = "${WORKDIR}/git" | ||
| 19 | |||
| 20 | inherit waf | ||
| 21 | |||
| 22 | do_compile[depends] += "virtual/kernel:do_shared_workdir" | ||
| 23 | |||
| 24 | # configure the eglvivsink element to use the appropriate EGL platform code | ||
| 25 | # X11 if x11 is present in DISTRO_FEATURES | ||
| 26 | # Wayland if x11 is not present in DISTRO_FEATURES, but wayland is | ||
| 27 | # Framebuffer otherwise | ||
| 28 | EGLVIVSINK_PLATFORM = "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', \ | ||
| 29 | base_contains('DISTRO_FEATURES', 'wayland', 'wayland', \ | ||
| 30 | 'fb', d),d)}" | ||
| 31 | |||
| 32 | EXTRA_OECONF = "--egl-platform=${EGLVIVSINK_PLATFORM} --kernel-headers=${STAGING_KERNEL_DIR}/include" | ||
| 33 | |||
| 34 | # LIBV is used by gst-plugins-package.inc to specify the GStreamer version (0.10 vs 1.0) | ||
| 35 | LIBV = "1.0" | ||
| 36 | require recipes-multimedia/gstreamer/gst-plugins-package.inc | ||
| 37 | |||
| 38 | # the following line is required to produce one package for each plugin | ||
| 39 | PACKAGES_DYNAMIC = "^${PN}-.*" | ||
| 40 | |||
| 41 | COMPATIBLE_MACHINE = "(mx6)" | ||
| 42 | |||
| 43 | # disable the false alarm (the "it isn't a build dependency" QA warning) | ||
| 44 | INSANE_SKIP_gstreamer1.0-plugins-imx-imxaudio = "build-deps" | ||
| 45 | INSANE_SKIP_gstreamer1.0-plugins-imx-imxvpu = "build-deps" | ||
diff --git a/recipes-multimedia/libfslcodec/libfslcodec.inc b/recipes-multimedia/libfslcodec/libfslcodec.inc new file mode 100644 index 000000000..ed07774bf --- /dev/null +++ b/recipes-multimedia/libfslcodec/libfslcodec.inc | |||
| @@ -0,0 +1,104 @@ | |||
| 1 | # Copyright (C) 2012-2014 Freescale Semiconductor | ||
| 2 | # Released under the MIT license (see COPYING.MIT for the terms) | ||
| 3 | DESCRIPTION = "Freescale Multimedia codec libs" | ||
| 4 | LICENSE = "Proprietary" | ||
| 5 | SECTION = "multimedia" | ||
| 6 | LIC_FILES_CHKSUM = "file://COPYING;md5=acdb807ac7275fe32f9f64992e111241" | ||
| 7 | |||
| 8 | inherit fsl-eula-unpack autotools pkgconfig | ||
| 9 | |||
| 10 | SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true" | ||
| 11 | |||
| 12 | # Choose between Soft Float-Point and Hard Float-Point | ||
| 13 | EXTRA_OECONF = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--enable-fhw', '', d)}" | ||
| 14 | |||
| 15 | PACKAGECONFIG ?= "" | ||
| 16 | PACKAGECONFIG_mx6q = "vpu" | ||
| 17 | PACKAGECONFIG_mx6dl = "vpu" | ||
| 18 | PACKAGECONFIG_mx5 = "vpu" | ||
| 19 | |||
| 20 | PACKAGECONFIG[vpu] = "--enable-vpu,--disable-vpu,imx-vpu" | ||
| 21 | |||
| 22 | do_install_append() { | ||
| 23 | # FIXME: This link points to nowhere | ||
| 24 | rm ${D}${libdir}/imx-mm/audio-codec/lib_src_ppp_arm11_elinux.so | ||
| 25 | |||
| 26 | # LTIB move the files around or gst-fsl-plugin won't find them | ||
| 27 | for p in $(find ${D}${libdir}/imx-mm -mindepth 2 -maxdepth 2 -not -type d); do | ||
| 28 | mv $p ${D}${libdir} | ||
| 29 | done | ||
| 30 | rmdir ${D}${libdir}/imx-mm/video-codec | ||
| 31 | |||
| 32 | } | ||
| 33 | |||
| 34 | do_install_append_mx5() { | ||
| 35 | # FIXME: The binary files depends on libvpu.so.4 which is i.MX6 only | ||
| 36 | rm -r ${D}${datadir}/imx-mm/*/examples/*/bin | ||
| 37 | } | ||
| 38 | |||
| 39 | python __set_insane_skip() { | ||
| 40 | # Ensure we have PACKAGES expanded | ||
| 41 | bb.build.exec_func("read_subpackage_metadata", d) | ||
| 42 | |||
| 43 | for p in d.getVar('PACKAGES', True).split(): | ||
| 44 | # Even though we are packaging libraries those are plugins so we | ||
| 45 | # shouldn't rename the packages to follow its sonames. | ||
| 46 | d.setVar("DEBIAN_NOAUTONAME_%s" % p, "1") | ||
| 47 | |||
| 48 | # FIXME: All binaries lack GNU_HASH in elf binary but as we don't have | ||
| 49 | # the source we cannot fix it. Disable the insane check for now. | ||
| 50 | if p == 'libfslcodec-test-bin': | ||
| 51 | # FIXME: includes the DUT .so files so we need to deploy those | ||
| 52 | d.setVar("INSANE_SKIP_%s" % p, "ldflags textrel libdir") | ||
| 53 | else: | ||
| 54 | d.setVar("INSANE_SKIP_%s" % p, "ldflags textrel") | ||
| 55 | } | ||
| 56 | |||
| 57 | do_package_qa[prefuncs] += "__set_insane_skip" | ||
| 58 | |||
| 59 | python __split_libfslcodec_plugins() { | ||
| 60 | codecdir = bb.data.expand('${libdir}', d) | ||
| 61 | do_split_packages(d, codecdir, '^lib_([^_]*).*_arm.*_elinux\.so\..*', | ||
| 62 | aux_files_pattern='${libdir}/imx-mm/audio-codec/wrap/lib_%sd_wrap_arm*_elinux.so.*', | ||
| 63 | output_pattern='libfslcodec-%s', | ||
| 64 | description='Freescale i.MX Codec (%s)', | ||
| 65 | extra_depends='') | ||
| 66 | } | ||
| 67 | |||
| 68 | python __set_metapkg_rdepends() { | ||
| 69 | # Allow addition of all codecs in a image; useful specially for | ||
| 70 | # debugging. | ||
| 71 | codec_pkgs = oe.utils.packages_filter_out_system(d) | ||
| 72 | codec_pkgs = filter(lambda x: x not in ['libfslcodec-test-bin', 'libfslcodec-test-source'], | ||
| 73 | codec_pkgs) | ||
| 74 | d.appendVar('RDEPENDS_libfslcodec-meta', ' ' + ' '.join(codec_pkgs)) | ||
| 75 | } | ||
| 76 | |||
| 77 | PACKAGESPLITFUNCS =+ "__split_libfslcodec_plugins __set_metapkg_rdepends" | ||
| 78 | |||
| 79 | PACKAGES_DYNAMIC = "${PN}-*" | ||
| 80 | INHIBIT_PACKAGE_STRIP = "1" | ||
| 81 | INHIBIT_PACKAGE_DEBUG_SPLIT = "1" | ||
| 82 | |||
| 83 | PACKAGES += "${PN}-meta ${PN}-test-bin ${PN}-test-source" | ||
| 84 | |||
| 85 | ALLOW_EMPTY_${PN} = "1" | ||
| 86 | ALLOW_EMPTY_${PN}-meta = "1" | ||
| 87 | |||
| 88 | # Ensure we get warnings if we miss something | ||
| 89 | FILES_${PN} = "" | ||
| 90 | |||
| 91 | FILES_${PN}-dev += "${libdir}/imx-mm/*/*${SOLIBSDEV} \ | ||
| 92 | ${libdir}/imx-mm/*/*/*${SOLIBSDEV} \ | ||
| 93 | ${libdir}/pkgconfig/*.pc ${includedir}/imx-mm/*" | ||
| 94 | |||
| 95 | FILES_${PN}-test-bin += "${datadir}/imx-mm/*/examples/*/bin" | ||
| 96 | |||
| 97 | FILES_${PN}-test-source += "${datadir}/imx-mm/*" | ||
| 98 | |||
| 99 | # FIXME: The wrap and lib names does not match | ||
| 100 | FILES_${PN}-oggvorbis += "${libdir}/imx-mm/audio-codec/wrap/lib_vorbisd_wrap_arm*_elinux.so.*" | ||
| 101 | FILES_${PN}-nb += "${libdir}/imx-mm/audio-codec/wrap/lib_nbamrd_wrap_arm*_elinux.so.*" | ||
| 102 | FILES_${PN}-wb += "${libdir}/imx-mm/audio-codec/wrap/lib_wbamrd_wrap_arm*_elinux.so.*" | ||
| 103 | |||
| 104 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
diff --git a/recipes-multimedia/libfslcodec/libfslcodec_4.0.3.bb b/recipes-multimedia/libfslcodec/libfslcodec_4.0.3.bb new file mode 100644 index 000000000..4f105d40b --- /dev/null +++ b/recipes-multimedia/libfslcodec/libfslcodec_4.0.3.bb | |||
| @@ -0,0 +1,9 @@ | |||
| 1 | # Copyright (C) 2013-2015 Freescale Semiconductor | ||
| 2 | # Released under the MIT license (see COPYING.MIT for the terms) | ||
| 3 | |||
| 4 | require recipes-multimedia/libfslcodec/libfslcodec.inc | ||
| 5 | |||
| 6 | SRC_URI[md5sum] = "829f88758622eab85b7427e5b488c8a0" | ||
| 7 | SRC_URI[sha256sum] = "0d0ff933eed0a021763115b9c8ae812c6376a19bbd95e555d89ea7404f6c8f2f" | ||
| 8 | |||
| 9 | COMPATIBLE_MACHINE = "(mx6)" | ||
diff --git a/recipes-multimedia/libfslparser/libfslparser.inc b/recipes-multimedia/libfslparser/libfslparser.inc new file mode 100644 index 000000000..d46330e49 --- /dev/null +++ b/recipes-multimedia/libfslparser/libfslparser.inc | |||
| @@ -0,0 +1,33 @@ | |||
| 1 | # Copyright (C) 2012-2014 O.S. Systems Software LTDA. | ||
| 2 | # Copyright (C) 2012-2013 Freescale Semiconductor | ||
| 3 | # Released under the MIT license (see COPYING.MIT for the terms) | ||
| 4 | DESCRIPTION = "Freescale Multimedia parser libs" | ||
| 5 | LICENSE = "Proprietary" | ||
| 6 | SECTION = "multimedia" | ||
| 7 | LIC_FILES_CHKSUM = "file://COPYING;md5=acdb807ac7275fe32f9f64992e111241" | ||
| 8 | |||
| 9 | inherit fsl-eula-unpack autotools pkgconfig | ||
| 10 | |||
| 11 | SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true" | ||
| 12 | |||
| 13 | # Choose between Soft Float-Point and Hard Float-Point | ||
| 14 | EXTRA_OECONF = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--enable-fhw', '--enable-fsw', d)}" | ||
| 15 | |||
| 16 | INHIBIT_PACKAGE_STRIP = "1" | ||
| 17 | INHIBIT_PACKAGE_DEBUG_SPLIT = "1" | ||
| 18 | |||
| 19 | python __set_insane_skip() { | ||
| 20 | # FIXME: All binaries lack GNU_HASH in elf binary but as we don't have | ||
| 21 | # the source we cannot fix it. Disable the insane check for now. | ||
| 22 | # FIXME: gst-fsl-plugin looks for the .so files so we need to deploy those | ||
| 23 | for p in d.getVar('PACKAGES', True).split(): | ||
| 24 | d.setVar("INSANE_SKIP_%s" % p, "ldflags dev-so textrel") | ||
| 25 | } | ||
| 26 | |||
| 27 | do_package_qa[prefuncs] += "__set_insane_skip" | ||
| 28 | |||
| 29 | # FIXME: gst-fsl-plugin looks for the .so files so we need to deploy those | ||
| 30 | FILES_${PN} += "${libdir}/imx-mm/*/*${SOLIBS} ${libdir}/imx-mm/*/*${SOLIBSDEV}" | ||
| 31 | |||
| 32 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
| 33 | |||
diff --git a/recipes-multimedia/libfslparser/libfslparser_4.0.3.bb b/recipes-multimedia/libfslparser/libfslparser_4.0.3.bb new file mode 100644 index 000000000..790cb9523 --- /dev/null +++ b/recipes-multimedia/libfslparser/libfslparser_4.0.3.bb | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | # Copyright (C) 2013-2015 Freescale Semiconductor | ||
| 2 | # Released under the MIT license (see COPYING.MIT for the terms) | ||
| 3 | |||
| 4 | require recipes-multimedia/libfslparser/libfslparser.inc | ||
| 5 | LIC_FILES_CHKSUM = "file://COPYING;md5=acdb807ac7275fe32f9f64992e111241" | ||
| 6 | |||
| 7 | SRC_URI[md5sum] = "a0b0779edc543536de71898657072275" | ||
| 8 | SRC_URI[sha256sum] = "9db10ca6a61c8fdbe91b55b65d084dcbb5f9cfb58b088996c7dd2d6dc8385730" | ||
| 9 | |||
| 10 | COMPATIBLE_MACHINE = "(mx6)" | ||
diff --git a/recipes-multimedia/libfslvpuwrap/libfslvpuwrap_1.0.58.bb b/recipes-multimedia/libfslvpuwrap/libfslvpuwrap_1.0.58.bb new file mode 100644 index 000000000..c61eb6dda --- /dev/null +++ b/recipes-multimedia/libfslvpuwrap/libfslvpuwrap_1.0.58.bb | |||
| @@ -0,0 +1,23 @@ | |||
| 1 | # Copyright (C) 2013-2015 Freescale Semiconductor | ||
| 2 | # Released under the MIT license (see COPYING.MIT for the terms) | ||
| 3 | DESCRIPTION = "Freescale Multimedia VPU wrapper" | ||
| 4 | DEPENDS = "imx-vpu" | ||
| 5 | LICENSE = "Proprietary" | ||
| 6 | SECTION = "multimedia" | ||
| 7 | LIC_FILES_CHKSUM = "file://COPYING;md5=acdb807ac7275fe32f9f64992e111241" | ||
| 8 | |||
| 9 | SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true" | ||
| 10 | S = "${WORKDIR}/${PN}-${PV}" | ||
| 11 | |||
| 12 | SRC_URI[md5sum] = "bf4960ab18e6bb59e98aae797b80cd7f" | ||
| 13 | SRC_URI[sha256sum] = "a278eb18ec24230166ac39e2eadf7b934798f0432654c2e24c4cb69c3ac1cf0f" | ||
| 14 | |||
| 15 | inherit fsl-eula-unpack autotools pkgconfig | ||
| 16 | |||
| 17 | do_install_append() { | ||
| 18 | # FIXME: Drop examples for now | ||
| 19 | rm -r ${D}${datadir} | ||
| 20 | } | ||
| 21 | |||
| 22 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
| 23 | COMPATIBLE_MACHINE = "(mx6q|mx6dl)" | ||
diff --git a/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend b/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend new file mode 100644 index 000000000..b9acb3616 --- /dev/null +++ b/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend | |||
| @@ -0,0 +1,4 @@ | |||
| 1 | |||
| 2 | CACHED_CONFIGUREVARS_append_mx6 = " ax_cv_PTHREAD_PRIO_INHERIT=no" | ||
| 3 | |||
| 4 | PACKAGE_ARCH_mx6 = "${MACHINE_SOCARCH}" | ||
