Complete Yocto mirror with license table for TQMa6UL (2038-compliance)
- 264 license table entries with exact download URLs (224/264 resolved) - Complete sources/ directory with all BitBake recipes - Build configuration: tqma6ul-multi-mba6ulx, spaetzle (musl) - Full traceability for Softwarefreigabeantrag - GCC 13.4.0, Linux 6.6.102, U-Boot 2023.04, musl 1.2.4 - License distribution: GPL-2.0 (24), MIT (23), GPL-2.0+ (18), BSD-3 (16)
This commit is contained in:
@@ -0,0 +1,219 @@
|
||||
From 49a7eac8e02c33cae8a168e6d22d9ff8aaf86d44 Mon Sep 17 00:00:00 2001
|
||||
From: Shengjiu Wang <b02247@freescale.com>
|
||||
Date: Thu, 5 Jun 2014 17:37:47 +0800
|
||||
Subject: [PATCH] add conf for multichannel support in imx
|
||||
|
||||
Upstream-Status: Inappropriate [platform specific]
|
||||
|
||||
Signed-off-by: Shengjiu Wang <b02247@freescale.com>
|
||||
|
||||
---
|
||||
src/conf/cards/CS42888.conf | 94 ++++++++++++++++++++++++++++++++++++
|
||||
src/conf/cards/IMX-HDMI.conf | 67 +++++++++++++++++++++++++
|
||||
src/conf/cards/Makefile.am | 4 +-
|
||||
src/conf/cards/aliases.conf | 2 +
|
||||
4 files changed, 166 insertions(+), 1 deletion(-)
|
||||
create mode 100644 src/conf/cards/CS42888.conf
|
||||
create mode 100644 src/conf/cards/IMX-HDMI.conf
|
||||
|
||||
diff --git a/src/conf/cards/CS42888.conf b/src/conf/cards/CS42888.conf
|
||||
new file mode 100644
|
||||
index 0000000..671a284
|
||||
--- /dev/null
|
||||
+++ b/src/conf/cards/CS42888.conf
|
||||
@@ -0,0 +1,94 @@
|
||||
+#
|
||||
+# Configuration for the CS42888 chip
|
||||
+#
|
||||
+
|
||||
+# default with dmix & dsnoop
|
||||
+CS42888.pcm.default {
|
||||
+ @args [ CARD ]
|
||||
+ @args.CARD {
|
||||
+ type string
|
||||
+ }
|
||||
+ type asym
|
||||
+ playback.pcm {
|
||||
+ type plug
|
||||
+ slave.pcm {
|
||||
+ @func concat
|
||||
+ strings [ "dmix:" $CARD ",FORMAT=S32_LE" ]
|
||||
+ }
|
||||
+ }
|
||||
+ capture.pcm {
|
||||
+ type plug
|
||||
+ slave.pcm {
|
||||
+ @func concat
|
||||
+ strings [ "dsnoop:" $CARD ",FORMAT=S32_LE" ]
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+<confdir:pcm/surround40.conf>
|
||||
+
|
||||
+CS42888.pcm.surround40.0 {
|
||||
+ @args [ CARD ]
|
||||
+ @args.CARD {
|
||||
+ type string
|
||||
+ }
|
||||
+ type plug
|
||||
+ slave.pcm {
|
||||
+ type hw
|
||||
+ card $CARD
|
||||
+ }
|
||||
+ slave.channels 4
|
||||
+ ttable.0.0 1
|
||||
+ ttable.1.2 1
|
||||
+ ttable.2.1 1
|
||||
+ ttable.3.3 1
|
||||
+}
|
||||
+
|
||||
+
|
||||
+<confdir:pcm/surround41.conf>
|
||||
+<confdir:pcm/surround50.conf>
|
||||
+<confdir:pcm/surround51.conf>
|
||||
+
|
||||
+CS42888.pcm.surround51.0 {
|
||||
+ @args [ CARD ]
|
||||
+ @args.CARD {
|
||||
+ type string
|
||||
+ }
|
||||
+ type plug
|
||||
+ slave.pcm {
|
||||
+ type hw
|
||||
+ card $CARD
|
||||
+ }
|
||||
+ slave.channels 6
|
||||
+ ttable.0.0 1
|
||||
+ ttable.1.3 1
|
||||
+ ttable.2.1 1
|
||||
+ ttable.3.4 1
|
||||
+ ttable.4.2 1
|
||||
+ ttable.5.5 1
|
||||
+}
|
||||
+
|
||||
+<confdir:pcm/surround71.conf>
|
||||
+
|
||||
+CS42888.pcm.surround71.0 {
|
||||
+ @args [ CARD ]
|
||||
+ @args.CARD {
|
||||
+ type string
|
||||
+ }
|
||||
+ type plug
|
||||
+ slave.pcm {
|
||||
+ type hw
|
||||
+ card $CARD
|
||||
+ }
|
||||
+ slave.channels 8
|
||||
+ ttable.0.0 1
|
||||
+ ttable.1.4 1
|
||||
+ ttable.2.1 1
|
||||
+ ttable.3.5 1
|
||||
+ ttable.4.2 1
|
||||
+ ttable.5.6 1
|
||||
+ ttable.6.3 1
|
||||
+ ttable.7.7 1
|
||||
+}
|
||||
+
|
||||
+# vim: ft=alsaconf
|
||||
diff --git a/src/conf/cards/IMX-HDMI.conf b/src/conf/cards/IMX-HDMI.conf
|
||||
new file mode 100644
|
||||
index 0000000..a51509e
|
||||
--- /dev/null
|
||||
+++ b/src/conf/cards/IMX-HDMI.conf
|
||||
@@ -0,0 +1,67 @@
|
||||
+#
|
||||
+# Configuration for the CS42888 chip
|
||||
+#
|
||||
+
|
||||
+# default with dmix & dsnoop
|
||||
+IMX-HDMI.pcm.default {
|
||||
+ @args [ CARD ]
|
||||
+ @args.CARD {
|
||||
+ type string
|
||||
+ }
|
||||
+ type asym
|
||||
+ playback.pcm {
|
||||
+ type plug
|
||||
+ slave.pcm {
|
||||
+ @func concat
|
||||
+ strings [ "dmix:" $CARD ",FORMAT=S32_LE" ]
|
||||
+ }
|
||||
+ }
|
||||
+ capture.pcm {
|
||||
+ type plug
|
||||
+ slave.pcm {
|
||||
+ @func concat
|
||||
+ strings [ "dsnoop:" $CARD ",FORMAT=S32_LE" ]
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+<confdir:pcm/surround40.conf>
|
||||
+
|
||||
+IMX-HDMI.pcm.surround40.0 {
|
||||
+ @args [ CARD ]
|
||||
+ @args.CARD {
|
||||
+ type string
|
||||
+ }
|
||||
+ type hw
|
||||
+ card $CARD
|
||||
+ channels 4
|
||||
+}
|
||||
+
|
||||
+
|
||||
+<confdir:pcm/surround41.conf>
|
||||
+<confdir:pcm/surround50.conf>
|
||||
+<confdir:pcm/surround51.conf>
|
||||
+
|
||||
+IMX-HDMI.pcm.surround51.0 {
|
||||
+ @args [ CARD ]
|
||||
+ @args.CARD {
|
||||
+ type string
|
||||
+ }
|
||||
+ type hw
|
||||
+ card $CARD
|
||||
+ channels 6
|
||||
+}
|
||||
+
|
||||
+<confdir:pcm/surround71.conf>
|
||||
+
|
||||
+IMX-HDMI.pcm.surround71.0 {
|
||||
+ @args [ CARD ]
|
||||
+ @args.CARD {
|
||||
+ type string
|
||||
+ }
|
||||
+ type hw
|
||||
+ card $CARD
|
||||
+ channels 8
|
||||
+}
|
||||
+
|
||||
+# vim: ft=alsaconf
|
||||
diff --git a/src/conf/cards/Makefile.am b/src/conf/cards/Makefile.am
|
||||
index 00999f0..fbf0697 100644
|
||||
--- a/src/conf/cards/Makefile.am
|
||||
+++ b/src/conf/cards/Makefile.am
|
||||
@@ -58,7 +58,9 @@ cfg_files = aliases.conf \
|
||||
VIA8237.conf \
|
||||
VX222.conf \
|
||||
VXPocket.conf \
|
||||
- VXPocket440.conf
|
||||
+ VXPocket440.conf \
|
||||
+ CS42888.conf \
|
||||
+ IMX-HDMI.conf
|
||||
|
||||
if BUILD_ALISP
|
||||
cfg_files += aliases.alisp
|
||||
diff --git a/src/conf/cards/aliases.conf b/src/conf/cards/aliases.conf
|
||||
index 7e352f7..a9e6d76 100644
|
||||
--- a/src/conf/cards/aliases.conf
|
||||
+++ b/src/conf/cards/aliases.conf
|
||||
@@ -57,6 +57,8 @@ CMI8786 cards.CMI8788
|
||||
CMI8787 cards.CMI8788
|
||||
pistachio cards.pistachio-card
|
||||
VC4-HDMI cards.vc4-hdmi
|
||||
+imx-cs42888 cards.CS42888
|
||||
+imx-hdmi-soc cards.IMX-HDMI
|
||||
|
||||
<confdir:ctl/default.conf>
|
||||
<confdir:pcm/default.conf>
|
||||
@@ -0,0 +1,41 @@
|
||||
From aa4f56c3c952269c36464cc0da9db5a1381648fa Mon Sep 17 00:00:00 2001
|
||||
From: Jaroslav Kysela <perex@perex.cz>
|
||||
Date: Wed, 9 Nov 2022 08:11:42 +0100
|
||||
Subject: [PATCH] pcm: rate - fix the crash in
|
||||
|
||||
Upstream-Status: Backport
|
||||
|
||||
snd_pcm_rate_may_wait_for_avail_min()
|
||||
|
||||
The pcm argument passed to the conversion function in
|
||||
snd_pcm_plugin_may_wait_for_avail_min_conv() should be
|
||||
pcm->fast_op_arg.
|
||||
|
||||
Test command: arecord -Dplughw:x -r12000 -c2 -fS16_LE -M temp.wav
|
||||
|
||||
Fixes: d9dbb57b ("pcm: rate - rewrite the may_wait_for_avail_min callback for the rate plugin")
|
||||
|
||||
BugLink: https://lore.kernel.org/alsa-devel/1667793912-18957-1-git-send-email-shengjiu.wang@nxp.com/
|
||||
Fixes: https://github.com/alsa-project/alsa-lib/issues/282
|
||||
Reported-by: Shengjiu Wang <shengjiu.wang@nxp.com>
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
---
|
||||
src/pcm/pcm_plugin.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/pcm/pcm_plugin.c b/src/pcm/pcm_plugin.c
|
||||
index 6bb90b8b..ec64604c 100644
|
||||
--- a/src/pcm/pcm_plugin.c
|
||||
+++ b/src/pcm/pcm_plugin.c
|
||||
@@ -622,7 +622,7 @@ int snd_pcm_plugin_may_wait_for_avail_min_conv(
|
||||
* This code is also used by extplug, but extplug does not allow to alter the sampling rate.
|
||||
*/
|
||||
if (conv)
|
||||
- needed_slave_avail_min = conv(pcm, needed_slave_avail_min);
|
||||
+ needed_slave_avail_min = conv(pcm->fast_op_arg, needed_slave_avail_min);
|
||||
|
||||
if (slave->avail_min != needed_slave_avail_min) {
|
||||
snd_pcm_sw_params_t *swparams;
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,128 @@
|
||||
From d78b7e2b964c9713c2e9889f4ec85922528ba971 Mon Sep 17 00:00:00 2001
|
||||
From: Shengjiu Wang <shengjiu.wang@nxp.com>
|
||||
Date: Wed, 31 Jan 2018 15:06:53 +0800
|
||||
Subject: [PATCH] add ak4458 conf for multichannel support
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
one limitation is that ALSA and pulseaudio only support
|
||||
maximum 8 channels, but ak4458 may support 16 channels
|
||||
|
||||
Upstream-Status: Inappropriate [i.MX specific]
|
||||
|
||||
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
|
||||
|
||||
---
|
||||
src/conf/cards/AK4458.conf | 74 +++++++++++++++++++++++++++++++++++++
|
||||
src/conf/cards/Makefile.am | 3 +-
|
||||
src/conf/cards/aliases.conf | 1 +
|
||||
3 files changed, 77 insertions(+), 1 deletion(-)
|
||||
create mode 100644 src/conf/cards/AK4458.conf
|
||||
|
||||
diff --git a/src/conf/cards/AK4458.conf b/src/conf/cards/AK4458.conf
|
||||
new file mode 100644
|
||||
index 0000000..3b5b195
|
||||
--- /dev/null
|
||||
+++ b/src/conf/cards/AK4458.conf
|
||||
@@ -0,0 +1,74 @@
|
||||
+#
|
||||
+# Configuration for the AK4458 chip
|
||||
+#
|
||||
+
|
||||
+# default with dmix & dsnoop
|
||||
+AK4458.pcm.default {
|
||||
+ @args [ CARD ]
|
||||
+ @args.CARD {
|
||||
+ type string
|
||||
+ }
|
||||
+ type asym
|
||||
+ playback.pcm {
|
||||
+ type plug
|
||||
+ slave.pcm {
|
||||
+ @func concat
|
||||
+ strings [ "dmix:" $CARD ",FORMAT=S32_LE" ]
|
||||
+ }
|
||||
+ }
|
||||
+ capture.pcm {
|
||||
+ type plug
|
||||
+ slave.pcm {
|
||||
+ @func concat
|
||||
+ strings [ "dsnoop:" $CARD ",FORMAT=S32_LE" ]
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+<confdir:pcm/surround40.conf>
|
||||
+
|
||||
+AK4458.pcm.surround40.0 {
|
||||
+ @args [ CARD ]
|
||||
+ @args.CARD {
|
||||
+ type string
|
||||
+ }
|
||||
+ type plug
|
||||
+ slave.pcm {
|
||||
+ type hw
|
||||
+ card $CARD
|
||||
+ }
|
||||
+ slave.channels 4
|
||||
+}
|
||||
+
|
||||
+
|
||||
+<confdir:pcm/surround41.conf>
|
||||
+<confdir:pcm/surround50.conf>
|
||||
+<confdir:pcm/surround51.conf>
|
||||
+
|
||||
+AK4458.pcm.surround51.0 {
|
||||
+ @args [ CARD ]
|
||||
+ @args.CARD {
|
||||
+ type string
|
||||
+ }
|
||||
+ type plug
|
||||
+ slave.pcm {
|
||||
+ type hw
|
||||
+ card $CARD
|
||||
+ }
|
||||
+ slave.channels 6
|
||||
+}
|
||||
+
|
||||
+<confdir:pcm/surround71.conf>
|
||||
+
|
||||
+AK4458.pcm.surround71.0 {
|
||||
+ @args [ CARD ]
|
||||
+ @args.CARD {
|
||||
+ type string
|
||||
+ }
|
||||
+ type plug
|
||||
+ slave.pcm {
|
||||
+ type hw
|
||||
+ card $CARD
|
||||
+ }
|
||||
+ slave.channels 8
|
||||
+}
|
||||
diff --git a/src/conf/cards/Makefile.am b/src/conf/cards/Makefile.am
|
||||
index fbf0697..34fa5a3 100644
|
||||
--- a/src/conf/cards/Makefile.am
|
||||
+++ b/src/conf/cards/Makefile.am
|
||||
@@ -60,7 +60,8 @@ cfg_files = aliases.conf \
|
||||
VXPocket.conf \
|
||||
VXPocket440.conf \
|
||||
CS42888.conf \
|
||||
- IMX-HDMI.conf
|
||||
+ IMX-HDMI.conf \
|
||||
+ AK4458.conf
|
||||
|
||||
if BUILD_ALISP
|
||||
cfg_files += aliases.alisp
|
||||
diff --git a/src/conf/cards/aliases.conf b/src/conf/cards/aliases.conf
|
||||
index a9e6d76..2f0a22a 100644
|
||||
--- a/src/conf/cards/aliases.conf
|
||||
+++ b/src/conf/cards/aliases.conf
|
||||
@@ -59,6 +59,7 @@ pistachio cards.pistachio-card
|
||||
VC4-HDMI cards.vc4-hdmi
|
||||
imx-cs42888 cards.CS42888
|
||||
imx-hdmi-soc cards.IMX-HDMI
|
||||
+ak4458-audio cards.AK4458
|
||||
|
||||
<confdir:ctl/default.conf>
|
||||
<confdir:pcm/default.conf>
|
||||
@@ -0,0 +1,87 @@
|
||||
From 36aae65dc913e1ebe72366d7ae361897d465e88d Mon Sep 17 00:00:00 2001
|
||||
From: Viorel Suman <viorel.suman@nxp.com>
|
||||
Date: Mon, 9 Mar 2020 14:25:46 +0200
|
||||
Subject: [PATCH] add conf for iMX XCVR sound card
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
|
||||
|
||||
---
|
||||
src/conf/cards/IMX-XCVR.conf | 39 ++++++++++++++++++++++++++++++++++++
|
||||
src/conf/cards/Makefile.am | 3 ++-
|
||||
src/conf/cards/aliases.conf | 1 +
|
||||
3 files changed, 42 insertions(+), 1 deletion(-)
|
||||
create mode 100755 src/conf/cards/IMX-XCVR.conf
|
||||
|
||||
diff --git a/src/conf/cards/IMX-XCVR.conf b/src/conf/cards/IMX-XCVR.conf
|
||||
new file mode 100755
|
||||
index 0000000..009000c
|
||||
--- /dev/null
|
||||
+++ b/src/conf/cards/IMX-XCVR.conf
|
||||
@@ -0,0 +1,39 @@
|
||||
+#
|
||||
+# Configuration for the IMX-XCVR sound card using software IEC958
|
||||
+# subframe conversion
|
||||
+#
|
||||
+IMX-XCVR.pcm.default {
|
||||
+ @args [ CARD ]
|
||||
+ @args.CARD { type string }
|
||||
+ type plug
|
||||
+ slave.pcm {
|
||||
+ @func concat
|
||||
+ strings [ "iec958:" $CARD ]
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+<confdir:pcm/iec958.conf>
|
||||
+
|
||||
+IMX-XCVR.pcm.iec958.0 {
|
||||
+ @args [ CARD AES0 AES1 AES2 AES3 ]
|
||||
+ @args.CARD { type string }
|
||||
+ @args.AES0 { type integer }
|
||||
+ @args.AES1 { type integer }
|
||||
+ @args.AES2 { type integer }
|
||||
+ @args.AES3 { type integer }
|
||||
+ type iec958
|
||||
+ slave {
|
||||
+ format IEC958_SUBFRAME_LE
|
||||
+ pcm {
|
||||
+ type plug
|
||||
+ slave.pcm {
|
||||
+ type hw
|
||||
+ card $CARD
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ status [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
+ preamble.z 0x0
|
||||
+ preamble.x 0x1
|
||||
+ preamble.y 0x3
|
||||
+}
|
||||
diff --git a/src/conf/cards/Makefile.am b/src/conf/cards/Makefile.am
|
||||
index 34fa5a3..70b9bab 100644
|
||||
--- a/src/conf/cards/Makefile.am
|
||||
+++ b/src/conf/cards/Makefile.am
|
||||
@@ -61,7 +61,8 @@ cfg_files = aliases.conf \
|
||||
VXPocket440.conf \
|
||||
CS42888.conf \
|
||||
IMX-HDMI.conf \
|
||||
- AK4458.conf
|
||||
+ AK4458.conf \
|
||||
+ IMX-XCVR.conf
|
||||
|
||||
if BUILD_ALISP
|
||||
cfg_files += aliases.alisp
|
||||
diff --git a/src/conf/cards/aliases.conf b/src/conf/cards/aliases.conf
|
||||
index 2f0a22a..e824145 100644
|
||||
--- a/src/conf/cards/aliases.conf
|
||||
+++ b/src/conf/cards/aliases.conf
|
||||
@@ -60,6 +60,7 @@ VC4-HDMI cards.vc4-hdmi
|
||||
imx-cs42888 cards.CS42888
|
||||
imx-hdmi-soc cards.IMX-HDMI
|
||||
ak4458-audio cards.AK4458
|
||||
+imx-audio-xcvr cards.IMX-XCVR
|
||||
|
||||
<confdir:ctl/default.conf>
|
||||
<confdir:pcm/default.conf>
|
||||
@@ -0,0 +1,107 @@
|
||||
From 97d5e09a4166b45c567026e51b8a25ef5d7d587d Mon Sep 17 00:00:00 2001
|
||||
From: Chancel Liu <chancel.liu@nxp.com>
|
||||
Date: Fri, 29 Jul 2022 16:12:37 +0800
|
||||
Subject: [PATCH] add conf for imx-cs42448 sound card
|
||||
|
||||
Upstream-Status: Inappropriate [i.MX specific]
|
||||
|
||||
Signed-off-by: Chancel Liu <chancel.liu@nxp.com>
|
||||
---
|
||||
src/conf/cards/CS42448.conf | 58 +++++++++++++++++++++++++++++++++++++
|
||||
src/conf/cards/Makefile.am | 3 +-
|
||||
src/conf/cards/aliases.conf | 1 +
|
||||
3 files changed, 61 insertions(+), 1 deletion(-)
|
||||
create mode 100644 src/conf/cards/CS42448.conf
|
||||
|
||||
diff --git a/src/conf/cards/CS42448.conf b/src/conf/cards/CS42448.conf
|
||||
new file mode 100644
|
||||
index 00000000..28ba5c48
|
||||
--- /dev/null
|
||||
+++ b/src/conf/cards/CS42448.conf
|
||||
@@ -0,0 +1,58 @@
|
||||
+#
|
||||
+# Configuration for the CS42448 chip
|
||||
+#
|
||||
+
|
||||
+# default with dmix & dsnoop
|
||||
+CS42448.pcm.default {
|
||||
+ @args [ CARD ]
|
||||
+ @args.CARD {
|
||||
+ type string
|
||||
+ }
|
||||
+ type asym
|
||||
+ playback.pcm {
|
||||
+ type plug
|
||||
+ slave.pcm {
|
||||
+ @func concat
|
||||
+ strings [ "dmix:" $CARD ",FORMAT=S32_LE" ]
|
||||
+ }
|
||||
+ }
|
||||
+ capture.pcm {
|
||||
+ type plug
|
||||
+ slave.pcm {
|
||||
+ @func concat
|
||||
+ strings [ "dsnoop:" $CARD ",FORMAT=S32_LE" ]
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+<confdir:pcm/surround51.conf>
|
||||
+
|
||||
+CS42448.pcm.surround51.0 {
|
||||
+ @args [ CARD ]
|
||||
+ @args.CARD {
|
||||
+ type string
|
||||
+ }
|
||||
+ type plug
|
||||
+ slave.pcm {
|
||||
+ type hw
|
||||
+ card $CARD
|
||||
+ }
|
||||
+ slave.channels 6
|
||||
+}
|
||||
+
|
||||
+<confdir:pcm/surround71.conf>
|
||||
+
|
||||
+CS42448.pcm.surround71.0 {
|
||||
+ @args [ CARD ]
|
||||
+ @args.CARD {
|
||||
+ type string
|
||||
+ }
|
||||
+ type plug
|
||||
+ slave.pcm {
|
||||
+ type hw
|
||||
+ card $CARD
|
||||
+ }
|
||||
+ slave.channels 8
|
||||
+}
|
||||
+
|
||||
+# vim: ft=alsaconf
|
||||
diff --git a/src/conf/cards/Makefile.am b/src/conf/cards/Makefile.am
|
||||
index 70b9bab3..6aba20b4 100644
|
||||
--- a/src/conf/cards/Makefile.am
|
||||
+++ b/src/conf/cards/Makefile.am
|
||||
@@ -62,7 +62,8 @@ cfg_files = aliases.conf \
|
||||
CS42888.conf \
|
||||
IMX-HDMI.conf \
|
||||
AK4458.conf \
|
||||
- IMX-XCVR.conf
|
||||
+ IMX-XCVR.conf \
|
||||
+ CS42448.conf
|
||||
|
||||
if BUILD_ALISP
|
||||
cfg_files += aliases.alisp
|
||||
diff --git a/src/conf/cards/aliases.conf b/src/conf/cards/aliases.conf
|
||||
index e824145d..a40d3731 100644
|
||||
--- a/src/conf/cards/aliases.conf
|
||||
+++ b/src/conf/cards/aliases.conf
|
||||
@@ -61,6 +61,7 @@ imx-cs42888 cards.CS42888
|
||||
imx-hdmi-soc cards.IMX-HDMI
|
||||
ak4458-audio cards.AK4458
|
||||
imx-audio-xcvr cards.IMX-XCVR
|
||||
+imx-cs42448 cards.CS42448
|
||||
|
||||
<confdir:ctl/default.conf>
|
||||
<confdir:pcm/default.conf>
|
||||
--
|
||||
2.17.1
|
||||
@@ -0,0 +1,15 @@
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
|
||||
|
||||
IMX_PATCH = " \
|
||||
file://0001-add-conf-for-multichannel-support-in-imx.patch \
|
||||
file://0005-add-ak4458-conf-for-multichannel-support.patch \
|
||||
file://0006-add-conf-for-iMX-XCVR-sound-card.patch \
|
||||
file://0007-add-conf-for-imx-cs42448-sound-card.patch \
|
||||
file://0001-pcm-rate-fix-the-crash-in-snd_pcm_rate_may_wait_for_.patch \
|
||||
"
|
||||
SRC_URI:append:imx-nxp-bsp = "${IMX_PATCH}"
|
||||
|
||||
PACKAGE_ARCH:imx-nxp-bsp = "${MACHINE_SOCARCH}"
|
||||
|
||||
GLIBC_64BIT_TIME_FLAGS = ""
|
||||
INSANE_SKIP:append = " 32bit-time"
|
||||
@@ -0,0 +1,42 @@
|
||||
# Copyright 2013-2016 Freescale Semiconductor
|
||||
# Copyright 2017-2023 NXP
|
||||
# Released under the MIT license (see COPYING.MIT for the terms)
|
||||
|
||||
DESCRIPTION = "Freescale alsa-lib plugins"
|
||||
LICENSE = "GPL-2.0-only"
|
||||
SECTION = "multimedia"
|
||||
DEPENDS = "alsa-lib"
|
||||
|
||||
# For backwards compatibility
|
||||
PROVIDES += "fsl-alsa-plugins"
|
||||
RREPLACES:${PN} = "fsl-alsa-plugins"
|
||||
RPROVIDES:${PN} = "fsl-alsa-plugins"
|
||||
RCONFLICTS:${PN} = "fsl-alsa-plugins"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=94d55d512a9ba36caa9b7df079bae19f"
|
||||
|
||||
inherit autotools pkgconfig use-imx-headers
|
||||
|
||||
PV = "1.0.26+${SRCPV}"
|
||||
|
||||
SRC_URI = "git://github.com/nxp-imx/imx-alsa-plugins.git;protocol=https;branch=${SRCBRANCH}"
|
||||
SRCBRANCH = "MM_04.09.02_2410_L6.6.y"
|
||||
SRCREV = "b2ba082e70333f187972ee4e85f63f9d2f608331"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
CFLAGS:append = " -I${STAGING_INCDIR_IMX}"
|
||||
|
||||
PACKAGECONFIG ??= "${PACKAGECONFIG_SWPDM}"
|
||||
PACKAGECONFIG_SWPDM = ""
|
||||
PACKAGECONFIG_SWPDM:mx8-nxp-bsp = "swpdm"
|
||||
|
||||
PACKAGECONFIG[swpdm] = "--enable-swpdm,--disable-swpdm,imx-sw-pdm"
|
||||
|
||||
INSANE_SKIP:${PN} = "dev-so"
|
||||
|
||||
FILES:${PN} += "${libdir}/alsa-lib/libasound_*.so"
|
||||
FILES:${PN}-dbg += "${libdir}/alsa-lib/.debug"
|
||||
FILES:${PN}-dev += "${libdir}/alsa-lib/*.la"
|
||||
|
||||
COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
|
||||
@@ -0,0 +1,97 @@
|
||||
From 24a58d70cbb3997e471366bd5afe54be9007bfb1 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
Date: Tue, 10 Nov 2020 15:32:14 +0000
|
||||
Subject: [PATCH] libavutil: include assembly with full path from source root
|
||||
|
||||
Otherwise nasm writes the full host-specific paths into .o
|
||||
output, which breaks binary reproducibility.
|
||||
|
||||
Upstream-Status: Submitted [by email to jamrial@gmail.com,ffmpeg-devel@ffmpeg.org]
|
||||
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
---
|
||||
libavutil/x86/cpuid.asm | 2 +-
|
||||
libavutil/x86/emms.asm | 2 +-
|
||||
libavutil/x86/fixed_dsp.asm | 2 +-
|
||||
libavutil/x86/float_dsp.asm | 2 +-
|
||||
libavutil/x86/lls.asm | 2 +-
|
||||
libavutil/x86/pixelutils.asm | 2 +-
|
||||
6 files changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/libavutil/x86/cpuid.asm b/libavutil/x86/cpuid.asm
|
||||
index c3f7866..766f77f 100644
|
||||
--- a/libavutil/x86/cpuid.asm
|
||||
+++ b/libavutil/x86/cpuid.asm
|
||||
@@ -21,7 +21,7 @@
|
||||
;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
;******************************************************************************
|
||||
|
||||
-%include "x86util.asm"
|
||||
+%include "libavutil/x86/x86util.asm"
|
||||
|
||||
SECTION .text
|
||||
|
||||
diff --git a/libavutil/x86/emms.asm b/libavutil/x86/emms.asm
|
||||
index 8611762..df84f22 100644
|
||||
--- a/libavutil/x86/emms.asm
|
||||
+++ b/libavutil/x86/emms.asm
|
||||
@@ -18,7 +18,7 @@
|
||||
;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
;******************************************************************************
|
||||
|
||||
-%include "x86util.asm"
|
||||
+%include "libavutil/x86/x86util.asm"
|
||||
|
||||
SECTION .text
|
||||
|
||||
diff --git a/libavutil/x86/fixed_dsp.asm b/libavutil/x86/fixed_dsp.asm
|
||||
index 979dd5c..2f41185 100644
|
||||
--- a/libavutil/x86/fixed_dsp.asm
|
||||
+++ b/libavutil/x86/fixed_dsp.asm
|
||||
@@ -20,7 +20,7 @@
|
||||
;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
;******************************************************************************
|
||||
|
||||
-%include "x86util.asm"
|
||||
+%include "libavutil/x86/x86util.asm"
|
||||
|
||||
SECTION .text
|
||||
|
||||
diff --git a/libavutil/x86/float_dsp.asm b/libavutil/x86/float_dsp.asm
|
||||
index 517fd63..b773e61 100644
|
||||
--- a/libavutil/x86/float_dsp.asm
|
||||
+++ b/libavutil/x86/float_dsp.asm
|
||||
@@ -20,7 +20,7 @@
|
||||
;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
;******************************************************************************
|
||||
|
||||
-%include "x86util.asm"
|
||||
+%include "libavutil/x86/x86util.asm"
|
||||
|
||||
SECTION_RODATA 32
|
||||
pd_reverse: dd 7, 6, 5, 4, 3, 2, 1, 0
|
||||
diff --git a/libavutil/x86/lls.asm b/libavutil/x86/lls.asm
|
||||
index 317fba6..d2526d1 100644
|
||||
--- a/libavutil/x86/lls.asm
|
||||
+++ b/libavutil/x86/lls.asm
|
||||
@@ -20,7 +20,7 @@
|
||||
;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
;******************************************************************************
|
||||
|
||||
-%include "x86util.asm"
|
||||
+%include "libavutil/x86/x86util.asm"
|
||||
|
||||
SECTION .text
|
||||
|
||||
diff --git a/libavutil/x86/pixelutils.asm b/libavutil/x86/pixelutils.asm
|
||||
index 36c57c5..8b45ead 100644
|
||||
--- a/libavutil/x86/pixelutils.asm
|
||||
+++ b/libavutil/x86/pixelutils.asm
|
||||
@@ -21,7 +21,7 @@
|
||||
;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
;******************************************************************************
|
||||
|
||||
-%include "x86util.asm"
|
||||
+%include "libavutil/x86/x86util.asm"
|
||||
|
||||
SECTION .text
|
||||
|
||||
185
sources/meta-freescale/recipes-multimedia/ffmpeg/ffmpeg_4.4.1.bb
Normal file
185
sources/meta-freescale/recipes-multimedia/ffmpeg/ffmpeg_4.4.1.bb
Normal file
@@ -0,0 +1,185 @@
|
||||
SUMMARY = "A complete, cross-platform solution to record, convert and stream audio and video."
|
||||
DESCRIPTION = "FFmpeg is the leading multimedia framework, able to decode, encode, transcode, \
|
||||
mux, demux, stream, filter and play pretty much anything that humans and machines \
|
||||
have created. It supports the most obscure ancient formats up to the cutting edge."
|
||||
HOMEPAGE = "https://www.ffmpeg.org/"
|
||||
SECTION = "libs"
|
||||
|
||||
LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later & ISC & MIT & BSD-2-Clause & BSD-3-Clause & IJG"
|
||||
LICENSE:${PN} = "GPL-2.0-or-later"
|
||||
LICENSE:libavcodec = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
|
||||
LICENSE:libavdevice = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
|
||||
LICENSE:libavfilter = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
|
||||
LICENSE:libavformat = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
|
||||
LICENSE:libavresample = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
|
||||
LICENSE:libavutil = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
|
||||
LICENSE:libpostproc = "GPL-2.0-or-later"
|
||||
LICENSE:libswresample = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
|
||||
LICENSE:libswscale = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}"
|
||||
LICENSE_FLAGS = "commercial"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
|
||||
file://COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \
|
||||
file://COPYING.LGPLv2.1;md5=bd7a443320af8c812e4c18d1b79df004 \
|
||||
file://COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02"
|
||||
|
||||
SRC_URI = "https://www.ffmpeg.org/releases/${BP}.tar.xz \
|
||||
file://0001-libavutil-include-assembly-with-full-path-from-sourc.patch \
|
||||
"
|
||||
SRC_URI[sha256sum] = "eadbad9e9ab30b25f5520fbfde99fae4a92a1ae3c0257a8d68569a4651e30e02"
|
||||
|
||||
# Build fails when thumb is enabled: https://bugzilla.yoctoproject.org/show_bug.cgi?id=7717
|
||||
ARM_INSTRUCTION_SET:armv4 = "arm"
|
||||
ARM_INSTRUCTION_SET:armv5 = "arm"
|
||||
ARM_INSTRUCTION_SET:armv6 = "arm"
|
||||
|
||||
# Should be API compatible with libav (which was a fork of ffmpeg)
|
||||
# libpostproc was previously packaged from a separate recipe
|
||||
PROVIDES = "libav libpostproc"
|
||||
|
||||
DEPENDS = "nasm-native"
|
||||
|
||||
inherit autotools pkgconfig
|
||||
|
||||
PACKAGECONFIG ??= "avdevice avfilter avcodec avformat swresample swscale postproc avresample \
|
||||
alsa bzlib lzma pic pthreads shared theora zlib \
|
||||
${@bb.utils.contains('AVAILTUNES', 'mips32r2', 'mips32r2', '', d)} \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xv xcb', '', d)}"
|
||||
|
||||
# libraries to build in addition to avutil
|
||||
PACKAGECONFIG[avdevice] = "--enable-avdevice,--disable-avdevice"
|
||||
PACKAGECONFIG[avfilter] = "--enable-avfilter,--disable-avfilter"
|
||||
PACKAGECONFIG[avcodec] = "--enable-avcodec,--disable-avcodec"
|
||||
PACKAGECONFIG[avformat] = "--enable-avformat,--disable-avformat"
|
||||
PACKAGECONFIG[swresample] = "--enable-swresample,--disable-swresample"
|
||||
PACKAGECONFIG[swscale] = "--enable-swscale,--disable-swscale"
|
||||
PACKAGECONFIG[postproc] = "--enable-postproc,--disable-postproc"
|
||||
PACKAGECONFIG[avresample] = "--enable-avresample,--disable-avresample"
|
||||
|
||||
# features to support
|
||||
PACKAGECONFIG[alsa] = "--enable-alsa,--disable-alsa,alsa-lib"
|
||||
PACKAGECONFIG[altivec] = "--enable-altivec,--disable-altivec,"
|
||||
PACKAGECONFIG[bzlib] = "--enable-bzlib,--disable-bzlib,bzip2"
|
||||
PACKAGECONFIG[fdk-aac] = "--enable-libfdk-aac --enable-nonfree,--disable-libfdk-aac,fdk-aac"
|
||||
PACKAGECONFIG[gpl] = "--enable-gpl,--disable-gpl"
|
||||
PACKAGECONFIG[gsm] = "--enable-libgsm,--disable-libgsm,libgsm"
|
||||
PACKAGECONFIG[jack] = "--enable-indev=jack,--disable-indev=jack,jack"
|
||||
PACKAGECONFIG[libopus] = "--enable-libopus,--disable-libopus,libopus"
|
||||
PACKAGECONFIG[libvorbis] = "--enable-libvorbis,--disable-libvorbis,libvorbis"
|
||||
PACKAGECONFIG[lzma] = "--enable-lzma,--disable-lzma,xz"
|
||||
PACKAGECONFIG[mfx] = "--enable-libmfx,--disable-libmfx,intel-mediasdk"
|
||||
PACKAGECONFIG[mp3lame] = "--enable-libmp3lame,--disable-libmp3lame,lame"
|
||||
PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl"
|
||||
PACKAGECONFIG[sdl2] = "--enable-sdl2,--disable-sdl2,virtual/libsdl2"
|
||||
PACKAGECONFIG[speex] = "--enable-libspeex,--disable-libspeex,speex"
|
||||
PACKAGECONFIG[srt] = "--enable-libsrt,--disable-libsrt,srt"
|
||||
PACKAGECONFIG[theora] = "--enable-libtheora,--disable-libtheora,libtheora libogg"
|
||||
PACKAGECONFIG[vaapi] = "--enable-vaapi,--disable-vaapi,libva"
|
||||
PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"
|
||||
PACKAGECONFIG[vpx] = "--enable-libvpx,--disable-libvpx,libvpx"
|
||||
PACKAGECONFIG[x264] = "--enable-libx264,--disable-libx264,x264"
|
||||
PACKAGECONFIG[x265] = "--enable-libx265,--disable-libx265,x265"
|
||||
PACKAGECONFIG[xcb] = "--enable-libxcb,--disable-libxcb,libxcb"
|
||||
PACKAGECONFIG[xv] = "--enable-outdev=xv,--disable-outdev=xv,libxv"
|
||||
PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib"
|
||||
|
||||
# other configuration options
|
||||
PACKAGECONFIG[mips32r2] = ",--disable-mipsdsp --disable-mipsdspr2"
|
||||
PACKAGECONFIG[pic] = "--enable-pic"
|
||||
PACKAGECONFIG[pthreads] = "--enable-pthreads,--disable-pthreads"
|
||||
PACKAGECONFIG[shared] = "--enable-shared"
|
||||
PACKAGECONFIG[strip] = ",--disable-stripping"
|
||||
|
||||
# Check codecs that require --enable-nonfree
|
||||
USE_NONFREE = "${@bb.utils.contains_any('PACKAGECONFIG', [ 'openssl' ], 'yes', '', d)}"
|
||||
|
||||
def cpu(d):
|
||||
for arg in (d.getVar('TUNE_CCARGS') or '').split():
|
||||
if arg.startswith('-mcpu='):
|
||||
return arg[6:]
|
||||
return 'generic'
|
||||
|
||||
EXTRA_OECONF = " \
|
||||
${@bb.utils.contains('USE_NONFREE', 'yes', '--enable-nonfree', '', d)} \
|
||||
\
|
||||
--cross-prefix=${TARGET_PREFIX} \
|
||||
\
|
||||
--ld='${CCLD}' \
|
||||
--cc='${CC}' \
|
||||
--cxx='${CXX}' \
|
||||
--arch=${TARGET_ARCH} \
|
||||
--target-os='linux' \
|
||||
--enable-cross-compile \
|
||||
--extra-cflags='${CFLAGS} ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}' \
|
||||
--extra-ldflags='${LDFLAGS}' \
|
||||
--sysroot='${STAGING_DIR_TARGET}' \
|
||||
${EXTRA_FFCONF} \
|
||||
--libdir=${libdir} \
|
||||
--shlibdir=${libdir} \
|
||||
--datadir=${datadir}/ffmpeg \
|
||||
--cpu=${@cpu(d)} \
|
||||
--pkg-config=pkg-config \
|
||||
"
|
||||
|
||||
EXTRA_OECONF:append:linux-gnux32 = " --disable-asm"
|
||||
|
||||
EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'mipsisa64r6', '--disable-mips64r2 --disable-mips32r2', '', d)}"
|
||||
EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'mipsisa64r2', '--disable-mips64r6 --disable-mips32r6', '', d)}"
|
||||
EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'mips32r2', '--disable-mips64r6 --disable-mips32r6', '', d)}"
|
||||
EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'mips32r6', '--disable-mips64r2 --disable-mips32r2', '', d)}"
|
||||
EXTRA_OECONF:append:mips = " --extra-libs=-latomic --disable-mips32r5 --disable-mipsdsp --disable-mipsdspr2 \
|
||||
--disable-loongson2 --disable-loongson3 --disable-mmi --disable-msa --disable-msa2"
|
||||
EXTRA_OECONF:append:riscv32 = " --extra-libs=-latomic"
|
||||
EXTRA_OECONF:append:armv5 = " --extra-libs=-latomic"
|
||||
EXTRA_OECONF:append:powerpc = " --extra-libs=-latomic"
|
||||
|
||||
# gold crashes on x86, another solution is to --disable-asm but thats more hacky
|
||||
# ld.gold: internal error in relocate_section, at ../../gold/i386.cc:3684
|
||||
|
||||
LDFLAGS:append:x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
|
||||
|
||||
EXTRA_OEMAKE = "V=1"
|
||||
|
||||
do_configure() {
|
||||
${S}/configure ${EXTRA_OECONF}
|
||||
}
|
||||
|
||||
# patch out build host paths for reproducibility
|
||||
do_compile:prepend:class-target() {
|
||||
sed -i -e "s,${WORKDIR},,g" ${B}/config.h
|
||||
}
|
||||
|
||||
PACKAGES =+ "libavcodec \
|
||||
libavdevice \
|
||||
libavfilter \
|
||||
libavformat \
|
||||
libavresample \
|
||||
libavutil \
|
||||
libpostproc \
|
||||
libswresample \
|
||||
libswscale"
|
||||
|
||||
FILES:libavcodec = "${libdir}/libavcodec${SOLIBS}"
|
||||
FILES:libavdevice = "${libdir}/libavdevice${SOLIBS}"
|
||||
FILES:libavfilter = "${libdir}/libavfilter${SOLIBS}"
|
||||
FILES:libavformat = "${libdir}/libavformat${SOLIBS}"
|
||||
FILES:libavresample = "${libdir}/libavresample${SOLIBS}"
|
||||
FILES:libavutil = "${libdir}/libavutil${SOLIBS}"
|
||||
FILES:libpostproc = "${libdir}/libpostproc${SOLIBS}"
|
||||
FILES:libswresample = "${libdir}/libswresample${SOLIBS}"
|
||||
FILES:libswscale = "${libdir}/libswscale${SOLIBS}"
|
||||
|
||||
# ffmpeg disables PIC on some platforms (e.g. x86-32)
|
||||
INSANE_SKIP:${MLPREFIX}libavcodec = "textrel"
|
||||
INSANE_SKIP:${MLPREFIX}libavdevice = "textrel"
|
||||
INSANE_SKIP:${MLPREFIX}libavfilter = "textrel"
|
||||
INSANE_SKIP:${MLPREFIX}libavformat = "textrel"
|
||||
INSANE_SKIP:${MLPREFIX}libavutil = "textrel"
|
||||
INSANE_SKIP:${MLPREFIX}libavresample = "textrel"
|
||||
INSANE_SKIP:${MLPREFIX}libswscale = "textrel"
|
||||
INSANE_SKIP:${MLPREFIX}libswresample = "textrel"
|
||||
INSANE_SKIP:${MLPREFIX}libpostproc = "textrel"
|
||||
|
||||
# Downgrade for NXP BSP
|
||||
DEFAULT_PREFERENCE = "-1"
|
||||
COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
|
||||
@@ -0,0 +1,38 @@
|
||||
From 73b1002eda17451db1f58431b42c25203f1d3097 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Sun, 9 Sep 2018 17:38:10 -0700
|
||||
Subject: [PATCH] connect has a different signature on musl
|
||||
|
||||
On linux when not using glibc and using musl for C library, connect
|
||||
API has a different signature, this patch fixes this so it can compile
|
||||
on musl, the functionality should remain same as it is immediately
|
||||
typcasted to struct sockaddr_in* type inside the function before use
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
validate/plugins/fault_injection/socket_interposer.c | 7 ++++++-
|
||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/validate/plugins/fault_injection/socket_interposer.c b/validate/plugins/fault_injection/socket_interposer.c
|
||||
index 53c1ebb..ad7adf8 100644
|
||||
--- a/validate/plugins/fault_injection/socket_interposer.c
|
||||
+++ b/validate/plugins/fault_injection/socket_interposer.c
|
||||
@@ -100,10 +100,15 @@ socket_interposer_set_callback (struct sockaddr_in *addrin,
|
||||
}
|
||||
|
||||
int
|
||||
-connect (int socket, const struct sockaddr_in *addrin, socklen_t address_len)
|
||||
+#if defined(__linux__) && !defined(__GLIBC__)
|
||||
+connect (int socket, const struct sockaddr *addr, socklen_t address_len)
|
||||
+#else
|
||||
+connect (int socket, const struct sockaddr_in *addr, socklen_t address_len)
|
||||
+#endif
|
||||
{
|
||||
size_t i;
|
||||
int override_errno = 0;
|
||||
+ struct sockaddr_in* addrin = (struct sockaddr_in*)addr;
|
||||
typedef ssize_t (*real_connect_fn) (int, const struct sockaddr_in *,
|
||||
socklen_t);
|
||||
static real_connect_fn real_connect = 0;
|
||||
@@ -0,0 +1,52 @@
|
||||
SUMMARY = "Gstreamer validation tool"
|
||||
DESCRIPTION = "A Tool to test GStreamer components"
|
||||
HOMEPAGE = "https://gstreamer.freedesktop.org/documentation/gst-devtools/index.html"
|
||||
SECTION = "multimedia"
|
||||
|
||||
LICENSE = "LGPL-2.1-or-later"
|
||||
LIC_FILES_CHKSUM = "file://validate/COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
|
||||
|
||||
S = "${WORKDIR}/gst-devtools-1.22.5"
|
||||
|
||||
SRC_URI = "https://gstreamer.freedesktop.org/src/gst-devtools/gst-devtools-1.22.5.tar.xz \
|
||||
file://0001-connect-has-a-different-signature-on-musl.patch \
|
||||
"
|
||||
|
||||
SRC_URI[sha256sum] = "2add1519aa6eeb01d544cb94293688ee3bc2079f6bca6075bf5c23d00a0921be"
|
||||
|
||||
DEPENDS = "json-glib glib-2.0 glib-2.0-native gstreamer1.0 gstreamer1.0-plugins-base"
|
||||
RRECOMMENDS:${PN} = "git"
|
||||
|
||||
FILES:${PN} += "${datadir}/gstreamer-1.0/* ${libdir}/gst-validate-launcher/* ${libdir}/gstreamer-1.0/*"
|
||||
|
||||
inherit meson pkgconfig gettext upstream-version-is-even gobject-introspection
|
||||
|
||||
# TODO: put this in a gettext.bbclass patch
|
||||
def gettext_oemeson(d):
|
||||
if d.getVar('USE_NLS') == 'no':
|
||||
return '-Dnls=disabled'
|
||||
# Remove the NLS bits if USE_NLS is no or INHIBIT_DEFAULT_DEPS is set
|
||||
if d.getVar('INHIBIT_DEFAULT_DEPS') and not oe.utils.inherits(d, 'cross-canadian'):
|
||||
return '-Dnls=disabled'
|
||||
return '-Dnls=enabled'
|
||||
|
||||
# Build GstValidateVideo
|
||||
PACKAGECONFIG[cairo] = "-Dcairo=enabled,-Dcairo=disabled,cairo"
|
||||
|
||||
EXTRA_OEMESON += " \
|
||||
-Ddoc=disabled \
|
||||
-Ddebug_viewer=disabled \
|
||||
-Dtests=disabled \
|
||||
-Dvalidate=enabled \
|
||||
${@gettext_oemeson(d)} \
|
||||
"
|
||||
|
||||
do_install:append () {
|
||||
for fn in ${bindir}/gst-validate-launcher \
|
||||
${libdir}/gst-validate-launcher/python/launcher/config.py; do
|
||||
sed -i -e 's,${B},/usr/src/debug/${PN},g' -e 's,${S},/usr/src/debug/${PN},g' ${D}$fn
|
||||
done
|
||||
}
|
||||
|
||||
GIR_MESON_ENABLE_FLAG = "enabled"
|
||||
GIR_MESON_DISABLE_FLAG = "disabled"
|
||||
@@ -0,0 +1,49 @@
|
||||
From cde31d23c071ee93fae96331805f696856084254 Mon Sep 17 00:00:00 2001
|
||||
From: "U. Artie Eoff" <ullysses.a.eoff@intel.com>
|
||||
Date: Mon, 13 Feb 2023 17:02:01 -0500
|
||||
Subject: [PATCH] avviddec: change
|
||||
AV_CODEC_CAP_AUTO_THREADS->AV_CODEC_CAP_OTHER_THREADS
|
||||
|
||||
This fixes a compile error with recent upstream FFmpeg.
|
||||
|
||||
The AV_CODEC_CAP_AUTO_THREADS was deprecated and renamed to
|
||||
AV_CODEC_CAP_OTHER_THREADS in FFmpeg upstream commit
|
||||
7d09579190de (lavc 58.132.100).
|
||||
|
||||
The AV_CODEC_CAP_AUTO_THREADS was finally removed in FFmpeg upstream
|
||||
commit 10c9a0874cb3 (lavc 59.63.100).
|
||||
|
||||
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3964>
|
||||
|
||||
Upstream-Status: Backport [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/commit/cde31d23c071ee93fae96331805f696856084254?merge_request_iid=3964]
|
||||
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
|
||||
---
|
||||
ext/libav/gstavviddec.c | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/ext/libav/gstavviddec.c b/ext/libav/gstavviddec.c
|
||||
index 43cea456ae8..6d7c4cd0de8 100644
|
||||
--- a/ext/libav/gstavviddec.c
|
||||
+++ b/ext/libav/gstavviddec.c
|
||||
@@ -35,6 +35,10 @@
|
||||
|
||||
GST_DEBUG_CATEGORY_STATIC (GST_CAT_PERFORMANCE);
|
||||
|
||||
+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(58,132,100)
|
||||
+#define AV_CODEC_CAP_OTHER_THREADS AV_CODEC_CAP_AUTO_THREADS
|
||||
+#endif
|
||||
+
|
||||
#define GST_FFMPEG_VIDEO_CODEC_FRAME_FLAG_ALLOCATED (1<<15)
|
||||
|
||||
#define MAX_TS_MASK 0xff
|
||||
@@ -615,7 +619,7 @@ gst_ffmpegviddec_set_format (GstVideoDecoder * decoder,
|
||||
if (ffmpegdec->max_threads == 0) {
|
||||
/* When thread type is FF_THREAD_FRAME, extra latency is introduced equal
|
||||
* to one frame per thread. We thus need to calculate the thread count ourselves */
|
||||
- if ((!(oclass->in_plugin->capabilities & AV_CODEC_CAP_AUTO_THREADS)) ||
|
||||
+ if ((!(oclass->in_plugin->capabilities & AV_CODEC_CAP_OTHER_THREADS)) ||
|
||||
(ffmpegdec->context->thread_type & FF_THREAD_FRAME))
|
||||
ffmpegdec->context->thread_count =
|
||||
MIN (gst_ffmpeg_auto_max_threads (), 16);
|
||||
--
|
||||
GitLab
|
||||
@@ -0,0 +1,34 @@
|
||||
SUMMARY = "Libav-based GStreamer 1.x plugin"
|
||||
DESCRIPTION = "Contains a GStreamer plugin for using the encoders, decoders, \
|
||||
muxers, and demuxers provided by FFmpeg."
|
||||
HOMEPAGE = "http://gstreamer.freedesktop.org/"
|
||||
SECTION = "multimedia"
|
||||
|
||||
# ffmpeg has comercial license flags so add it as we need ffmpeg as a dependency
|
||||
LICENSE_FLAGS = "commercial"
|
||||
LICENSE = "LGPL-2.1-or-later"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=69333daa044cb77e486cc36129f7a770 \
|
||||
file://ext/libav/gstav.h;beginline=1;endline=18;md5=a752c35267d8276fd9ca3db6994fca9c \
|
||||
"
|
||||
|
||||
SRC_URI = "https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${@get_gst_ver('${PV}')}.tar.xz"
|
||||
SRC_URI[sha256sum] = "ab775d5b9a7c84176b29822b68c7a34731280039a20b7db5eb639eddd1466178"
|
||||
|
||||
S = "${WORKDIR}/gst-libav-${@get_gst_ver('${PV}')}"
|
||||
|
||||
DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base ffmpeg"
|
||||
|
||||
inherit meson pkgconfig upstream-version-is-even
|
||||
|
||||
EXTRA_OEMESON += " \
|
||||
-Dtests=disabled \
|
||||
"
|
||||
|
||||
# Drop .imx from PV
|
||||
def get_gst_ver(v):
|
||||
return oe.utils.trim_version(v, 3)
|
||||
|
||||
FILES:${PN} += "${libdir}/gstreamer-1.0/*.so"
|
||||
FILES:${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
|
||||
|
||||
COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
|
||||
@@ -0,0 +1,39 @@
|
||||
From 784881b9bffaa768c3a1e9cb3d8eead7b4ca356a Mon Sep 17 00:00:00 2001
|
||||
From: Hiago De Franco <hiago.franco@toradex.com>
|
||||
Date: Thu, 12 Sep 2024 18:44:14 +0200
|
||||
Subject: [PATCH] autovideoconvert: add imxvideoconvert_g2d
|
||||
|
||||
On i.MX8 platform, autovideoconvert defaults to CPU-based processing as
|
||||
imxvideoconvert_g2d is not included as a listed filter, resulting in
|
||||
poor video playback performance.
|
||||
|
||||
Add imxvideoconvert_g2d to improve performance by utilizing hardware
|
||||
acceleration.
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/nxp-imx/gst-plugins-bad/pull/2]
|
||||
Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
|
||||
---
|
||||
gst/autoconvert/gstautovideoconvert.c | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/gst/autoconvert/gstautovideoconvert.c b/gst/autoconvert/gstautovideoconvert.c
|
||||
index cf5468316cd5..b91bd1556c37 100644
|
||||
--- a/gst/autoconvert/gstautovideoconvert.c
|
||||
+++ b/gst/autoconvert/gstautovideoconvert.c
|
||||
@@ -85,6 +85,13 @@ gst_auto_video_convert_init (GstAutoVideoConvert * autovideoconvert)
|
||||
.filters = { NULL },
|
||||
.rank = GST_RANK_SECONDARY,
|
||||
},
|
||||
+ {
|
||||
+ .first_elements = { "capsfilter caps=\"video/x-raw\"", NULL, },
|
||||
+ .colorspace_converters = { "imxvideoconvert_g2d", NULL },
|
||||
+ .last_elements = { NULL, },
|
||||
+ .filters = { NULL },
|
||||
+ .rank = GST_RANK_PRIMARY + 1,
|
||||
+ },
|
||||
{
|
||||
.first_elements = { "capsfilter caps=\"video/x-raw\"", NULL, },
|
||||
.colorspace_converters = { "videoconvertscale", NULL },
|
||||
--
|
||||
2.39.2
|
||||
|
||||
@@ -0,0 +1,229 @@
|
||||
# This recipe is for the i.MX fork of gstreamer1.0-plugins-bad. For ease of
|
||||
# maintenance, the top section is a verbatim copy of an OE-core
|
||||
# recipe. The second section customizes the recipe for i.MX.
|
||||
|
||||
########### OE-core copy ##################
|
||||
# Upstream hash: 937817e5164f8af8452aec03ae3c45cb23d63df9
|
||||
|
||||
require gstreamer1.0-plugins-common.inc
|
||||
require gstreamer1.0-plugins-license.inc
|
||||
|
||||
SUMMARY = "'Bad' GStreamer plugins and helper libraries "
|
||||
HOMEPAGE = "https://gstreamer.freedesktop.org/"
|
||||
BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues"
|
||||
|
||||
SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz \
|
||||
file://0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch \
|
||||
file://0002-avoid-including-sys-poll.h-directly.patch \
|
||||
file://0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \
|
||||
"
|
||||
SRC_URI[sha256sum] = "e64e75cdafd7ff2fc7fc34e855b06b1e3ed227cc06fa378d17bbcd76780c338c"
|
||||
|
||||
S = "${WORKDIR}/gst-plugins-bad-${PV}"
|
||||
|
||||
LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
|
||||
|
||||
DEPENDS += "gstreamer1.0-plugins-base"
|
||||
|
||||
inherit gobject-introspection
|
||||
|
||||
PACKAGECONFIG ??= " \
|
||||
${GSTREAMER_ORC} \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \
|
||||
${@bb.utils.filter('DISTRO_FEATURES', 'directfb vulkan x11', d)} \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)} \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gl', '', d)} \
|
||||
bz2 closedcaption curl dash dtls hls openssl sbc smoothstreaming \
|
||||
sndfile ttml uvch264 webp \
|
||||
${@bb.utils.contains('TUNE_FEATURES', 'mx32', '', 'rsvg', d)} \
|
||||
"
|
||||
|
||||
PACKAGECONFIG[aom] = "-Daom=enabled,-Daom=disabled,aom"
|
||||
PACKAGECONFIG[assrender] = "-Dassrender=enabled,-Dassrender=disabled,libass"
|
||||
PACKAGECONFIG[avtp] = "-Davtp=enabled,-Davtp=disabled,libavtp"
|
||||
PACKAGECONFIG[bluez] = "-Dbluez=enabled,-Dbluez=disabled,bluez5"
|
||||
PACKAGECONFIG[bz2] = "-Dbz2=enabled,-Dbz2=disabled,bzip2"
|
||||
PACKAGECONFIG[closedcaption] = "-Dclosedcaption=enabled,-Dclosedcaption=disabled,pango cairo"
|
||||
PACKAGECONFIG[curl] = "-Dcurl=enabled,-Dcurl=disabled,curl"
|
||||
PACKAGECONFIG[dash] = "-Ddash=enabled,-Ddash=disabled,libxml2"
|
||||
PACKAGECONFIG[dc1394] = "-Ddc1394=enabled,-Ddc1394=disabled,libdc1394"
|
||||
PACKAGECONFIG[directfb] = "-Ddirectfb=enabled,-Ddirectfb=disabled,directfb"
|
||||
PACKAGECONFIG[dtls] = "-Ddtls=enabled,-Ddtls=disabled,openssl"
|
||||
PACKAGECONFIG[faac] = "-Dfaac=enabled,-Dfaac=disabled,faac"
|
||||
PACKAGECONFIG[faad] = "-Dfaad=enabled,-Dfaad=disabled,faad2"
|
||||
PACKAGECONFIG[fluidsynth] = "-Dfluidsynth=enabled,-Dfluidsynth=disabled,fluidsynth"
|
||||
PACKAGECONFIG[hls] = "-Dhls=enabled,-Dhls=disabled,"
|
||||
# Pick atleast one crypto backend below when enabling hls
|
||||
PACKAGECONFIG[nettle] = "-Dhls-crypto=nettle,,nettle"
|
||||
PACKAGECONFIG[openssl] = "-Dhls-crypto=openssl,,openssl"
|
||||
PACKAGECONFIG[gcrypt] = "-Dhls-crypto=libgcrypt,,libgcrypt"
|
||||
# the gl packageconfig enables OpenGL elements that haven't been ported
|
||||
# to -base yet. They depend on the gstgl library in -base, so we do
|
||||
# not add GL dependencies here, since these are taken care of in -base.
|
||||
PACKAGECONFIG[gl] = "-Dgl=enabled,-Dgl=disabled,"
|
||||
PACKAGECONFIG[kms] = "-Dkms=enabled,-Dkms=disabled,libdrm"
|
||||
PACKAGECONFIG[libde265] = "-Dlibde265=enabled,-Dlibde265=disabled,libde265"
|
||||
PACKAGECONFIG[libssh2] = "-Dcurl-ssh2=enabled,-Dcurl-ssh2=disabled,libssh2"
|
||||
PACKAGECONFIG[lcms2] = "-Dcolormanagement=enabled,-Dcolormanagement=disabled,lcms"
|
||||
PACKAGECONFIG[modplug] = "-Dmodplug=enabled,-Dmodplug=disabled,libmodplug"
|
||||
PACKAGECONFIG[msdk] = "-Dmsdk=enabled -Dmfx_api=oneVPL,-Dmsdk=disabled,onevpl-intel-gpu"
|
||||
PACKAGECONFIG[neon] = "-Dneon=enabled,-Dneon=disabled,neon"
|
||||
PACKAGECONFIG[openal] = "-Dopenal=enabled,-Dopenal=disabled,openal-soft"
|
||||
PACKAGECONFIG[opencv] = "-Dopencv=enabled,-Dopencv=disabled,opencv"
|
||||
PACKAGECONFIG[openh264] = "-Dopenh264=enabled,-Dopenh264=disabled,openh264"
|
||||
PACKAGECONFIG[openjpeg] = "-Dopenjpeg=enabled,-Dopenjpeg=disabled,openjpeg"
|
||||
PACKAGECONFIG[openmpt] = "-Dopenmpt=enabled,-Dopenmpt=disabled,libopenmpt"
|
||||
# the opus encoder/decoder elements are now in the -base package,
|
||||
# but the opus parser remains in -bad
|
||||
PACKAGECONFIG[opusparse] = "-Dopus=enabled,-Dopus=disabled,libopus"
|
||||
PACKAGECONFIG[resindvd] = "-Dresindvd=enabled,-Dresindvd=disabled,libdvdread libdvdnav"
|
||||
PACKAGECONFIG[rsvg] = "-Drsvg=enabled,-Drsvg=disabled,librsvg"
|
||||
PACKAGECONFIG[rtmp] = "-Drtmp=enabled,-Drtmp=disabled,rtmpdump"
|
||||
PACKAGECONFIG[sbc] = "-Dsbc=enabled,-Dsbc=disabled,sbc"
|
||||
PACKAGECONFIG[sctp] = "-Dsctp=enabled,-Dsctp=disabled"
|
||||
PACKAGECONFIG[smoothstreaming] = "-Dsmoothstreaming=enabled,-Dsmoothstreaming=disabled,libxml2"
|
||||
PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1"
|
||||
PACKAGECONFIG[srt] = "-Dsrt=enabled,-Dsrt=disabled,srt"
|
||||
PACKAGECONFIG[srtp] = "-Dsrtp=enabled,-Dsrtp=disabled,libsrtp"
|
||||
PACKAGECONFIG[tinyalsa] = "-Dtinyalsa=enabled,-Dtinyalsa=disabled,tinyalsa"
|
||||
PACKAGECONFIG[ttml] = "-Dttml=enabled,-Dttml=disabled,libxml2 pango cairo"
|
||||
PACKAGECONFIG[uvch264] = "-Duvch264=enabled,-Duvch264=disabled,libusb1 libgudev"
|
||||
# this enables support for stateless V4L2 mem2mem codecs, which is a newer form of
|
||||
# V4L2 codec; the V4L2 code in -base supports the older stateful V4L2 mem2mem codecs
|
||||
PACKAGECONFIG[v4l2codecs] = "-Dv4l2codecs=enabled,-Dv4l2codecs=disabled,libgudev"
|
||||
PACKAGECONFIG[va] = "-Dva=enabled,-Dva=disabled,libva"
|
||||
PACKAGECONFIG[voaacenc] = "-Dvoaacenc=enabled,-Dvoaacenc=disabled,vo-aacenc"
|
||||
PACKAGECONFIG[voamrwbenc] = "-Dvoamrwbenc=enabled,-Dvoamrwbenc=disabled,vo-amrwbenc"
|
||||
PACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled,vulkan-loader shaderc-native"
|
||||
PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,wayland-native wayland wayland-protocols libdrm"
|
||||
PACKAGECONFIG[webp] = "-Dwebp=enabled,-Dwebp=disabled,libwebp"
|
||||
PACKAGECONFIG[webrtc] = "-Dwebrtc=enabled,-Dwebrtc=disabled,libnice"
|
||||
PACKAGECONFIG[webrtcdsp] = "-Dwebrtcdsp=enabled,-Dwebrtcdsp=disabled,webrtc-audio-processing"
|
||||
PACKAGECONFIG[zbar] = "-Dzbar=enabled,-Dzbar=disabled,zbar"
|
||||
PACKAGECONFIG[x11] = "-Dx11=enabled,-Dx11=disabled,libxcb libxkbcommon"
|
||||
PACKAGECONFIG[x265] = "-Dx265=enabled,-Dx265=disabled,x265"
|
||||
|
||||
GSTREAMER_GPL = "${@bb.utils.filter('PACKAGECONFIG', 'faad resindvd x265', d)}"
|
||||
|
||||
EXTRA_OEMESON += " \
|
||||
-Ddoc=disabled \
|
||||
-Daes=enabled \
|
||||
-Dcodecalpha=enabled \
|
||||
-Ddecklink=enabled \
|
||||
-Ddvb=enabled \
|
||||
-Dfbdev=enabled \
|
||||
-Dipcpipeline=enabled \
|
||||
-Dshm=enabled \
|
||||
-Dtranscode=enabled \
|
||||
-Dandroidmedia=disabled \
|
||||
-Dapplemedia=disabled \
|
||||
-Dasio=disabled \
|
||||
-Dbs2b=disabled \
|
||||
-Dchromaprint=disabled \
|
||||
-Dd3dvideosink=disabled \
|
||||
-Dd3d11=disabled \
|
||||
-Ddirectsound=disabled \
|
||||
-Ddts=disabled \
|
||||
-Dfdkaac=disabled \
|
||||
-Dflite=disabled \
|
||||
-Dgme=disabled \
|
||||
-Dgs=disabled \
|
||||
-Dgsm=disabled \
|
||||
-Diqa=disabled \
|
||||
-Dkate=disabled \
|
||||
-Dladspa=disabled \
|
||||
-Dldac=disabled \
|
||||
-Dlv2=disabled \
|
||||
-Dmagicleap=disabled \
|
||||
-Dmediafoundation=disabled \
|
||||
-Dmicrodns=disabled \
|
||||
-Dmpeg2enc=disabled \
|
||||
-Dmplex=disabled \
|
||||
-Dmusepack=disabled \
|
||||
-Dnvcodec=disabled \
|
||||
-Dopenexr=disabled \
|
||||
-Dopenni2=disabled \
|
||||
-Dopenaptx=disabled \
|
||||
-Dopensles=disabled \
|
||||
-Donnx=disabled \
|
||||
-Dqroverlay=disabled \
|
||||
-Dsoundtouch=disabled \
|
||||
-Dspandsp=disabled \
|
||||
-Dsvthevcenc=disabled \
|
||||
-Dteletext=disabled \
|
||||
-Dwasapi=disabled \
|
||||
-Dwasapi2=disabled \
|
||||
-Dwildmidi=disabled \
|
||||
-Dwinks=disabled \
|
||||
-Dwinscreencap=disabled \
|
||||
-Dwpe=disabled \
|
||||
-Dzxing=disabled \
|
||||
"
|
||||
|
||||
export OPENCV_PREFIX = "${STAGING_DIR_TARGET}${prefix}"
|
||||
|
||||
ARM_INSTRUCTION_SET:armv4 = "arm"
|
||||
ARM_INSTRUCTION_SET:armv5 = "arm"
|
||||
|
||||
FILES:${PN}-freeverb += "${datadir}/gstreamer-1.0/presets/GstFreeverb.prs"
|
||||
FILES:${PN}-opencv += "${datadir}/gst-plugins-bad/1.0/opencv*"
|
||||
FILES:${PN}-transcode += "${datadir}/gstreamer-1.0/encoding-profiles"
|
||||
FILES:${PN}-voamrwbenc += "${datadir}/gstreamer-1.0/presets/GstVoAmrwbEnc.prs"
|
||||
|
||||
|
||||
########### End of OE-core copy ###########
|
||||
|
||||
########### i.MX overrides ################
|
||||
|
||||
DEFAULT_PREFERENCE = "-1"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4fbd65380cdd255951079008b364516c"
|
||||
|
||||
DEPENDS:append:imxgpu2d = " virtual/libg2d"
|
||||
|
||||
SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz \
|
||||
file://0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch \
|
||||
file://0002-avoid-including-sys-poll.h-directly.patch \
|
||||
file://0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \
|
||||
"
|
||||
SRC_URI:prepend = "${GST1.0-PLUGINS-BAD_SRC};branch=${SRCBRANCH} "
|
||||
SRC_URI:append = " file://0001-autovideoconvert-add-imxvideoconvert_g2d.patch"
|
||||
GST1.0-PLUGINS-BAD_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-bad.git;protocol=https"
|
||||
SRCBRANCH = "MM_04.09.01_2408_L6.6.y"
|
||||
SRCREV = "7011fdfa6d60fb3ee1dc8545f675cfdb519203cd"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit use-imx-headers
|
||||
|
||||
PACKAGE_ARCH:imxpxp = "${MACHINE_SOCARCH}"
|
||||
PACKAGE_ARCH:mx8-nxp-bsp = "${MACHINE_SOCARCH}"
|
||||
|
||||
PACKAGECONFIG_REMOVE ?= " \
|
||||
dtls vulkan \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '', 'gl', d)} \
|
||||
"
|
||||
PACKAGECONFIG:remove = "${PACKAGECONFIG_REMOVE}"
|
||||
PACKAGECONFIG:append:mx8-nxp-bsp = " kms tinycompress"
|
||||
|
||||
PACKAGECONFIG:append = " ${PACKAGECONFIG_G2D}"
|
||||
PACKAGECONFIG_G2D ??= ""
|
||||
PACKAGECONFIG_G2D:imxgpu2d ??= "g2d"
|
||||
|
||||
PACKAGECONFIG[g2d] = ",,virtual/libg2d"
|
||||
PACKAGECONFIG[tinycompress] = "-Dtinycompress=enabled,-Dtinycompress=disabled,tinycompress"
|
||||
|
||||
EXTRA_OEMESON += " \
|
||||
-Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}" \
|
||||
"
|
||||
|
||||
EXTRA_OEMESON:remove = " \
|
||||
-Dkate=disabled \
|
||||
"
|
||||
|
||||
COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
|
||||
# it uses nested functions sadly, in ext/wayland/gstwaylandsink.c for GST_ELEMENT_REGISTER_DEFINE
|
||||
#
|
||||
TOOLCHAIN = "gcc"
|
||||
########### End of i.MX overrides #########
|
||||
@@ -0,0 +1,17 @@
|
||||
PACKAGECONFIG_GL:imxgpu2d = \
|
||||
"${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'opengl', '', d)}"
|
||||
PACKAGECONFIG_GL:imxgpu3d = \
|
||||
"${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl', '', d)}"
|
||||
PACKAGECONFIG_GL:use-mainline-bsp = \
|
||||
"${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl gbm', '', d)}"
|
||||
|
||||
# The i.MX8 uses KMS instead of the Vivante specific framebuffer API.
|
||||
# The i.MX7 does not have a GPU, except for ULP.
|
||||
# This leaves the i.MX6 - with the vendor BSP - as the remaining use case for viv-fb.
|
||||
#
|
||||
# (Note that viv-fb is about the _windowing system_. Vivante direct texture support
|
||||
# does not depend on the viv-fb feature. It used to, but that was actually a bug
|
||||
# which was fixed in GStreamer 1.22.5. Since then, the direct texture support is
|
||||
# detected by Meson by checking for direct texture symbols like "glTexDirectVIV".)
|
||||
PACKAGECONFIG_GL:imxgpu2d:append:mx6-nxp-bsp = " viv-fb "
|
||||
PACKAGECONFIG_GL:imxgpu2d:append:mx7-nxp-bsp = " viv-fb "
|
||||
@@ -0,0 +1,148 @@
|
||||
# This recipe is for the i.MX fork of gstreamer1.0-plugins-base. For ease of
|
||||
# maintenance, the top section is a verbatim copy of an OE-core
|
||||
# recipe. The second section customizes the recipe for i.MX.
|
||||
|
||||
########### OE-core copy ##################
|
||||
# Upstream hash: 937817e5164f8af8452aec03ae3c45cb23d63df9
|
||||
|
||||
require gstreamer1.0-plugins-common.inc
|
||||
|
||||
SUMMARY = "'Base' GStreamer plugins and helper libraries"
|
||||
HOMEPAGE = "https://gstreamer.freedesktop.org/"
|
||||
BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues"
|
||||
LICENSE = "LGPL-2.1-or-later"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=69333daa044cb77e486cc36129f7a770"
|
||||
|
||||
SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${PV}.tar.xz \
|
||||
file://0001-ENGR00312515-get-caps-from-src-pad-when-query-caps.patch \
|
||||
file://0003-viv-fb-Make-sure-config.h-is-included.patch \
|
||||
file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch \
|
||||
"
|
||||
SRC_URI[sha256sum] = "edd4338b45c26a9af28c0d35aab964a024c3884ba6f520d8428df04212c8c93a"
|
||||
|
||||
S = "${WORKDIR}/gst-plugins-base-${PV}"
|
||||
|
||||
DEPENDS += "iso-codes util-linux zlib"
|
||||
|
||||
inherit gobject-introspection
|
||||
|
||||
# opengl packageconfig factored out to make it easy for distros
|
||||
# and BSP layers to choose OpenGL APIs/platforms/window systems
|
||||
PACKAGECONFIG_X11 = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'opengl glx', '', d)}"
|
||||
PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl ${PACKAGECONFIG_X11}', '', d)}"
|
||||
|
||||
PACKAGECONFIG ??= " \
|
||||
${GSTREAMER_ORC} \
|
||||
${PACKAGECONFIG_GL} \
|
||||
${@bb.utils.filter('DISTRO_FEATURES', 'alsa x11', d)} \
|
||||
jpeg ogg pango png theora vorbis \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland egl', '', d)} \
|
||||
"
|
||||
|
||||
OPENGL_APIS = 'opengl gles2'
|
||||
OPENGL_PLATFORMS = 'egl glx'
|
||||
|
||||
X11DEPENDS = "virtual/libx11 libsm libxrender libxv"
|
||||
X11ENABLEOPTS = "-Dx11=enabled -Dxvideo=enabled -Dxshm=enabled"
|
||||
X11DISABLEOPTS = "-Dx11=disabled -Dxvideo=disabled -Dxshm=disabled"
|
||||
|
||||
PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib"
|
||||
PACKAGECONFIG[cdparanoia] = "-Dcdparanoia=enabled,-Dcdparanoia=disabled,cdparanoia"
|
||||
PACKAGECONFIG[graphene] = "-Dgl-graphene=enabled,-Dgl-graphene=disabled,graphene"
|
||||
PACKAGECONFIG[jpeg] = "-Dgl-jpeg=enabled,-Dgl-jpeg=disabled,jpeg"
|
||||
PACKAGECONFIG[ogg] = "-Dogg=enabled,-Dogg=disabled,libogg"
|
||||
PACKAGECONFIG[opus] = "-Dopus=enabled,-Dopus=disabled,libopus"
|
||||
PACKAGECONFIG[pango] = "-Dpango=enabled,-Dpango=disabled,pango"
|
||||
PACKAGECONFIG[png] = "-Dgl-png=enabled,-Dgl-png=disabled,libpng"
|
||||
# This enables Qt5 QML examples in -base. The Qt5 GStreamer
|
||||
# qmlglsink and qmlglsrc plugins still exist in -good.
|
||||
PACKAGECONFIG[qt5] = "-Dqt5=enabled,-Dqt5=disabled,qtbase qtdeclarative qtbase-native"
|
||||
PACKAGECONFIG[theora] = "-Dtheora=enabled,-Dtheora=disabled,libtheora"
|
||||
PACKAGECONFIG[tremor] = "-Dtremor=enabled,-Dtremor=disabled,tremor"
|
||||
PACKAGECONFIG[visual] = "-Dlibvisual=enabled,-Dlibvisual=disabled,libvisual"
|
||||
PACKAGECONFIG[vorbis] = "-Dvorbis=enabled,-Dvorbis=disabled,libvorbis"
|
||||
PACKAGECONFIG[x11] = "${X11ENABLEOPTS},${X11DISABLEOPTS},${X11DEPENDS}"
|
||||
|
||||
# OpenGL API packageconfigs
|
||||
PACKAGECONFIG[opengl] = ",,virtual/libgl libglu"
|
||||
PACKAGECONFIG[gles2] = ",,virtual/libgles2"
|
||||
|
||||
# OpenGL platform packageconfigs
|
||||
PACKAGECONFIG[egl] = ",,virtual/egl"
|
||||
PACKAGECONFIG[glx] = ",,virtual/libgl"
|
||||
|
||||
# OpenGL window systems (except for X11)
|
||||
PACKAGECONFIG[gbm] = ",,virtual/libgbm libgudev libdrm"
|
||||
PACKAGECONFIG[wayland] = ",,wayland-native wayland wayland-protocols libdrm"
|
||||
PACKAGECONFIG[dispmanx] = ",,virtual/libomxil"
|
||||
PACKAGECONFIG[viv-fb] = ",,virtual/libgles2 virtual/libg2d"
|
||||
|
||||
OPENGL_WINSYS = "${@bb.utils.filter('PACKAGECONFIG', 'x11 gbm wayland dispmanx egl viv-fb', d)}"
|
||||
|
||||
EXTRA_OEMESON += " \
|
||||
-Ddoc=disabled \
|
||||
${@get_opengl_cmdline_list('gl_api', d.getVar('OPENGL_APIS'), d)} \
|
||||
${@get_opengl_cmdline_list('gl_platform', d.getVar('OPENGL_PLATFORMS'), d)} \
|
||||
${@get_opengl_cmdline_list('gl_winsys', d.getVar('OPENGL_WINSYS'), d)} \
|
||||
"
|
||||
|
||||
FILES:${PN}-dev += "${libdir}/gstreamer-1.0/include/gst/gl/gstglconfig.h"
|
||||
FILES:${MLPREFIX}libgsttag-1.0 += "${datadir}/gst-plugins-base/1.0/license-translations.dict"
|
||||
|
||||
def get_opengl_cmdline_list(switch_name, options, d):
|
||||
selected_options = []
|
||||
if bb.utils.contains('DISTRO_FEATURES', 'opengl', True, False, d):
|
||||
for option in options.split():
|
||||
if bb.utils.contains('PACKAGECONFIG', option, True, False, d):
|
||||
selected_options += [option]
|
||||
if selected_options:
|
||||
return '-D' + switch_name + '=' + ','.join(selected_options)
|
||||
else:
|
||||
return ''
|
||||
|
||||
CVE_PRODUCT += "gst-plugins-base"
|
||||
|
||||
########### End of OE-core copy ###########
|
||||
|
||||
########### i.MX overrides ################
|
||||
|
||||
DEFAULT_PREFERENCE = "-1"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=69333daa044cb77e486cc36129f7a770"
|
||||
|
||||
SRC_URI:remove = " \
|
||||
https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${PV}.tar.xz \
|
||||
file://0001-ENGR00312515-get-caps-from-src-pad-when-query-caps.patch \
|
||||
file://0003-viv-fb-Make-sure-config.h-is-included.patch \
|
||||
file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch"
|
||||
SRC_URI:prepend = "${GST1.0-PLUGINS-BASE_SRC};branch=${SRCBRANCH} "
|
||||
|
||||
GST1.0-PLUGINS-BASE_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-base.git;protocol=https"
|
||||
SRCBRANCH = "MM_04.09.01_2408_L6.6.y"
|
||||
SRCREV = "97b1a45e945d3784790cafd2fcc4f6cb16e739d7"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit use-imx-headers
|
||||
|
||||
PACKAGECONFIG:remove = "${PACKAGECONFIG_REMOVE}"
|
||||
PACKAGECONFIG_REMOVE ?= "jpeg"
|
||||
|
||||
PACKAGECONFIG:append = " ${PACKAGECONFIG_G2D}"
|
||||
PACKAGECONFIG_G2D ??= ""
|
||||
PACKAGECONFIG_G2D:imxgpu2d ??= "g2d"
|
||||
|
||||
PACKAGECONFIG[g2d] = ",,virtual/libg2d"
|
||||
PACKAGECONFIG[viv-fb] = ",,virtual/libgles2"
|
||||
|
||||
# GCC-14 otherwise errors out
|
||||
CFLAGS += "-Wno-error=incompatible-pointer-types"
|
||||
EXTRA_OEMESON += "-Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}""
|
||||
|
||||
# links with imx-gpu libs which are pre-built for glibc
|
||||
# gcompat will address it during runtime
|
||||
LDFLAGS:append:imxgpu:libc-musl = " -Wl,--allow-shlib-undefined"
|
||||
|
||||
COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
|
||||
|
||||
########### End of i.MX overrides #########
|
||||
@@ -0,0 +1,47 @@
|
||||
# This .inc file contains the common setup for the gstreamer1.0-plugins-*
|
||||
# plugin set recipes.
|
||||
|
||||
# SUMMARY is set in the actual .bb recipes
|
||||
HOMEPAGE = "https://gstreamer.freedesktop.org/"
|
||||
BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=Gstreamer"
|
||||
SECTION = "multimedia"
|
||||
|
||||
DEPENDS = "gstreamer1.0 glib-2.0-native"
|
||||
|
||||
inherit gettext meson pkgconfig upstream-version-is-even
|
||||
|
||||
require gstreamer1.0-plugins-packaging.inc
|
||||
|
||||
# Orc enables runtime JIT compilation of data processing routines from Orc
|
||||
# bytecode to SIMD instructions for various architectures (currently SSE, MMX,
|
||||
# MIPS, Altivec and NEON are supported).
|
||||
# This value is used in the PACKAGECONFIG values for each plugin set recipe.
|
||||
# By modifying it, Orc can be enabled/disabled in all of these recipes at once.
|
||||
GSTREAMER_ORC ?= "orc"
|
||||
# workaround to disable orc on mips to fix the build failure
|
||||
# {standard input}: Assembler messages:
|
||||
# {standard input}:46587: Error: branch out of range
|
||||
GSTREAMER_ORC:mips = ""
|
||||
PACKAGECONFIG[orc] = "-Dorc=enabled,-Dorc=disabled,orc orc-native"
|
||||
|
||||
# TODO: put this in a gettext.bbclass patch (with variables to allow for
|
||||
# configuring the option name and the enabled/disabled values).
|
||||
def gettext_oemeson(d):
|
||||
if d.getVar('USE_NLS') == 'no':
|
||||
return '-Dnls=disabled'
|
||||
# Remove the NLS bits if USE_NLS is no or INHIBIT_DEFAULT_DEPS is set
|
||||
if d.getVar('INHIBIT_DEFAULT_DEPS') and not oe.utils.inherits(d, 'cross-canadian'):
|
||||
return '-Dnls=disabled'
|
||||
return '-Dnls=enabled'
|
||||
|
||||
# Not all plugin sets contain examples, so the -Dexamples
|
||||
# option needs to be added conditionally.
|
||||
GST_PLUGIN_SET_HAS_EXAMPLES ?= "1"
|
||||
|
||||
EXTRA_OEMESON += " \
|
||||
${@bb.utils.contains('GST_PLUGIN_SET_HAS_EXAMPLES', '1', '-Dexamples=disabled', '', d)} \
|
||||
${@gettext_oemeson(d)} \
|
||||
"
|
||||
|
||||
GIR_MESON_ENABLE_FLAG = "enabled"
|
||||
GIR_MESON_DISABLE_FLAG = "disabled"
|
||||
@@ -0,0 +1,132 @@
|
||||
# This recipe is for the i.MX fork of gstreamer1.0-plugins-good. For ease of
|
||||
# maintenance, the top section is a verbatim copy of an OE-core
|
||||
# recipe. The second section customizes the recipe for i.MX.
|
||||
|
||||
########### OE-core copy ##################
|
||||
# Upstream hash: 937817e5164f8af8452aec03ae3c45cb23d63df9
|
||||
|
||||
require gstreamer1.0-plugins-common.inc
|
||||
|
||||
SUMMARY = "'Good' GStreamer plugins"
|
||||
HOMEPAGE = "https://gstreamer.freedesktop.org/"
|
||||
BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues"
|
||||
|
||||
SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \
|
||||
file://0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch \
|
||||
file://0001-v4l2-Define-ioctl_req_t-for-posix-linux-case.patch"
|
||||
|
||||
SRC_URI[sha256sum] = "b67b31313a54c6929b82969d41d3cfdf2f58db573fb5f491e6bba5d84aea0778"
|
||||
|
||||
S = "${WORKDIR}/gst-plugins-good-${PV}"
|
||||
|
||||
LICENSE = "LGPL-2.1-or-later"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
|
||||
file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe"
|
||||
|
||||
DEPENDS += "gstreamer1.0-plugins-base libcap zlib"
|
||||
RPROVIDES:${PN}-pulseaudio += "${PN}-pulse"
|
||||
RPROVIDES:${PN}-soup += "${PN}-souphttpsrc"
|
||||
RDEPENDS:${PN}-soup += "${MLPREFIX}${@bb.utils.contains('PACKAGECONFIG', 'soup2', 'libsoup-2.4', 'libsoup', d)}"
|
||||
|
||||
PACKAGECONFIG_SOUP ?= "soup3"
|
||||
|
||||
PACKAGECONFIG ??= " \
|
||||
${GSTREAMER_ORC} \
|
||||
${PACKAGECONFIG_SOUP} \
|
||||
${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio x11', d)} \
|
||||
${@bb.utils.contains('TUNE_FEATURES', 'm64', 'asm', '', d)} \
|
||||
bz2 cairo flac gdk-pixbuf gudev jpeg lame libpng mpg123 speex taglib v4l2 \
|
||||
"
|
||||
|
||||
X11DEPENDS = "virtual/libx11 libsm libxrender libxfixes libxdamage"
|
||||
X11ENABLEOPTS = "-Dximagesrc=enabled -Dximagesrc-xshm=enabled -Dximagesrc-xfixes=enabled -Dximagesrc-xdamage=enabled"
|
||||
X11DISABLEOPTS = "-Dximagesrc=disabled -Dximagesrc-xshm=disabled -Dximagesrc-xfixes=disabled -Dximagesrc-xdamage=disabled"
|
||||
|
||||
QT5WAYLANDDEPENDS = "${@bb.utils.contains("DISTRO_FEATURES", "wayland", "qtwayland", "", d)}"
|
||||
|
||||
PACKAGECONFIG[asm] = "-Dasm=enabled,-Dasm=disabled,nasm-native"
|
||||
PACKAGECONFIG[bz2] = "-Dbz2=enabled,-Dbz2=disabled,bzip2"
|
||||
PACKAGECONFIG[cairo] = "-Dcairo=enabled,-Dcairo=disabled,cairo"
|
||||
PACKAGECONFIG[dv1394] = "-Ddv1394=enabled,-Ddv1394=disabled,libiec61883 libavc1394 libraw1394"
|
||||
PACKAGECONFIG[flac] = "-Dflac=enabled,-Dflac=disabled,flac"
|
||||
PACKAGECONFIG[gdk-pixbuf] = "-Dgdk-pixbuf=enabled,-Dgdk-pixbuf=disabled,gdk-pixbuf"
|
||||
PACKAGECONFIG[gtk] = "-Dgtk3=enabled,-Dgtk3=disabled,gtk+3"
|
||||
PACKAGECONFIG[gudev] = "-Dv4l2-gudev=enabled,-Dv4l2-gudev=disabled,libgudev"
|
||||
PACKAGECONFIG[jack] = "-Djack=enabled,-Djack=disabled,jack"
|
||||
PACKAGECONFIG[jpeg] = "-Djpeg=enabled,-Djpeg=disabled,jpeg"
|
||||
PACKAGECONFIG[lame] = "-Dlame=enabled,-Dlame=disabled,lame"
|
||||
PACKAGECONFIG[libpng] = "-Dpng=enabled,-Dpng=disabled,libpng"
|
||||
PACKAGECONFIG[libv4l2] = "-Dv4l2-libv4l2=enabled,-Dv4l2-libv4l2=disabled,v4l-utils"
|
||||
PACKAGECONFIG[mpg123] = "-Dmpg123=enabled,-Dmpg123=disabled,mpg123"
|
||||
PACKAGECONFIG[pulseaudio] = "-Dpulse=enabled,-Dpulse=disabled,pulseaudio"
|
||||
PACKAGECONFIG[qt5] = "-Dqt5=enabled,-Dqt5=disabled,qtbase qtdeclarative qtbase-native ${QT5WAYLANDDEPENDS}"
|
||||
PACKAGECONFIG[soup2] = "-Dsoup=enabled,,libsoup-2.4,,,soup3"
|
||||
PACKAGECONFIG[soup3] = "-Dsoup=enabled,,libsoup,,,soup2"
|
||||
PACKAGECONFIG[speex] = "-Dspeex=enabled,-Dspeex=disabled,speex"
|
||||
PACKAGECONFIG[rpi] = "-Drpicamsrc=enabled,-Drpicamsrc=disabled,userland"
|
||||
PACKAGECONFIG[taglib] = "-Dtaglib=enabled,-Dtaglib=disabled,taglib"
|
||||
PACKAGECONFIG[v4l2] = "-Dv4l2=enabled -Dv4l2-probe=true,-Dv4l2=disabled -Dv4l2-probe=false"
|
||||
PACKAGECONFIG[vpx] = "-Dvpx=enabled,-Dvpx=disabled,libvpx"
|
||||
PACKAGECONFIG[wavpack] = "-Dwavpack=enabled,-Dwavpack=disabled,wavpack"
|
||||
PACKAGECONFIG[x11] = "${X11ENABLEOPTS},${X11DISABLEOPTS},${X11DEPENDS}"
|
||||
|
||||
EXTRA_OEMESON += " \
|
||||
-Ddoc=disabled \
|
||||
-Daalib=disabled \
|
||||
-Ddirectsound=disabled \
|
||||
-Ddv=disabled \
|
||||
-Dlibcaca=disabled \
|
||||
-Doss=enabled \
|
||||
-Doss4=disabled \
|
||||
-Dosxaudio=disabled \
|
||||
-Dosxvideo=disabled \
|
||||
-Dshout2=disabled \
|
||||
-Dtwolame=disabled \
|
||||
-Dwaveform=disabled \
|
||||
"
|
||||
|
||||
FILES:${PN}-equalizer += "${datadir}/gstreamer-1.0/presets/*.prs"
|
||||
|
||||
########### End of OE-core copy ###########
|
||||
|
||||
########### i.MX overrides ################
|
||||
|
||||
DEFAULT_PREFERENCE = "-1"
|
||||
|
||||
LIC_FILES_CHKSUM = " \
|
||||
file://LICENSE.txt;md5=a6f89e2100d9b6cdffcea4f398e37343 \
|
||||
file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe \
|
||||
"
|
||||
# Enable pulsesink in gstreamer
|
||||
PACKAGECONFIG:append = "${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)}"
|
||||
|
||||
# fb implementation of v4l2 uses libdrm
|
||||
DEPENDS += "${@bb.utils.contains('PACKAGECONFIG', 'v4l2', '${DEPENDS_V4L2}', '', d)}"
|
||||
DEPENDS_V4L2 = "${@bb.utils.contains_any('DISTRO_FEATURES', 'wayland x11', '', 'libdrm', d)}"
|
||||
|
||||
SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \
|
||||
file://0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch \
|
||||
file://0001-v4l2-Define-ioctl_req_t-for-posix-linux-case.patch \
|
||||
"
|
||||
|
||||
SRC_URI:prepend = "${GST1.0-PLUGINS-GOOD_SRC};branch=${SRCBRANCH} "
|
||||
GST1.0-PLUGINS-GOOD_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-good.git;protocol=https"
|
||||
SRCBRANCH = "MM_04.09.01_2408_L6.6.y"
|
||||
SRCREV = "d8727edd56536a5c39de7905f073fce61896c0af"
|
||||
|
||||
# set 32bit compile timer for 32-bit platform
|
||||
GLIBC_64BIT_TIME_FLAGS:mx6-nxp-bsp = ""
|
||||
GLIBC_64BIT_TIME_FLAGS:mx7-nxp-bsp = ""
|
||||
INSANE_SKIP:mx6-nxp-bsp:append = " 32bit-time"
|
||||
INSANE_SKIP:mx7-nxp-bsp:append = " 32bit-time"
|
||||
|
||||
# GCC-14 otherwise errors out
|
||||
CFLAGS += " \
|
||||
-Wno-error=implicit-function-declaration \
|
||||
-Wno-error=incompatible-pointer-types \
|
||||
"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
|
||||
|
||||
########### End of i.MX overrides #########
|
||||
@@ -0,0 +1,68 @@
|
||||
# Copyright (C) 2018 O.S. Systems Software LTDA.
|
||||
DESCRIPTION = "GStreamer 1.0 plugins for i.MX platforms"
|
||||
LICENSE = "LGPL-2.0-or-later"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=55ca817ccb7d5b5b66355690e9abc605"
|
||||
SECTION = "multimedia"
|
||||
DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base libimxdmabuffer"
|
||||
# add the audioparsers and the videoparsersbad plugins as RDEPENDS ; audioparsers
|
||||
# for the uniaudio decoder, videoparsersbad for the VPU video decoder
|
||||
# the gstreamer1.0-plugins-imx RDEPENDS is necessary to ensure the -good recipe is
|
||||
# built (it is not a compile-time dependency however, hence RDEPENDS and not DEPENDS)
|
||||
RDEPENDS:gstreamer1.0-plugins-imx = "gstreamer1.0-plugins-good gstreamer1.0-plugins-bad"
|
||||
RDEPENDS:gstreamer1.0-plugins-imx-imxaudio = "gstreamer1.0-plugins-good-audioparsers"
|
||||
RDEPENDS:gstreamer1.0-plugins-imx-imxvpu = "gstreamer1.0-plugins-bad-videoparsersbad"
|
||||
|
||||
PV .= "+git${SRCPV}"
|
||||
|
||||
SRCBRANCH ?= "master"
|
||||
SRCREV = "ce4f86e60f12c56574f727f3317fa8aa30a11387"
|
||||
SRC_URI = "git://github.com/Freescale/gstreamer-imx.git;branch=${SRCBRANCH};protocol=https"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit pkgconfig meson use-imx-headers
|
||||
|
||||
# libg2d on i.MX8 SoCs with a DPU is emulated via the DPU.
|
||||
# That particular libg2d .so depends on libdrm, however.
|
||||
# Also, due to behavioral differences, an additional flag
|
||||
# is needed to improve performance.
|
||||
LIBG2D_DPU_OPTION = "-Dg2d-based-on-dpu=false"
|
||||
LIBG2D_DEPENDENCIES = "virtual/libg2d"
|
||||
LIBG2D_DPU_OPTION:imxdpu = "-Dg2d-based-on-dpu=true"
|
||||
LIBG2D_DEPENDENCIES:imxdpu = "virtual/libg2d libdrm"
|
||||
|
||||
# v4l2-amphion and v4l2-isi are meant for the Amphion Malone
|
||||
# VPU decoder and the ISI drivers in older kernels, which had
|
||||
# lots of bugs that required nontrivial workarounds. In the
|
||||
# kernels in this release, newer drivers are present, which
|
||||
# obviate the need for these special elements.
|
||||
EXTRA_OEMESON += "-Dimx-headers-path=${STAGING_INCDIR_IMX} -Dv4l2-amphion=disabled -Dv4l2-isi=false"
|
||||
|
||||
PACKAGECONFIG ?= "uniaudiodec"
|
||||
PACKAGECONFIG:append:imxgpu2d = " g2d"
|
||||
PACKAGECONFIG:append:imxvpu = " vpu"
|
||||
PACKAGECONFIG:append:imxipu = " ipu"
|
||||
PACKAGECONFIG:append:imxpxp = " pxp"
|
||||
# The custom imxv4l2 source and sink elements are only
|
||||
# available on the i.MX6.
|
||||
# The 2D blitter sinks require an MXC framebuffer, which
|
||||
# is not available anymore on the i.MX8 (since these SoCs
|
||||
# now use KMS instead of the old Linux framebuffer).
|
||||
PACKAGECONFIG:append:mx6-nxp-bsp = " imx2dvideosink v4l2-mxc-source-sink"
|
||||
PACKAGECONFIG:append:mx7-nxp-bsp = " imx2dvideosink"
|
||||
|
||||
PACKAGECONFIG[g2d] = "-Dg2d=enabled ${LIBG2D_DPU_OPTION},-Dg2d=disabled,${LIBG2D_DEPENDENCIES}"
|
||||
PACKAGECONFIG[pxp] = "-Dpxp=enabled,-Dpxp=disabled,"
|
||||
PACKAGECONFIG[ipu] = "-Dipu=enabled,-Dipu=disabled,"
|
||||
PACKAGECONFIG[vpu] = "-Dvpu=enabled,-Dvpu=disabled,libimxvpuapi2"
|
||||
PACKAGECONFIG[imx2dvideosink] = "-Dimx2d-videosink=true,-Dimx2d-videosink=false,"
|
||||
PACKAGECONFIG[v4l2-mxc-source-sink] = "-Dv4l2-mxc-source-sink=true,-Dv4l2-mxc-source-sink=false,"
|
||||
PACKAGECONFIG[uniaudiodec] = "-Duniaudiodec=enabled,-Duniaudiodec=disabled,imx-codec"
|
||||
PACKAGECONFIG[mp3encoder] = "-Dmp3encoder=enabled,-Dmp3encoder=disabled,imx-codec"
|
||||
|
||||
require gstreamer1.0-plugins-packaging.inc
|
||||
|
||||
# the following line is required to produce one package for each plugin
|
||||
PACKAGES_DYNAMIC = "^${PN}-.*"
|
||||
|
||||
COMPATIBLE_MACHINE = "(mx6dl-nxp-bsp|mx6q-nxp-bsp|mx6sl-nxp-bsp|mx6sx-nxp-bsp|mx6ul-nxp-bsp|mx6ull-nxp-bsp|mx7d-nxp-bsp|mx8-nxp-bsp)"
|
||||
@@ -0,0 +1,19 @@
|
||||
# This .inc file contains functionality for automatically setting
|
||||
# the the license of all plugins according to the GSTREAMER_GPL.
|
||||
|
||||
PACKAGESPLITFUNCS += "set_gstreamer_license"
|
||||
|
||||
python set_gstreamer_license () {
|
||||
import oe.utils
|
||||
pn = d.getVar('PN') + '-'
|
||||
gpl_plugins_names = [pn+plugin for plugin in d.getVar('GSTREAMER_GPL').split()]
|
||||
for pkg in oe.utils.packages_filter_out_system(d):
|
||||
if pkg in gpl_plugins_names:
|
||||
d.setVar('LICENSE:' + pkg, 'GPL-2.0-or-later')
|
||||
else:
|
||||
d.setVar('LICENSE:' + pkg, 'LGPL-2.1-or-later')
|
||||
}
|
||||
|
||||
EXTRA_OEMESON += " \
|
||||
${@bb.utils.contains_any('PACKAGECONFIG', "${GSTREAMER_GPL}", '-Dgpl=enabled', '-Dgpl=disabled', d)} \
|
||||
"
|
||||
@@ -0,0 +1,73 @@
|
||||
# This .inc file contains functionality for automatically splitting
|
||||
# built plugins into individual packages for each plugin. A -meta
|
||||
# package is also set up that has no files of its own, but contains
|
||||
# the names of all plugin packages in its RDEPENDS list.
|
||||
#
|
||||
# This is mainly used by the gstreamer1.0-plugins-* plugin set recipes,
|
||||
# but can be used in any recipe that produces GStreamer plugins.
|
||||
|
||||
# Dynamically generate packages for all enabled plugins
|
||||
PACKAGES_DYNAMIC = "^${PN}-.* ^libgst.*"
|
||||
|
||||
PACKAGESPLITFUNCS =+ "split_gstreamer10_packages"
|
||||
PACKAGESPLITFUNCS += "set_gstreamer10_metapkg_rdepends"
|
||||
|
||||
python split_gstreamer10_packages () {
|
||||
gst_libdir = d.expand('${libdir}/gstreamer-1.0')
|
||||
postinst = d.getVar('plugin_postinst')
|
||||
glibdir = d.getVar('libdir')
|
||||
|
||||
# GStreamer libraries
|
||||
do_split_packages(d, glibdir, r'^lib(.*)\.so\.*', 'lib%s', 'GStreamer 1.0 %s library', extra_depends='', allow_links=True)
|
||||
# GStreamer plugin shared objects
|
||||
do_split_packages(d, gst_libdir, r'libgst(.*)\.so$', d.expand('${PN}-%s'), 'GStreamer 1.0 plugin for %s', postinst=postinst, extra_depends='')
|
||||
# GObject introspection files for GStreamer plugins
|
||||
do_split_packages(d, glibdir+'/girepository-1.0', r'Gst(.*)-1.0\.typelib$', d.expand('${PN}-%s-typelib'), 'GStreamer 1.0 typelib file for %s', postinst=postinst, extra_depends='')
|
||||
# Static GStreamer libraries for development
|
||||
do_split_packages(d, gst_libdir, r'libgst(.*)\.a$', d.expand('${PN}-%s-staticdev'), 'GStreamer 1.0 plugin for %s (static development files)', extra_depends='${PN}-staticdev')
|
||||
}
|
||||
|
||||
python set_gstreamer10_metapkg_rdepends () {
|
||||
import os
|
||||
import oe.utils
|
||||
|
||||
# Go through all generated packages (excluding the main package and
|
||||
# the -meta package itself) and add them to the -meta package as RDEPENDS.
|
||||
|
||||
pn = d.getVar('PN')
|
||||
metapkg = pn + '-meta'
|
||||
d.setVar('ALLOW_EMPTY:' + metapkg, "1")
|
||||
d.setVar('FILES:' + metapkg, "")
|
||||
exclude = [ pn, pn + '-meta' ]
|
||||
metapkg_rdepends = []
|
||||
pkgdest = d.getVar('PKGDEST')
|
||||
for pkg in oe.utils.packages_filter_out_system(d):
|
||||
if pkg not in exclude and pkg not in metapkg_rdepends:
|
||||
# See if the package is empty by looking at the contents of its PKGDEST subdirectory.
|
||||
# If this subdirectory is empty, then the package is.
|
||||
# Empty packages do not get added to the meta package's RDEPENDS
|
||||
pkgdir = os.path.join(pkgdest, pkg)
|
||||
if os.path.exists(pkgdir):
|
||||
dir_contents = os.listdir(pkgdir) or []
|
||||
else:
|
||||
dir_contents = []
|
||||
is_empty = len(dir_contents) == 0
|
||||
if not is_empty:
|
||||
metapkg_rdepends.append(pkg)
|
||||
d.setVar('RDEPENDS:' + metapkg, ' '.join(metapkg_rdepends))
|
||||
d.setVar('DESCRIPTION:' + metapkg, pn + ' meta package')
|
||||
}
|
||||
|
||||
# each plugin-dev depends on PN-dev, plugin-staticdev on PN-staticdev
|
||||
# so we need them even when empty (like in gst-plugins-good case)
|
||||
ALLOW_EMPTY:${PN} = "1"
|
||||
ALLOW_EMPTY:${PN}-dev = "1"
|
||||
ALLOW_EMPTY:${PN}-staticdev = "1"
|
||||
|
||||
PACKAGES += "${PN}-apps ${PN}-meta ${PN}-glib"
|
||||
|
||||
FILES:${PN} = ""
|
||||
FILES:${PN}-apps = "${bindir}"
|
||||
FILES:${PN}-glib = "${datadir}/glib-2.0"
|
||||
|
||||
RRECOMMENDS:${PN} += "${PN}-meta"
|
||||
@@ -0,0 +1,48 @@
|
||||
require gstreamer1.0-plugins-common.inc
|
||||
require gstreamer1.0-plugins-license.inc
|
||||
|
||||
SUMMARY = "'Ugly GStreamer plugins"
|
||||
HOMEPAGE = "https://gstreamer.freedesktop.org/"
|
||||
BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/issues"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
|
||||
"
|
||||
|
||||
LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later"
|
||||
LICENSE_FLAGS = "commercial"
|
||||
|
||||
SRC_URI = " \
|
||||
https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${@get_gst_ver("${PV}")}.tar.xz \
|
||||
"
|
||||
SRC_URI[sha256sum] = "c5d1cbdf71ab0c675bca236f70edfa1feb3f813fd4bfff563308f466d8805ca5"
|
||||
|
||||
S = "${WORKDIR}/gst-plugins-ugly-${@get_gst_ver("${PV}")}"
|
||||
|
||||
DEPENDS += "gstreamer1.0-plugins-base"
|
||||
|
||||
GST_PLUGIN_SET_HAS_EXAMPLES = "0"
|
||||
|
||||
PACKAGECONFIG ??= " \
|
||||
${GSTREAMER_ORC} \
|
||||
"
|
||||
|
||||
PACKAGECONFIG[a52dec] = "-Da52dec=enabled,-Da52dec=disabled,liba52"
|
||||
PACKAGECONFIG[cdio] = "-Dcdio=enabled,-Dcdio=disabled,libcdio"
|
||||
PACKAGECONFIG[dvdread] = "-Ddvdread=enabled,-Ddvdread=disabled,libdvdread"
|
||||
PACKAGECONFIG[mpeg2dec] = "-Dmpeg2dec=enabled,-Dmpeg2dec=disabled,mpeg2dec"
|
||||
PACKAGECONFIG[x264] = "-Dx264=enabled,-Dx264=disabled,x264"
|
||||
|
||||
GSTREAMER_GPL = "${@bb.utils.filter('PACKAGECONFIG', 'a52dec cdio dvdread mpeg2dec x264', d)}"
|
||||
|
||||
EXTRA_OEMESON += " \
|
||||
-Ddoc=disabled \
|
||||
-Dsidplay=disabled \
|
||||
"
|
||||
|
||||
# Drop .imx from PV
|
||||
def get_gst_ver(v):
|
||||
return oe.utils.trim_version(v, 3)
|
||||
|
||||
FILES:${PN}-x264 += "${datadir}/gstreamer-1.0/presets/GstX264Enc.prs"
|
||||
|
||||
COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
|
||||
@@ -0,0 +1,47 @@
|
||||
From 8d7e2eaed10e2928358805f613223a6a149790d6 Mon Sep 17 00:00:00 2001
|
||||
From: Hiago De Franco <hiago.franco@toradex.com>
|
||||
Date: Wed, 31 Jul 2024 11:51:06 -0300
|
||||
Subject: [PATCH] meson.build: Fix missing python_opt
|
||||
|
||||
'python_opt' was not declared earlier, giving the following build error:
|
||||
|
||||
| Message: python_abi_flags =
|
||||
|
|
||||
| ../gst-python-1.24.0/meson.build:84:16: ERROR: Unknown variable "python_opt".
|
||||
|
||||
Remove it and keep the error message.
|
||||
|
||||
Upstream-Status: Inappropriate [oe specific]
|
||||
|
||||
The patch already exists upstream, but this is related to another fix [1]
|
||||
not suitable for OE. Moreover, the backport does not apply since
|
||||
the patch was added to the gstreamer monorepo.
|
||||
|
||||
[1] https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6734?
|
||||
|
||||
Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
|
||||
---
|
||||
meson.build | 7 +------
|
||||
1 file changed, 1 insertion(+), 6 deletions(-)
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index f240b6fd8aca..53f7a43702c7 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -80,12 +80,7 @@ foreach loc: pylib_locs
|
||||
endforeach
|
||||
endforeach
|
||||
if pylib_fname == ''
|
||||
- error_msg = 'Could not find python library to load'
|
||||
- if python_opt.enabled()
|
||||
- error(error_msg)
|
||||
- else
|
||||
- message(error_msg)
|
||||
- endif
|
||||
+ message('Could not find python library to load')
|
||||
endif
|
||||
|
||||
pygi_override_dir = get_option('pygi-overrides-dir')
|
||||
--
|
||||
2.39.2
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
SUMMARY = "Python bindings for GStreamer 1.0"
|
||||
DESCRIPTION = "GStreamer Python binding overrides (complementing the bindings \
|
||||
provided by python-gi) "
|
||||
HOMEPAGE = "http://cgit.freedesktop.org/gstreamer/gst-python/"
|
||||
SECTION = "multimedia"
|
||||
|
||||
LICENSE = "LGPL-2.1-or-later"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=c34deae4e395ca07e725ab0076a5f740"
|
||||
|
||||
SRC_URI = "\
|
||||
https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${@get_gst_ver("${PV}")}.tar.xz \
|
||||
file://0001-meson.build-Fix-missing-python_opt.patch \
|
||||
"
|
||||
SRC_URI[sha256sum] = "041c2255c1ea9936c777dcb08a36ecaa6a24a69a12fc46ef53f1530d46c59f9d"
|
||||
|
||||
DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject"
|
||||
RDEPENDS:${PN} += "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject"
|
||||
|
||||
PNREAL = "gst-python"
|
||||
|
||||
S = "${WORKDIR}/${PNREAL}-${@get_gst_ver('${PV}')}"
|
||||
|
||||
EXTRA_OEMESON += "\
|
||||
-Dtests=disabled \
|
||||
-Dplugin=enabled \
|
||||
-Dlibpython-dir=${libdir} \
|
||||
"
|
||||
|
||||
inherit meson pkgconfig setuptools3-base upstream-version-is-even features_check
|
||||
|
||||
# Drop .imx from PV
|
||||
def get_gst_ver(v):
|
||||
return oe.utils.trim_version(v, 3)
|
||||
|
||||
FILES:${PN} += "${libdir}/gstreamer-1.0"
|
||||
|
||||
REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
|
||||
@@ -0,0 +1,38 @@
|
||||
SUMMARY = "A library on top of GStreamer for building an RTSP server"
|
||||
HOMEPAGE = "http://cgit.freedesktop.org/gstreamer/gst-rtsp-server/"
|
||||
SECTION = "multimedia"
|
||||
LICENSE = "LGPL-2.1-or-later"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=69333daa044cb77e486cc36129f7a770"
|
||||
|
||||
DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base"
|
||||
|
||||
PNREAL = "gst-rtsp-server"
|
||||
|
||||
SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${@get_gst_ver("${PV}")}.tar.xz"
|
||||
|
||||
SRC_URI[sha256sum] = "5b0fa6b12ba95b1d336a4b274cbe19e982aa3e6819f1d97bfd8e0102b103ed9b"
|
||||
|
||||
S = "${WORKDIR}/${PNREAL}-${@get_gst_ver("${PV}")}"
|
||||
|
||||
inherit meson pkgconfig upstream-version-is-even gobject-introspection
|
||||
|
||||
EXTRA_OEMESON += " \
|
||||
-Ddoc=disabled \
|
||||
-Dexamples=disabled \
|
||||
-Dtests=disabled \
|
||||
"
|
||||
|
||||
GIR_MESON_ENABLE_FLAG = "enabled"
|
||||
GIR_MESON_DISABLE_FLAG = "disabled"
|
||||
|
||||
# Drop .imx from PV
|
||||
def get_gst_ver(v):
|
||||
return oe.utils.trim_version(v, 3)
|
||||
|
||||
# Starting with 1.8.0 gst-rtsp-server includes dependency-less plugins as well
|
||||
require gstreamer1.0-plugins-packaging.inc
|
||||
|
||||
CVE_PRODUCT += "gst-rtsp-server"
|
||||
|
||||
COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
PACKAGECONFIG_GL:imxgpu = "egl"
|
||||
@@ -0,0 +1,57 @@
|
||||
SUMMARY = "VA-API support to GStreamer"
|
||||
HOMEPAGE = "https://gstreamer.freedesktop.org/"
|
||||
DESCRIPTION = "gstreamer-vaapi consists of a collection of VA-API \
|
||||
based plugins for GStreamer and helper libraries: `vaapidecode', \
|
||||
`vaapiconvert', and `vaapisink'."
|
||||
|
||||
REALPN = "gstreamer-vaapi"
|
||||
|
||||
LICENSE = "LGPL-2.1-or-later"
|
||||
LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
|
||||
|
||||
SRC_URI = "https://gstreamer.freedesktop.org/src/${REALPN}/${REALPN}-1.24.0.tar.xz"
|
||||
|
||||
SRC_URI[sha256sum] = "6b1f3b91ca65dedc67dc67a25dc1d1e464f11825a27ab9c7ac7c1bda67f03596"
|
||||
|
||||
S = "${WORKDIR}/${REALPN}-${@get_gst_ver('${PV}')}"
|
||||
DEPENDS = "libva gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad"
|
||||
|
||||
inherit meson pkgconfig features_check upstream-version-is-even
|
||||
|
||||
# Drop .imx from PV
|
||||
def get_gst_ver(v):
|
||||
return oe.utils.trim_version(v, 3)
|
||||
|
||||
REQUIRED_DISTRO_FEATURES ?= "opengl"
|
||||
|
||||
EXTRA_OEMESON += " \
|
||||
-Ddoc=disabled \
|
||||
-Dexamples=disabled \
|
||||
-Dtests=enabled \
|
||||
"
|
||||
|
||||
PACKAGES =+ "${PN}-tests"
|
||||
|
||||
# OpenGL packageconfig factored out to make it easy for distros
|
||||
# and BSP layers to pick either glx, egl, or no GL. By default,
|
||||
# try detecting X11 first, and if found (with OpenGL), use GLX,
|
||||
# otherwise try to check if EGL can be used.
|
||||
PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'glx', \
|
||||
bb.utils.contains('DISTRO_FEATURES', 'opengl', 'egl', \
|
||||
'', d), d)}"
|
||||
|
||||
PACKAGECONFIG ??= "drm encoders \
|
||||
${PACKAGECONFIG_GL} \
|
||||
${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}"
|
||||
|
||||
PACKAGECONFIG[drm] = "-Ddrm=enabled,-Ddrm=disabled,udev libdrm"
|
||||
PACKAGECONFIG[egl] = "-Degl=enabled,-Degl=disabled,virtual/egl"
|
||||
PACKAGECONFIG[encoders] = "-Dencoders=enabled,-Dencoders=disabled"
|
||||
PACKAGECONFIG[glx] = "-Dglx=enabled,-Dglx=disabled,virtual/libgl"
|
||||
PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,wayland-native wayland wayland-protocols"
|
||||
PACKAGECONFIG[x11] = "-Dx11=enabled,-Dx11=disabled,virtual/libx11 libxrandr libxrender"
|
||||
|
||||
FILES:${PN} += "${libdir}/gstreamer-*/*.so"
|
||||
FILES:${PN}-dbg += "${libdir}/gstreamer-*/.debug"
|
||||
FILES:${PN}-dev += "${libdir}/gstreamer-*/*.a"
|
||||
FILES:${PN}-tests = "${bindir}/*"
|
||||
@@ -0,0 +1,34 @@
|
||||
From 559e1dd850b2b9eb3a415aa43e932e5e48f605cd Mon Sep 17 00:00:00 2001
|
||||
From: Jose Quaresma <quaresma.jose@gmail.com>
|
||||
Date: Sun, 11 Apr 2021 19:48:13 +0100
|
||||
Subject: [PATCH] tests: respect the idententaion used in meson
|
||||
|
||||
Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789]
|
||||
|
||||
Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
|
||||
|
||||
---
|
||||
tests/check/meson.build | 10 +++++-----
|
||||
1 file changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/tests/check/meson.build b/tests/check/meson.build
|
||||
index 9787b0a..16caac7 100644
|
||||
--- a/tests/check/meson.build
|
||||
+++ b/tests/check/meson.build
|
||||
@@ -145,11 +145,11 @@ foreach t : core_tests
|
||||
|
||||
if not skip_test
|
||||
exe = executable(test_name, fname,
|
||||
- c_args : gst_c_args + test_defines,
|
||||
- cpp_args : gst_c_args + test_defines,
|
||||
- include_directories : [configinc],
|
||||
- link_with : link_with_libs,
|
||||
- dependencies : gst_deps + test_deps,
|
||||
+ c_args : gst_c_args + test_defines,
|
||||
+ cpp_args : gst_c_args + test_defines,
|
||||
+ include_directories : [configinc],
|
||||
+ link_with : link_with_libs,
|
||||
+ dependencies : gst_deps + test_deps,
|
||||
)
|
||||
|
||||
env = environment()
|
||||
@@ -0,0 +1,109 @@
|
||||
From 330e15374bb30ac29ee72c4b3de79c17b1157112 Mon Sep 17 00:00:00 2001
|
||||
From: Jose Quaresma <quaresma.jose@gmail.com>
|
||||
Date: Sun, 11 Apr 2021 19:48:13 +0100
|
||||
Subject: [PATCH] tests: add support for install the tests
|
||||
|
||||
This will provide to run the tests using the gnome-desktop-testing [1]
|
||||
|
||||
[1] https://wiki.gnome.org/Initiatives/GnomeGoals/InstalledTests
|
||||
|
||||
Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789]
|
||||
|
||||
Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
|
||||
|
||||
---
|
||||
meson.build | 4 ++++
|
||||
meson_options.txt | 1 +
|
||||
tests/check/meson.build | 21 ++++++++++++++++++++-
|
||||
tests/check/template.test.in | 3 +++
|
||||
4 files changed, 28 insertions(+), 1 deletion(-)
|
||||
create mode 100644 tests/check/template.test.in
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 540d6d290e10..0267f22a79ea 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -624,6 +624,10 @@ if bashcomp_dep.found()
|
||||
endif
|
||||
endif
|
||||
|
||||
+installed_tests_enabled = get_option('installed_tests')
|
||||
+installed_tests_metadir = join_paths(datadir, 'installed-tests', meson.project_name())
|
||||
+installed_tests_execdir = join_paths(libexecdir, 'installed-tests', meson.project_name())
|
||||
+
|
||||
plugins_install_dir = join_paths(get_option('libdir'), 'gstreamer-1.0')
|
||||
|
||||
pkgconfig = import('pkgconfig')
|
||||
diff --git a/meson_options.txt b/meson_options.txt
|
||||
index 340fb5801d02..5b87f68e8d7f 100644
|
||||
--- a/meson_options.txt
|
||||
+++ b/meson_options.txt
|
||||
@@ -16,6 +16,7 @@ option('poisoning', type : 'boolean', value : false, description : 'Enable poiso
|
||||
option('memory-alignment', type: 'combo',
|
||||
choices : ['1', '2', '4', '8', '16', '32', '64', '128', '256', '512', '1024', '2048', '4096', '8192', 'malloc', 'pagesize'],
|
||||
value: 'malloc')
|
||||
+option('installed_tests', type : 'boolean', value : false, description : 'Enable installed tests')
|
||||
|
||||
# Feature options
|
||||
option('check', type : 'feature', value : 'auto', description : 'Build unit test libraries')
|
||||
diff --git a/tests/check/meson.build b/tests/check/meson.build
|
||||
index e9501feb2af5..fd5a99611e3d 100644
|
||||
--- a/tests/check/meson.build
|
||||
+++ b/tests/check/meson.build
|
||||
@@ -125,10 +125,16 @@ test_defines = [
|
||||
'-UG_DISABLE_ASSERT',
|
||||
'-UG_DISABLE_CAST_CHECKS',
|
||||
'-DGST_CHECK_TEST_ENVIRONMENT_BEACON="GST_STATE_IGNORE_ELEMENTS"',
|
||||
- '-DTESTFILE="' + fsmod.as_posix(meson.current_source_dir()) + '/meson.build"',
|
||||
'-DGST_DISABLE_DEPRECATED',
|
||||
]
|
||||
|
||||
+testfile = meson.current_source_dir() + '/meson.build'
|
||||
+if installed_tests_enabled
|
||||
+ install_data(testfile, install_dir : installed_tests_metadir, rename : 'testfile')
|
||||
+ testfile = installed_tests_metadir + '/testfile'
|
||||
+endif
|
||||
+test_defines += '-DTESTFILE="@0@"'.format(testfile)
|
||||
+
|
||||
# sanity checking
|
||||
if get_option('check').disabled()
|
||||
if get_option('tests').enabled()
|
||||
@@ -151,6 +157,8 @@ foreach t : core_tests
|
||||
include_directories : [configinc],
|
||||
link_with : link_with_libs,
|
||||
dependencies : gst_deps + test_deps,
|
||||
+ install_dir: installed_tests_execdir,
|
||||
+ install: installed_tests_enabled,
|
||||
)
|
||||
|
||||
env = environment()
|
||||
@@ -161,6 +169,17 @@ foreach t : core_tests
|
||||
env.set('GST_REGISTRY', '@0@/@1@.registry'.format(meson.current_build_dir(), test_name))
|
||||
env.set('GST_PLUGIN_SCANNER_1_0', gst_scanner_dir + '/gst-plugin-scanner')
|
||||
env.set('GST_PLUGIN_LOADING_WHITELIST', 'gstreamer')
|
||||
+ if installed_tests_enabled
|
||||
+ test_conf = configuration_data()
|
||||
+ test_conf.set('installed_tests_dir', join_paths(prefix, installed_tests_execdir))
|
||||
+ test_conf.set('program', test_name)
|
||||
+ configure_file(
|
||||
+ input: 'template.test.in',
|
||||
+ output: test_name + '.test',
|
||||
+ install_dir: installed_tests_metadir,
|
||||
+ configuration: test_conf
|
||||
+ )
|
||||
+ endif
|
||||
|
||||
test(test_name, exe, env: env, timeout : 3 * 60)
|
||||
endif
|
||||
diff --git a/tests/check/template.test.in b/tests/check/template.test.in
|
||||
new file mode 100644
|
||||
index 000000000000..f701627f87a6
|
||||
--- /dev/null
|
||||
+++ b/tests/check/template.test.in
|
||||
@@ -0,0 +1,3 @@
|
||||
+[Test]
|
||||
+Type=session
|
||||
+Exec=@installed_tests_dir@/@program@
|
||||
--
|
||||
2.39.2
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
From 1f13b802bdb1c1e414c70f770dc164c80e0dcd57 Mon Sep 17 00:00:00 2001
|
||||
From: Jose Quaresma <quaresma.jose@gmail.com>
|
||||
Date: Sat, 24 Apr 2021 10:34:47 +0100
|
||||
Subject: [PATCH 3/4] tests: use a dictionaries for environment
|
||||
|
||||
meson environment() can't be passed to configure_file and it is needed for installed_tests,
|
||||
use a dictionary as this is simplest solution to install the environment.
|
||||
|
||||
Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789]
|
||||
|
||||
Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
|
||||
---
|
||||
tests/check/meson.build | 22 ++++++++++++++--------
|
||||
1 file changed, 14 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/tests/check/meson.build b/tests/check/meson.build
|
||||
index fd5a99611e3d..330abaaeadd5 100644
|
||||
--- a/tests/check/meson.build
|
||||
+++ b/tests/check/meson.build
|
||||
@@ -161,14 +161,20 @@ foreach t : core_tests
|
||||
install: installed_tests_enabled,
|
||||
)
|
||||
|
||||
- env = environment()
|
||||
- env.set('GST_PLUGIN_PATH_1_0', meson.project_build_root())
|
||||
- env.set('GST_PLUGIN_SYSTEM_PATH_1_0', '')
|
||||
- env.set('GST_STATE_IGNORE_ELEMENTS', '')
|
||||
- env.set('CK_DEFAULT_TIMEOUT', '20')
|
||||
- env.set('GST_REGISTRY', '@0@/@1@.registry'.format(meson.current_build_dir(), test_name))
|
||||
- env.set('GST_PLUGIN_SCANNER_1_0', gst_scanner_dir + '/gst-plugin-scanner')
|
||||
- env.set('GST_PLUGIN_LOADING_WHITELIST', 'gstreamer')
|
||||
+ # meson environment object can't be passed to configure_file and
|
||||
+ # installed tests uses configure_file to install the environment.
|
||||
+ # use a dictionary as this is the simplest solution
|
||||
+ # to install the environment.
|
||||
+ env = {
|
||||
+ 'GST_PLUGIN_PATH_1_0': meson.project_build_root(),
|
||||
+ 'GST_PLUGIN_SYSTEM_PATH_1_0': '',
|
||||
+ 'GST_STATE_IGNORE_ELEMENTS': '',
|
||||
+ 'CK_DEFAULT_TIMEOUT': '20',
|
||||
+ 'GST_REGISTRY': '@0@/@1@.registry'.format(meson.current_build_dir(), test_name),
|
||||
+ 'GST_PLUGIN_SCANNER_1_0': gst_scanner_dir + '/gst-plugin-scanner',
|
||||
+ 'GST_PLUGIN_LOADING_WHITELIST': 'gstreamer',
|
||||
+ }
|
||||
+
|
||||
if installed_tests_enabled
|
||||
test_conf = configuration_data()
|
||||
test_conf.set('installed_tests_dir', join_paths(prefix, installed_tests_execdir))
|
||||
--
|
||||
2.39.2
|
||||
|
||||
@@ -0,0 +1,74 @@
|
||||
From 616c489d4ff1e7ed878bc3760180ba994fbd1974 Mon Sep 17 00:00:00 2001
|
||||
From: Jose Quaresma <quaresma.jose@gmail.com>
|
||||
Date: Sun, 2 May 2021 01:58:01 +0100
|
||||
Subject: [PATCH 4/4] tests: add helper script to run the installed_tests
|
||||
|
||||
- this is a bash script that will run the installed_tests
|
||||
with some of the environment variables used in the meson
|
||||
testing framework.
|
||||
|
||||
Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789]
|
||||
|
||||
Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
|
||||
---
|
||||
tests/check/meson.build | 17 +++++++++++++++++
|
||||
tests/check/template.sh.in | 9 +++++++++
|
||||
tests/check/template.test.in | 2 +-
|
||||
3 files changed, 27 insertions(+), 1 deletion(-)
|
||||
create mode 100644 tests/check/template.sh.in
|
||||
|
||||
diff --git a/tests/check/meson.build b/tests/check/meson.build
|
||||
index 330abaaeadd5..5d383b14dc29 100644
|
||||
--- a/tests/check/meson.build
|
||||
+++ b/tests/check/meson.build
|
||||
@@ -185,6 +185,23 @@ foreach t : core_tests
|
||||
install_dir: installed_tests_metadir,
|
||||
configuration: test_conf
|
||||
)
|
||||
+
|
||||
+ # All the tests will be deployed on the target machine and
|
||||
+ # we use the home folder ~ for the registry which will then expand at runtime.
|
||||
+ # Using the /tmp/gstreamer-1.0/@0@.registry can be problematic as it mostly
|
||||
+ # is mounted using tmpfs and if the machine crash from some reason we can lost the registry
|
||||
+ # that is useful for debug propose of the tests itself.
|
||||
+ env += {'GST_REGISTRY': '~/.cache/gstreamer-1.0/@0@.registry'.format(test_name)}
|
||||
+
|
||||
+ # Set the full path for the test it self.
|
||||
+ env += {'TEST': '@0@/@1@'.format(join_paths(prefix, installed_tests_execdir), test_name)}
|
||||
+
|
||||
+ configure_file(
|
||||
+ input : 'template.sh.in',
|
||||
+ output: test_name + '.sh',
|
||||
+ install_dir: installed_tests_execdir,
|
||||
+ configuration : env,
|
||||
+ )
|
||||
endif
|
||||
|
||||
test(test_name, exe, env: env, timeout : 3 * 60)
|
||||
diff --git a/tests/check/template.sh.in b/tests/check/template.sh.in
|
||||
new file mode 100644
|
||||
index 000000000000..cf7d31b0ea5f
|
||||
--- /dev/null
|
||||
+++ b/tests/check/template.sh.in
|
||||
@@ -0,0 +1,9 @@
|
||||
+#!/bin/sh
|
||||
+
|
||||
+set -ax
|
||||
+
|
||||
+CK_DEFAULT_TIMEOUT="@CK_DEFAULT_TIMEOUT@"
|
||||
+GST_PLUGIN_LOADING_WHITELIST="@GST_PLUGIN_LOADING_WHITELIST@"
|
||||
+GST_REGISTRY=@GST_REGISTRY@
|
||||
+GST_STATE_IGNORE_ELEMENTS="@GST_STATE_IGNORE_ELEMENTS@"
|
||||
+exec @TEST@
|
||||
diff --git a/tests/check/template.test.in b/tests/check/template.test.in
|
||||
index f701627f87a6..b74ef6ad732a 100644
|
||||
--- a/tests/check/template.test.in
|
||||
+++ b/tests/check/template.test.in
|
||||
@@ -1,3 +1,3 @@
|
||||
[Test]
|
||||
Type=session
|
||||
-Exec=@installed_tests_dir@/@program@
|
||||
+Exec=@installed_tests_dir@/@program@.sh
|
||||
--
|
||||
2.39.2
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
#!/usr/bin/env sh
|
||||
gnome-desktop-testing-runner gstreamer
|
||||
@@ -0,0 +1,105 @@
|
||||
# This recipe is for the i.MX fork of gstreamer1.0. For ease of
|
||||
# maintenance, the top section is a verbatim copy of an OE-core
|
||||
# recipe. The second section customizes the recipe for i.MX.
|
||||
|
||||
########### OE-core copy ##################
|
||||
# Upstream hash: 937817e5164f8af8452aec03ae3c45cb23d63df9
|
||||
|
||||
SUMMARY = "GStreamer 1.0 multimedia framework"
|
||||
DESCRIPTION = "GStreamer is a multimedia framework for encoding and decoding video and sound. \
|
||||
It supports a wide range of formats including mp3, ogg, avi, mpeg and quicktime."
|
||||
HOMEPAGE = "http://gstreamer.freedesktop.org/"
|
||||
BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=Gstreamer"
|
||||
SECTION = "multimedia"
|
||||
LICENSE = "LGPL-2.1-or-later"
|
||||
|
||||
DEPENDS = "glib-2.0 glib-2.0-native libxml2 bison-native flex-native"
|
||||
|
||||
inherit meson pkgconfig gettext upstream-version-is-even gobject-introspection ptest-gnome
|
||||
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=69333daa044cb77e486cc36129f7a770 \
|
||||
file://gst/gst.h;beginline=1;endline=21;md5=e059138481205ee2c6fc1c079c016d0d"
|
||||
|
||||
S = "${WORKDIR}/gstreamer-${PV}"
|
||||
|
||||
SRC_URI = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz \
|
||||
file://run-ptest \
|
||||
file://0001-tests-respect-the-idententaion-used-in-meson.patch \
|
||||
file://0002-tests-add-support-for-install-the-tests.patch \
|
||||
file://0003-tests-use-a-dictionaries-for-environment.patch \
|
||||
file://0004-tests-add-helper-script-to-run-the-installed_tests.patch \
|
||||
"
|
||||
SRC_URI[sha256sum] = "4408d7930f381809e85917acc19712f173261ba85bdf20c5567b2a21b1193b61"
|
||||
|
||||
PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \
|
||||
check \
|
||||
debug \
|
||||
tools"
|
||||
|
||||
PACKAGECONFIG[debug] = "-Dgst_debug=true,-Dgst_debug=false"
|
||||
PACKAGECONFIG[tracer-hooks] = "-Dtracer_hooks=true,-Dtracer_hooks=false"
|
||||
PACKAGECONFIG[coretracers] = "-Dcoretracers=enabled,-Dcoretracers=disabled"
|
||||
PACKAGECONFIG[check] = "-Dcheck=enabled,-Dcheck=disabled"
|
||||
PACKAGECONFIG[tests] = "-Dtests=enabled -Dinstalled_tests=true,-Dtests=disabled -Dinstalled_tests=false"
|
||||
PACKAGECONFIG[unwind] = "-Dlibunwind=enabled,-Dlibunwind=disabled,libunwind"
|
||||
PACKAGECONFIG[dw] = "-Dlibdw=enabled,-Dlibdw=disabled,elfutils"
|
||||
PACKAGECONFIG[bash-completion] = "-Dbash-completion=enabled,-Dbash-completion=disabled,bash-completion"
|
||||
PACKAGECONFIG[tools] = "-Dtools=enabled,-Dtools=disabled"
|
||||
PACKAGECONFIG[setcap] = "-Dptp-helper-permissions=capabilities,,libcap libcap-native"
|
||||
|
||||
# TODO: put this in a gettext.bbclass patch
|
||||
def gettext_oemeson(d):
|
||||
if d.getVar('USE_NLS') == 'no':
|
||||
return '-Dnls=disabled'
|
||||
# Remove the NLS bits if USE_NLS is no or INHIBIT_DEFAULT_DEPS is set
|
||||
if d.getVar('INHIBIT_DEFAULT_DEPS') and not oe.utils.inherits(d, 'cross-canadian'):
|
||||
return '-Dnls=disabled'
|
||||
return '-Dnls=enabled'
|
||||
|
||||
EXTRA_OEMESON += " \
|
||||
-Ddoc=disabled \
|
||||
-Dexamples=disabled \
|
||||
-Ddbghelp=disabled \
|
||||
${@gettext_oemeson(d)} \
|
||||
"
|
||||
|
||||
GIR_MESON_ENABLE_FLAG = "enabled"
|
||||
GIR_MESON_DISABLE_FLAG = "disabled"
|
||||
|
||||
PACKAGES += "${PN}-bash-completion"
|
||||
|
||||
# Add the core element plugins to the main package
|
||||
FILES:${PN} += "${libdir}/gstreamer-1.0/*.so"
|
||||
FILES:${PN}-dev += "${libdir}/gstreamer-1.0/*.a ${libdir}/gstreamer-1.0/include"
|
||||
FILES:${PN}-bash-completion += "${datadir}/bash-completion/completions/ ${datadir}/bash-completion/helpers/gst*"
|
||||
FILES:${PN}-dbg += "${datadir}/gdb ${datadir}/gstreamer-1.0/gdb"
|
||||
|
||||
RDEPENDS:${PN}-ptest:append:libc-glibc = " glibc-gconv-iso8859-5"
|
||||
|
||||
CVE_PRODUCT = "gstreamer"
|
||||
|
||||
PTEST_BUILD_HOST_FILES = ""
|
||||
|
||||
########### End of OE-core copy ###########
|
||||
|
||||
########### i.MX overrides ################
|
||||
|
||||
DEFAULT_PREFERENCE = "-1"
|
||||
|
||||
LIC_FILES_CHKSUM = " \
|
||||
file://LICENSE.txt;md5=69333daa044cb77e486cc36129f7a770 \
|
||||
file://gst/gst.h;beginline=1;endline=21;md5=e059138481205ee2c6fc1c079c016d0d \
|
||||
"
|
||||
|
||||
# Use i.MX fork of GST for customizations
|
||||
SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz"
|
||||
SRC_URI:prepend = "${GST1.0_SRC};branch=${SRCBRANCH} "
|
||||
GST1.0_SRC ?= "gitsm://github.com/nxp-imx/gstreamer.git;protocol=https"
|
||||
SRCBRANCH = "MM_04.09.01_2408_L6.6.y"
|
||||
SRCREV = "eb286c0766a4fbbae70c8e9dda074f5a90e52e42"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
|
||||
|
||||
########### End of i.MX overrides #########
|
||||
@@ -0,0 +1,98 @@
|
||||
# Copyright (C) 2014,2016 Freescale Semiconductor
|
||||
# Copyright 2017-2021 NXP
|
||||
# Copyright (C) 2012-2015 O.S. Systems Software LTDA.
|
||||
# Released under the MIT license (see COPYING.MIT for the terms)
|
||||
|
||||
DESCRIPTION = "Gstreamer freescale plugins"
|
||||
SECTION = "multimedia"
|
||||
LICENSE = "GPL-2.0-only & LGPL-2.0-only & LGPL-2.1-only"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=fbc093901857fcd118f065f900982c24"
|
||||
|
||||
DEPENDS = " \
|
||||
gstreamer1.0 \
|
||||
gstreamer1.0-plugins-base \
|
||||
gstreamer1.0-plugins-bad \
|
||||
imx-codec \
|
||||
imx-parser \
|
||||
${DEPENDS_IMXGPU} \
|
||||
"
|
||||
DEPENDS:append:mx6-nxp-bsp = " imx-lib"
|
||||
DEPENDS:append:mx7-nxp-bsp = " imx-lib"
|
||||
DEPENDS:append:mx8ulp-nxp-bsp = " imx-lib"
|
||||
DEPENDS:append:mx93-nxp-bsp = " imx-lib"
|
||||
DEPENDS:append:imxvpu = " imx-vpuwrap"
|
||||
DEPENDS:append:imxfbdev:imxgpu = " libdrm"
|
||||
DEPENDS_IMXGPU = ""
|
||||
DEPENDS_IMXGPU:imxgpu = "${DEPENDS_IMX_OPENCL_CONVERTER}"
|
||||
DEPENDS_IMX_OPENCL_CONVERTER = "imx-opencl-converter"
|
||||
DEPENDS_IMX_OPENCL_CONVERTER:mx6-nxp-bsp = ""
|
||||
DEPENDS_IMX_OPENCL_CONVERTER:mx7-nxp-bsp = ""
|
||||
DEPENDS_IMX_OPENCL_CONVERTER:mx8mm-nxp-bsp = ""
|
||||
|
||||
# For backwards compatibility
|
||||
RREPLACES:${PN} = "gst1.0-fsl-plugin"
|
||||
RPROVIDES:${PN} = "gst1.0-fsl-plugin"
|
||||
RCONFLICTS:${PN} = "gst1.0-fsl-plugin"
|
||||
|
||||
PV = "4.9.1+git${SRCPV}"
|
||||
|
||||
SRC_URI = "git://github.com/nxp-imx/imx-gst1.0-plugin.git;protocol=https;branch=${SRCBRANCH}"
|
||||
SRCBRANCH = "MM_04.09.01_2408_L6.6.y"
|
||||
SRCREV = "87135d5f084b6c61efa6671cddc3a5509ab11640"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit meson pkgconfig use-imx-headers
|
||||
|
||||
PLATFORM:mx6-nxp-bsp = "MX6"
|
||||
PLATFORM:mx6sl-nxp-bsp = "MX6SL"
|
||||
PLATFORM:mx6sx-nxp-bsp = "MX6SX"
|
||||
PLATFORM:mx6ul-nxp-bsp = "MX6UL"
|
||||
PLATFORM:mx6sll-nxp-bsp = "MX6SLL"
|
||||
PLATFORM:mx7-nxp-bsp= "MX7D"
|
||||
PLATFORM:mx7ulp-nxp-bsp= "MX7ULP"
|
||||
PLATFORM:mx8-nxp-bsp = "MX8"
|
||||
PLATFORM:mx9-nxp-bsp = "MX9"
|
||||
|
||||
CFLAGS:append:toolchain-clang = " -Wno-implicit-int -Wno-int-conversion -Wno-incompatible-function-pointer-types"
|
||||
|
||||
# Todo add a mechanism to map possible build targets
|
||||
EXTRA_OEMESON = "-Dplatform=${PLATFORM} \
|
||||
-Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}" \
|
||||
"
|
||||
|
||||
PACKAGES =+ "${PN}-gplay ${PN}-libgplaycore ${PN}-libgstfsl ${PN}-grecorder ${PN}-librecorder-engine ${PN}-libplayengine"
|
||||
|
||||
# Add codec list that the beep plugin run-time depended
|
||||
BEEP_RDEPENDS = "imx-codec-aac imx-codec-mp3 imx-codec-oggvorbis"
|
||||
RDEPENDS:${PN} += "imx-parser ${BEEP_RDEPENDS} gstreamer1.0-plugins-good-id3demux "
|
||||
RDEPENDS:${PN}:append:mx8qm-nxp-bsp = " imx-dsp"
|
||||
RDEPENDS:${PN}:append:mx8qxp-nxp-bsp = " imx-dsp"
|
||||
RDEPENDS:${PN}:append:mx8dx-nxp-bsp = " imx-dsp"
|
||||
RDEPENDS:${PN}:append:mx8mp-nxp-bsp = " imx-dsp"
|
||||
RDEPENDS:${PN}:append:mx8ulp-nxp-bsp = " imx-dsp"
|
||||
|
||||
PACKAGECONFIG ?= ""
|
||||
|
||||
# FIXME: Add all features
|
||||
# feature from excluded mm packages
|
||||
PACKAGECONFIG[ac3] = ",,imx-ac3codec,imx-ac3codec"
|
||||
# feature from special mm packages
|
||||
PACKAGECONFIG[aacp] = ",,imx-aacpcodec,imx-aacpcodec"
|
||||
MSDEPENDS = "imx-msparser imx-mscodec"
|
||||
PACKAGECONFIG[wma10dec] = ",,${MSDEPENDS},${MSDEPENDS}"
|
||||
PACKAGECONFIG[wma8enc] = ",,${MSDEPENDS},${MSDEPENDS}"
|
||||
|
||||
FILES:${PN} = "${libdir}/gstreamer-1.0/*.so ${datadir}"
|
||||
|
||||
FILES:${PN}-dbg += "${libdir}/gstreamer-1.0/.debug"
|
||||
FILES:${PN}-dev += "${libdir}/gstreamer-1.0/*.la ${libdir}/pkgconfig/*.pc"
|
||||
FILES:${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
|
||||
FILES:${PN}-gplay = "${bindir}/gplay-1.0"
|
||||
FILES:${PN}-libgplaycore = "${libdir}/libgplaycore-1.0${SOLIBS}"
|
||||
FILES:${PN}-libgstfsl = "${libdir}/libgstfsl-1.0${SOLIBS}"
|
||||
FILES:${PN}-grecorder = "${bindir}/grecorder-1.0"
|
||||
FILES:${PN}-librecorder-engine = "${libdir}/librecorder_engine-1.0${SOLIBS}"
|
||||
FILES:${PN}-libplayengine = "${libdir}/libplayengine-1.0${SOLIBS}"
|
||||
|
||||
COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
|
||||
@@ -0,0 +1,120 @@
|
||||
# Copyright (C) 2012-2016 Freescale Semiconductor
|
||||
# Copyright 2017 NXP-2023
|
||||
# Copyright 2018 (C) O.S. Systems Software LTDA.
|
||||
# Released under the MIT license (see COPYING.MIT for the terms)
|
||||
DESCRIPTION = "Freescale Multimedia codec libs"
|
||||
LICENSE = "Proprietary"
|
||||
SECTION = "multimedia"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=10c0fda810c63b052409b15a5445671a"
|
||||
|
||||
# Backward compatibility
|
||||
PROVIDES += "libfslcodec"
|
||||
|
||||
SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
|
||||
SRC_URI[sha256sum] = "1a41a3cad9e0f4baa904fcec896105d3474e18d13f169dad1172d5691fc11c9a"
|
||||
|
||||
inherit fsl-eula-unpack autotools pkgconfig
|
||||
|
||||
PACKAGECONFIG ??= "${PACKAGECONFIG_VPU}"
|
||||
# Support Chips&Media VPU only
|
||||
PACKAGECONFIG_VPU = ""
|
||||
PACKAGECONFIG_VPU:mx6q-nxp-bsp = "vpu"
|
||||
PACKAGECONFIG_VPU:mx6dl-nxp-bsp = "vpu"
|
||||
PACKAGECONFIG[vpu] = "--enable-vpu,--disable-vpu,virtual/imxvpu"
|
||||
|
||||
# Choose between 32-bit and 64-bit binaries and between Soft Float-Point and Hard Float-Point
|
||||
EXTRA_OECONF = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '--enable-armv8', \
|
||||
bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--enable-fhw', '', d), d)}"
|
||||
|
||||
do_install:append() {
|
||||
# LTIB move the files around or gst-fsl-plugin won't find them
|
||||
for p in $(find ${D}${libdir}/imx-mm -mindepth 2 -maxdepth 2 -not -type d); do
|
||||
mv $p ${D}${libdir}
|
||||
done
|
||||
rmdir ${D}${libdir}/imx-mm/video-codec
|
||||
|
||||
# Fixup ownership of files
|
||||
chown -R root:root ${D}
|
||||
}
|
||||
|
||||
python __set_insane_skip() {
|
||||
# Ensure we have PACKAGES expanded
|
||||
bb.build.exec_func("read_subpackage_metadata", d)
|
||||
|
||||
for p in d.getVar('PACKAGES').split():
|
||||
# Even though we are packaging libraries those are plugins so we
|
||||
# shouldn't rename the packages to follow its sonames.
|
||||
d.setVar("DEBIAN_NOAUTONAME:%s" % p, "1")
|
||||
|
||||
# FIXME: All binaries lack GNU_HASH in elf binary but as we don't have
|
||||
# the source we cannot fix it. Disable the insane check for now.
|
||||
if p == 'imx-codec-test-bin':
|
||||
# FIXME: includes the DUT .so files so we need to deploy those
|
||||
d.setVar("INSANE_SKIP:%s" % p, "ldflags textrel libdir")
|
||||
else:
|
||||
d.setVar("INSANE_SKIP:%s" % p, "ldflags textrel")
|
||||
}
|
||||
|
||||
do_package_qa[prefuncs] += "__set_insane_skip"
|
||||
|
||||
python __split_libfslcodec_plugins() {
|
||||
codecdir = bb.data.expand('${libdir}', d)
|
||||
do_split_packages(d, codecdir, r'^lib_([^_]*).*_arm.*_elinux\.so\..*',
|
||||
aux_files_pattern='${libdir}/imx-mm/audio-codec/wrap/lib_%sd_wrap_arm*_elinux.so.*',
|
||||
output_pattern='imx-codec-%s',
|
||||
description='Freescale i.MX Codec (%s)',
|
||||
extra_depends='')
|
||||
pkgs = d.getVar('PACKAGES').split()
|
||||
for pkg in pkgs:
|
||||
meta = pkg[10:]
|
||||
if meta != '':
|
||||
d.setVar('RREPLACES:%s' % pkg, ' libfslcodec-%s' % meta)
|
||||
d.setVar('RPROVIDES:%s' % pkg, ' libfslcodec-%s' % meta)
|
||||
d.setVar('RCONFLICTS:%s' % pkg, ' libfslcodec-%s' % meta)
|
||||
else :
|
||||
d.setVar('RREPLACES:%s' % pkg, ' libfslcodec')
|
||||
d.setVar('RPROVIDES:%s' % pkg, ' libfslcodec')
|
||||
d.setVar('RCONFLICTS:%s' % pkg, ' libfslcodec')
|
||||
}
|
||||
|
||||
python __set_metapkg_rdepends() {
|
||||
# Allow addition of all codecs in a image; useful specially for
|
||||
# debugging.
|
||||
codec_pkgs = oe.utils.packages_filter_out_system(d)
|
||||
codec_pkgs = filter(lambda x: x not in ['imx-codec-test-bin', 'imx-codec-test-source'],
|
||||
codec_pkgs)
|
||||
d.appendVar('RDEPENDS:imx-codec-meta', ' ' + ' '.join(codec_pkgs))
|
||||
}
|
||||
|
||||
PACKAGESPLITFUNCS =+ "__split_libfslcodec_plugins __set_metapkg_rdepends"
|
||||
|
||||
# We need to ensure we don't have '-src' package overrided
|
||||
PACKAGE_DEBUG_SPLIT_STYLE = 'debug-without-src'
|
||||
|
||||
PACKAGES_DYNAMIC = "${PN}-*"
|
||||
INHIBIT_PACKAGE_STRIP = "1"
|
||||
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
|
||||
|
||||
PACKAGES += "${PN}-meta ${PN}-test-bin ${PN}-test-source"
|
||||
|
||||
ALLOW_EMPTY:${PN} = "1"
|
||||
ALLOW_EMPTY:${PN}-meta = "1"
|
||||
|
||||
# Ensure we get warnings if we miss something
|
||||
FILES:${PN} = ""
|
||||
|
||||
FILES:${PN}-dev += "${libdir}/imx-mm/*/*${SOLIBSDEV} \
|
||||
${libdir}/imx-mm/*/*/*${SOLIBSDEV} \
|
||||
${libdir}/pkgconfig/*.pc ${includedir}/imx-mm/*"
|
||||
|
||||
FILES:${PN}-test-bin += "${datadir}/imx-mm/*/examples/*/bin"
|
||||
|
||||
FILES:${PN}-test-source += "${datadir}/imx-mm/*"
|
||||
|
||||
# FIXME: The wrap and lib names does not match
|
||||
FILES:${PN}-oggvorbis += "${libdir}/imx-mm/audio-codec/wrap/lib_vorbisd_wrap_arm*_elinux.so.*"
|
||||
FILES:${PN}-nb += "${libdir}/imx-mm/audio-codec/wrap/lib_nbamrd_wrap_arm*_elinux.so.*"
|
||||
FILES:${PN}-wb += "${libdir}/imx-mm/audio-codec/wrap/lib_wbamrd_wrap_arm*_elinux.so.*"
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_SOCARCH}"
|
||||
COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
|
||||
@@ -0,0 +1,26 @@
|
||||
# Copyright 2018-2023 NXP
|
||||
|
||||
DESCRIPTION = "i.MX DSP Codec Wrapper and Lib owned by NXP"
|
||||
LICENSE = "Proprietary"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=10c0fda810c63b052409b15a5445671a"
|
||||
|
||||
inherit fsl-eula-unpack autotools pkgconfig
|
||||
|
||||
SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
|
||||
|
||||
SRC_URI[sha256sum] = "fa30f3e1b13e570d7c6f0a5f335c11fc3c6336a266fd3a4941e27c4c2a5b13d3"
|
||||
|
||||
EXTRA_OECONF:append:mx8qm-nxp-bsp = " --enable-imx8qmqxp"
|
||||
EXTRA_OECONF:append:mx8qxp-nxp-bsp = " --enable-imx8qmqxp"
|
||||
EXTRA_OECONF:append:mx8dx-nxp-bsp = " --enable-imx8qmqxp"
|
||||
EXTRA_OECONF:append:mx8mp-nxp-bsp = " --enable-imx8m"
|
||||
EXTRA_OECONF:append:mx8ulp-nxp-bsp = " --enable-imx8ulp"
|
||||
|
||||
# Fix strip command failed: 'Unable to recognise the format of the input file'
|
||||
INHIBIT_PACKAGE_STRIP = "1"
|
||||
INHIBIT_SYSROOT_STRIP = "1"
|
||||
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
|
||||
INSANE_SKIP:${PN} = "arch dev-so ldflags"
|
||||
|
||||
FILES:${PN} += "${libdir}/imx-mm/audio-codec/dsp ${datadir}/imx-mm"
|
||||
COMPATIBLE_MACHINE = "(mx8qm-nxp-bsp|mx8qxp-nxp-bsp|mx8dx-nxp-bsp|mx8mp-nxp-bsp|mx8ulp-nxp-bsp)"
|
||||
@@ -0,0 +1,58 @@
|
||||
# Copyright 2017-2022,2024 NXP
|
||||
|
||||
DESCRIPTION = "i.MX DSP Wrapper, Firmware Binary, Codec Libraries"
|
||||
LICENSE = "Proprietary"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=ca53281cc0caa7e320d4945a896fb837"
|
||||
|
||||
inherit fsl-eula-unpack autotools pkgconfig
|
||||
|
||||
IMX_SRCREV_ABBREV = "a3074e2"
|
||||
SRC_URI = "${FSL_MIRROR}/${BP}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true"
|
||||
|
||||
S = "${WORKDIR}/${BP}-${IMX_SRCREV_ABBREV}"
|
||||
|
||||
SRC_URI[sha256sum] = "1f763c21f20abfbb013a0d1acb5846fec55241e9fa8c8aae47fd95b007d800fe"
|
||||
|
||||
EXTRA_OECONF = " \
|
||||
-datadir=${base_libdir}/firmware \
|
||||
--bindir=/unit_tests \
|
||||
${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '--enable-armv8', '', d)} \
|
||||
"
|
||||
|
||||
HIFI4_PLATFORM ?= "HIFI4_PLATFORM_IS_UNDEFINED"
|
||||
HIFI4_PLATFORM:mx8qm-nxp-bsp = "imx8qmqxp"
|
||||
HIFI4_PLATFORM:mx8qxp-nxp-bsp = "imx8qmqxp"
|
||||
HIFI4_PLATFORM:mx8dx-nxp-bsp = "imx8qmqxp"
|
||||
HIFI4_PLATFORM:mx8mp-nxp-bsp = "imx8mp"
|
||||
HIFI4_PLATFORM:mx8ulp-nxp-bsp = "imx8ulp"
|
||||
|
||||
UNSUPPORTED_TESTS = "dsp_tflm"
|
||||
UNSUPPORTED_TESTS:mx8ulp-nxp-bsp = ""
|
||||
|
||||
do_install:append () {
|
||||
# Remove firmware not for this platform
|
||||
find ${D}/${base_libdir}/firmware/imx/dsp -name hifi4_*.bin -not -name *${HIFI4_PLATFORM}* -exec rm {} \;
|
||||
# Set the expected generic name for the firmware
|
||||
mv ${D}/${base_libdir}/firmware/imx/dsp/hifi4_${HIFI4_PLATFORM}.bin ${D}/${base_libdir}/firmware/imx/dsp/hifi4.bin
|
||||
# Remove unit tests not for this platform
|
||||
for unsupported_test in ${UNSUPPORTED_TESTS}; do
|
||||
find ${D}/unit_tests/DSP -name $unsupported_test* -exec rm {} \;
|
||||
done
|
||||
}
|
||||
|
||||
FILES:${PN} = "${libdir}/imx-mm/audio-codec/dsp \
|
||||
${libdir}/imx-mm/audio-codec/wrap \
|
||||
${base_libdir}/firmware/imx/dsp \
|
||||
/unit_tests \
|
||||
"
|
||||
RDEPENDS:${PN} += "imx-dsp-codec-ext"
|
||||
|
||||
INSANE_SKIP:${PN} = "already-stripped arch ldflags dev-so"
|
||||
|
||||
# Fix strip command failed: 'Unable to recognise the format of the input file'
|
||||
INHIBIT_PACKAGE_STRIP = "1"
|
||||
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
|
||||
INHIBIT_SYSROOT_STRIP = "1"
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
COMPATIBLE_MACHINE = "(mx8qm-nxp-bsp|mx8qxp-nxp-bsp|mx8dx-nxp-bsp|mx8mp-nxp-bsp|mx8ulp-nxp-bsp)"
|
||||
@@ -0,0 +1,21 @@
|
||||
# Copyright 2019 NXP
|
||||
DESCRIPTION = "NXP Asynchronous Sample Rate Converter"
|
||||
LICENSE = "Proprietary"
|
||||
SECTION = "multimedia"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=72c0f70181bb6e83eee6aab8de12a9f3"
|
||||
|
||||
SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
|
||||
|
||||
SRC_URI[sha256sum] = "e79cbf4788a86a0068bbe80c37317e3332ae76e3d5c3ff2eabd71f03121fab6a"
|
||||
|
||||
inherit fsl-eula-unpack autotools pkgconfig
|
||||
|
||||
EXTRA_OECONF = "--enable-armv8 --libdir=${libdir} --bindir=/unit_tests"
|
||||
|
||||
INHIBIT_PACKAGE_STRIP = "1"
|
||||
INHIBIT_SYSROOT_STRIP = "1"
|
||||
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
|
||||
|
||||
FILES:${PN} += "/unit_tests ${datadir}/imx-mm"
|
||||
|
||||
COMPATIBLE_MACHINE = "(mx8-nxp-bsp)"
|
||||
@@ -0,0 +1,20 @@
|
||||
# Copyright 2023-2024 NXP
|
||||
DESCRIPTION = "NXP Multimedia opencl converter lib"
|
||||
LICENSE = "Proprietary"
|
||||
SECTION = "multimedia"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=ca53281cc0caa7e320d4945a896fb837"
|
||||
DEPENDS = "virtual/opencl-icd"
|
||||
|
||||
SRC_URI = "${FSL_MIRROR}/${BP}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true"
|
||||
IMX_SRCREV_ABBREV = "605ef75"
|
||||
|
||||
SRC_URI[sha256sum] = "777f49805d5455ebc27e63d19552e2924174011d2ae7d9b392febfa8794d4dc6"
|
||||
|
||||
S = "${WORKDIR}/${BP}-${IMX_SRCREV_ABBREV}"
|
||||
inherit fsl-eula-unpack autotools pkgconfig meson
|
||||
|
||||
FILES:${PN} += "${datadir}/"
|
||||
|
||||
COMPATIBLE_MACHINE = "(^$)"
|
||||
COMPATIBLE_MACHINE:imxgpu = "(mx8-nxp-bsp|mx95-nxp-bsp)"
|
||||
COMPATIBLE_MACHINE:mx8mm-nxp-bsp = "(^$)"
|
||||
@@ -0,0 +1,46 @@
|
||||
# Copyright (C) 2012-2018 O.S. Systems Software LTDA.
|
||||
# Copyright (C) 2012-2016 Freescale Semiconductor
|
||||
# Copyright (C) 2017-2023 NXP
|
||||
# Released under the MIT license (see COPYING.MIT for the terms)
|
||||
DESCRIPTION = "Freescale Multimedia parser libs"
|
||||
LICENSE = "Proprietary"
|
||||
SECTION = "multimedia"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=ca53281cc0caa7e320d4945a896fb837"
|
||||
|
||||
# For backwards compatibility
|
||||
PROVIDES += "libfslparser"
|
||||
RREPLACES:${PN} = "libfslparser"
|
||||
RPROVIDES:${PN} = "libfslparser"
|
||||
RCONFLICTS:${PN} = "libfslparser"
|
||||
|
||||
SRC_URI = "${FSL_MIRROR}/${BP}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true"
|
||||
IMX_SRCREV_ABBREV = "828fcb7"
|
||||
S = "${WORKDIR}/${BP}-${IMX_SRCREV_ABBREV}"
|
||||
|
||||
SRC_URI[sha256sum] = "7414db9e2cce2cb2d6fe63ac7d193a0ea65ad8a184e6a2e2ce2785e43acbb339"
|
||||
|
||||
inherit fsl-eula-unpack autotools pkgconfig
|
||||
|
||||
# Choose between 32-bit and 64-bit binaries and between Soft Float-Point and Hard Float-Point
|
||||
EXTRA_OECONF = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '--enable-armv8', \
|
||||
bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--enable-fhw', '--enable-fsw', d), d)}"
|
||||
|
||||
INHIBIT_PACKAGE_STRIP = "1"
|
||||
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
|
||||
|
||||
python __set_insane_skip() {
|
||||
# FIXME: All binaries lack GNU_HASH in elf binary but as we don't have
|
||||
# the source we cannot fix it. Disable the insane check for now.
|
||||
# FIXME: gst-fsl-plugin looks for the .so files so we need to deploy those
|
||||
for p in d.getVar('PACKAGES').split():
|
||||
d.setVar("INSANE_SKIP:%s" % p, "ldflags dev-so textrel")
|
||||
}
|
||||
|
||||
do_package_qa[prefuncs] += "__set_insane_skip"
|
||||
|
||||
# FIXME: gst-fsl-plugin looks for the .so files so we need to deploy those
|
||||
FILES:${PN} += "${libdir}/imx-mm/*/*${SOLIBS} ${libdir}/imx-mm/*/*${SOLIBSDEV}"
|
||||
|
||||
INHIBIT_SYSROOT_STRIP = "1"
|
||||
|
||||
COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
|
||||
@@ -0,0 +1,21 @@
|
||||
# Copyright 2020,2023 NXP
|
||||
|
||||
DESCRIPTION = "NXP PDM to PCM Software Decimation SIMD Library"
|
||||
LICENSE = "Proprietary"
|
||||
SECTION = "multimedia"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=63a38e9f392d8813d6f1f4d0d6fbe657"
|
||||
|
||||
SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
|
||||
SRC_URI[sha256sum] = "f778a7b785fc500df5573f5b810a190ddc561267b47ca54b9ddf4ae12571cfe3"
|
||||
|
||||
inherit fsl-eula-unpack autotools pkgconfig
|
||||
|
||||
INSANE_SKIP:${PN} = "already-stripped"
|
||||
|
||||
FILES:${PN} += "${datadir}/imx-mm"
|
||||
|
||||
COMPATIBLE_MACHINE = "(mx8-nxp-bsp)"
|
||||
|
||||
INSANE_SKIP:append:libc-musl = " file-rdeps"
|
||||
|
||||
RDEPENDS:${PN}:append:libc-musl = " gcompat"
|
||||
@@ -0,0 +1,32 @@
|
||||
From a3c2f61649afd05e4bab457370f0b32d7644505c Mon Sep 17 00:00:00 2001
|
||||
From: Max Krummenacher <max.krummenacher@toradex.com>
|
||||
Date: Mon, 3 Mar 2025 08:24:51 +0000
|
||||
Subject: [PATCH] vpu_wrapper_hantro_encoder: fix missing include
|
||||
|
||||
gettimeofday is declared in sys/time.h. Add the include.
|
||||
|
||||
Fixes the build error:
|
||||
| ../git/vpu_wrapper_hantro_encoder.c:953:3: error: implicit declaration of function 'gettimeofday' [-Wimplicit-function-declaration]
|
||||
| 953 | gettimeofday (&pObj->tvEnd, NULL);
|
||||
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
|
||||
---
|
||||
vpu_wrapper_hantro_encoder.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/vpu_wrapper_hantro_encoder.c b/vpu_wrapper_hantro_encoder.c
|
||||
index 3819c389320c..a0bdb2f4f6c0 100755
|
||||
--- a/vpu_wrapper_hantro_encoder.c
|
||||
+++ b/vpu_wrapper_hantro_encoder.c
|
||||
@@ -25,6 +25,7 @@
|
||||
#include <string.h>
|
||||
#include <time.h>
|
||||
#include <semaphore.h>
|
||||
+#include <sys/time.h>
|
||||
|
||||
#include "headers/OMX_Video.h"
|
||||
#include "headers/OMX_VideoExt.h"
|
||||
--
|
||||
2.42.0
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
# Copyright (C) 2013-2016 Freescale Semiconductor
|
||||
# Copyright 2017-2023 NXP
|
||||
# Released under the MIT license (see COPYING.MIT for the terms)
|
||||
|
||||
DESCRIPTION = "Freescale Multimedia VPU wrapper"
|
||||
LICENSE = "Proprietary"
|
||||
SECTION = "multimedia"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=ca53281cc0caa7e320d4945a896fb837"
|
||||
|
||||
DEPENDS = "virtual/imxvpu"
|
||||
DEPENDS:append:mx8mp-nxp-bsp = " imx-vpu-hantro-vc"
|
||||
|
||||
SRC_URI = " \
|
||||
git://github.com/NXP/imx-vpuwrap.git;protocol=https;branch=${SRCBRANCH} \
|
||||
file://0001-vpu_wrapper_hantro_encoder-fix-missing-include.patch \
|
||||
"
|
||||
SRCBRANCH = "MM_04.09.02_2410_L6.6.y"
|
||||
SRCREV = "378e33989cf72d6c2eb57a585072ba9abe87c6ff"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit autotools pkgconfig
|
||||
|
||||
do_install:append() {
|
||||
# FIXME: Drop examples for now
|
||||
rm -r ${D}${datadir}
|
||||
}
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
|
||||
COMPATIBLE_MACHINE = "(imxvpu)"
|
||||
@@ -0,0 +1,29 @@
|
||||
DESCRIPTION = "frontend for the i.MX6 / i.MX8 VPU hardware video engines"
|
||||
HOMEPAGE = "https://github.com/Freescale/libimxvpuapi"
|
||||
LICENSE = "LGPL-2.1-only"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=38fa42a5a6425b26d2919b17b1527324"
|
||||
SECTION = "multimedia"
|
||||
DEPENDS = "virtual/imxvpu libimxdmabuffer"
|
||||
# Add imx-vpu-hantro-vc as dependency for being
|
||||
# able to encode video using the VC8000E encoder
|
||||
DEPENDS:append:mx8mp-nxp-bsp = " imx-vpu-hantro-vc"
|
||||
|
||||
PV .= "+git${SRCPV}"
|
||||
|
||||
SRCBRANCH ?= "master"
|
||||
SRCREV = "37095a854aa176bb763a25ce98ceb6a787501271"
|
||||
SRC_URI = "git://github.com/Freescale/libimxvpuapi.git;branch=${SRCBRANCH};protocol=https"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit waf pkgconfig use-imx-headers
|
||||
|
||||
IMX_PLATFORM:mx6-nxp-bsp = "imx6"
|
||||
IMX_PLATFORM:mx8mq-nxp-bsp = "imx8m"
|
||||
IMX_PLATFORM:mx8mm-nxp-bsp = "imx8mm"
|
||||
IMX_PLATFORM:mx8mp-nxp-bsp = "imx8mp"
|
||||
|
||||
EXTRA_OECONF = "--imx-platform=${IMX_PLATFORM} --libdir=${libdir} --imx-headers=${STAGING_INCDIR_IMX} --sysroot-path=${RECIPE_SYSROOT}"
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
COMPATIBLE_MACHINE = "(imxvpu)"
|
||||
@@ -0,0 +1,21 @@
|
||||
# Copyright 2018 (C) O.S. Systems Software LTDA.
|
||||
DESCRIPTION = "frontend for the i.MX6 VPU hardware video engine"
|
||||
HOMEPAGE = "https://github.com/Freescale/libimxvpuapi"
|
||||
LICENSE = "LGPL-2.1-only"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=38fa42a5a6425b26d2919b17b1527324"
|
||||
SECTION = "multimedia"
|
||||
DEPENDS = "imx-vpu"
|
||||
|
||||
PV = "0.10.3+${SRCPV}"
|
||||
|
||||
SRCBRANCH ?= "v1"
|
||||
SRCREV = "3a1ee3a54fe93813868d38c3d32ea065b59e227e"
|
||||
SRC_URI = "git://github.com/Freescale/libimxvpuapi.git;branch=${SRCBRANCH};protocol=https"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit waf pkgconfig
|
||||
|
||||
COMPATIBLE_MACHINE = "(mx6q-nxp-bsp|mx6dl-nxp-bsp)"
|
||||
|
||||
EXTRA_OECONF = "--libdir=${libdir}"
|
||||
@@ -0,0 +1,32 @@
|
||||
From c21e24f5c53e81fc715905c54a6c82b69e397e63 Mon Sep 17 00:00:00 2001
|
||||
From: "shengjiu.wang" <b02247@freescale.com>
|
||||
Date: Thu, 3 Apr 2014 14:22:02 +0800
|
||||
Subject: [PATCH] Fix pulseaudio mutex issue when do pause in gstreamer
|
||||
|
||||
The error log is "Assertion 'pthread_mutex_unlock(&m->mutex) == 0'
|
||||
failed at pulsecore/mutex-posix.c:106, function pa_mutex_unlock(). Aborting"
|
||||
|
||||
This fix is a workaround base on the solution from this link "
|
||||
https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/932096"
|
||||
|
||||
Upstream-Status: Inappropriate [i.MX specific]
|
||||
Signed-off-by: shengjiu.wang <b02247@freescale.com>
|
||||
---
|
||||
src/pulsecore/mutex-posix.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/src/pulsecore/mutex-posix.c b/src/pulsecore/mutex-posix.c
|
||||
index 36c2787..d592501 100644
|
||||
--- a/src/pulsecore/mutex-posix.c
|
||||
+++ b/src/pulsecore/mutex-posix.c
|
||||
@@ -30,6 +30,7 @@
|
||||
#include <pulsecore/macro.h>
|
||||
|
||||
#include "mutex.h"
|
||||
+#undef HAVE_PTHREAD_PRIO_INHERIT
|
||||
|
||||
struct pa_mutex {
|
||||
pthread_mutex_t mutex;
|
||||
--
|
||||
1.7.9.5
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
From 33022867d76c91fe4e60699c1b7ebbc8feb4ee93 Mon Sep 17 00:00:00 2001
|
||||
From: Shengjiu Wang <shengjiu.wang@freescale.com>
|
||||
Date: Mon, 30 Mar 2015 10:26:14 +0800
|
||||
Subject: [PATCH] pulseaudio: remove the control for speaker/headphone widget
|
||||
|
||||
In imx7d-sdb, there is no headphone jack, the jack detection is done
|
||||
by the codec itself. When headphone plugin, pulseaudio can't detect
|
||||
the headphone jack status, so it will set the heaphone volume to zero.
|
||||
Here fix this issue by remove the control in configuration.
|
||||
|
||||
Upstream-Status: Inappropriate [i.MX specific]
|
||||
|
||||
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
|
||||
---
|
||||
.../alsa/mixer/paths/analog-output-headphones.conf | 8 ++++----
|
||||
src/modules/alsa/mixer/paths/analog-output-speaker.conf | 8 ++++----
|
||||
2 files changed, 8 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/src/modules/alsa/mixer/paths/analog-output-headphones.conf b/src/modules/alsa/mixer/paths/analog-output-headphones.conf
|
||||
index 88907f0..7598d2f 100644
|
||||
--- a/src/modules/alsa/mixer/paths/analog-output-headphones.conf
|
||||
+++ b/src/modules/alsa/mixer/paths/analog-output-headphones.conf
|
||||
@@ -88,8 +88,8 @@ override-map.2 = all-left,all-right
|
||||
|
||||
[Element Headphone]
|
||||
required-any = any
|
||||
-switch = mute
|
||||
-volume = merge
|
||||
+switch = on
|
||||
+volume = ignore
|
||||
override-map.1 = all
|
||||
override-map.2 = all-left,all-right
|
||||
|
||||
@@ -119,8 +119,8 @@ switch = mute
|
||||
volume = zero
|
||||
|
||||
[Element Speaker]
|
||||
-switch = off
|
||||
-volume = off
|
||||
+switch = on
|
||||
+volume = ignore
|
||||
|
||||
[Element Desktop Speaker]
|
||||
switch = off
|
||||
diff --git a/src/modules/alsa/mixer/paths/analog-output-speaker.conf b/src/modules/alsa/mixer/paths/analog-output-speaker.conf
|
||||
index fcf2f5c..6f6f898 100644
|
||||
--- a/src/modules/alsa/mixer/paths/analog-output-speaker.conf
|
||||
+++ b/src/modules/alsa/mixer/paths/analog-output-speaker.conf
|
||||
@@ -91,8 +91,8 @@ volume = off
|
||||
; This profile path is intended to control the speaker, let's mute headphones
|
||||
; else there will be a spike when plugging in headphones
|
||||
[Element Headphone]
|
||||
-switch = off
|
||||
-volume = off
|
||||
+switch = on
|
||||
+volume = ignore
|
||||
|
||||
[Element Headphone,1]
|
||||
switch = off
|
||||
@@ -115,8 +115,8 @@ override-map.2 = all-left,all-right
|
||||
|
||||
[Element Speaker]
|
||||
required-any = any
|
||||
-switch = mute
|
||||
-volume = merge
|
||||
+switch = on
|
||||
+volume = ignore
|
||||
override-map.1 = all
|
||||
override-map.2 = all-left,all-right
|
||||
|
||||
--
|
||||
2.20.1
|
||||
|
||||
@@ -0,0 +1,89 @@
|
||||
# This file is part of PulseAudio.
|
||||
#
|
||||
# PulseAudio is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Lesser General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# PulseAudio is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public License
|
||||
# along with PulseAudio; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||
# USA.
|
||||
|
||||
## Configuration file for the PulseAudio daemon. See pulse-daemon.conf(5) for
|
||||
## more information. Default values are commented out. Use either ; or # for
|
||||
## commenting.
|
||||
|
||||
; daemonize = no
|
||||
; fail = yes
|
||||
; allow-module-loading = yes
|
||||
; allow-exit = yes
|
||||
; use-pid-file = yes
|
||||
; system-instance = no
|
||||
; local-server-type = user
|
||||
; enable-shm = yes
|
||||
; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB
|
||||
; lock-memory = no
|
||||
; cpu-limit = no
|
||||
|
||||
; high-priority = yes
|
||||
; nice-level = -11
|
||||
|
||||
; realtime-scheduling = yes
|
||||
; realtime-priority = 5
|
||||
|
||||
exit-idle-time = -1
|
||||
; scache-idle-time = 20
|
||||
|
||||
; dl-search-path = (depends on architecture)
|
||||
|
||||
; load-default-script-file = yes
|
||||
; default-script-file = /etc/pulse/default.pa
|
||||
|
||||
; log-target = auto
|
||||
; log-level = notice
|
||||
; log-meta = no
|
||||
; log-time = no
|
||||
; log-backtrace = 0
|
||||
|
||||
resample-method = ffmpeg
|
||||
; enable-remixing = yes
|
||||
; enable-lfe-remixing = no
|
||||
|
||||
flat-volumes = no
|
||||
|
||||
; rlimit-fsize = -1
|
||||
; rlimit-data = -1
|
||||
; rlimit-stack = -1
|
||||
; rlimit-core = -1
|
||||
; rlimit-as = -1
|
||||
; rlimit-rss = -1
|
||||
; rlimit-nproc = -1
|
||||
; rlimit-nofile = 256
|
||||
; rlimit-memlock = -1
|
||||
; rlimit-locks = -1
|
||||
; rlimit-sigpending = -1
|
||||
; rlimit-msgqueue = -1
|
||||
; rlimit-nice = 31
|
||||
; rlimit-rtprio = 9
|
||||
rlimit-rttime = 4000000
|
||||
|
||||
; default-sample-format = s16le
|
||||
; default-sample-rate = 44100
|
||||
; alternate-sample-rate = 48000
|
||||
# Disable alternate-sample-rate by setting same as default
|
||||
alternate-sample-rate = 44100
|
||||
; default-sample-channels = 2
|
||||
; default-channel-map = front-left,front-right
|
||||
|
||||
; default-fragments = 4
|
||||
; default-fragment-size-msec = 25
|
||||
|
||||
; enable-deferred-volume = yes
|
||||
; deferred-volume-safety-margin-usec = 8000
|
||||
; deferred-volume-extra-delay-usec = 0
|
||||
@@ -0,0 +1,170 @@
|
||||
#!/usr/bin/pulseaudio -nF
|
||||
#
|
||||
# This file is part of PulseAudio.
|
||||
#
|
||||
# PulseAudio is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Lesser General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# PulseAudio is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public License
|
||||
# along with PulseAudio; if not, write to the Free Software Foundation,
|
||||
# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
# This startup script is used only if PulseAudio is started per-user
|
||||
# (i.e. not in system mode)
|
||||
|
||||
.nofail
|
||||
|
||||
### Load something into the sample cache
|
||||
#load-sample-lazy x11-bell /usr/share/sounds/gtk-events/activate.wav
|
||||
#load-sample-lazy pulse-hotplug /usr/share/sounds/startup3.wav
|
||||
#load-sample-lazy pulse-coldplug /usr/share/sounds/startup3.wav
|
||||
#load-sample-lazy pulse-access /usr/share/sounds/generic.wav
|
||||
|
||||
.fail
|
||||
|
||||
### Automatically restore the volume of streams and devices
|
||||
load-module module-device-restore
|
||||
load-module module-stream-restore
|
||||
load-module module-card-restore
|
||||
|
||||
### Automatically augment property information from .desktop files
|
||||
### stored in /usr/share/application
|
||||
load-module module-augment-properties
|
||||
|
||||
### Should be after module-*-restore but before module-*-detect
|
||||
load-module module-switch-on-port-available
|
||||
|
||||
### Load audio drivers statically
|
||||
### (it's probably better to not load these drivers manually, but instead
|
||||
### use module-udev-detect -- see below -- for doing this automatically)
|
||||
#load-module module-alsa-sink
|
||||
#load-module module-alsa-source device=hw:1,0
|
||||
#load-module module-oss device="/dev/dsp" sink_name=output source_name=input
|
||||
#load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input
|
||||
#load-module module-null-sink
|
||||
#load-module module-pipe-sink
|
||||
|
||||
### Automatically load driver modules depending on the hardware available
|
||||
.ifexists module-udev-detect.so
|
||||
load-module module-udev-detect tsched=0
|
||||
.else
|
||||
### Use the static hardware detection module (for systems that lack udev support)
|
||||
load-module module-detect
|
||||
.endif
|
||||
|
||||
### Automatically connect sink and source if JACK server is present
|
||||
.ifexists module-jackdbus-detect.so
|
||||
.nofail
|
||||
load-module module-jackdbus-detect channels=2
|
||||
.fail
|
||||
.endif
|
||||
|
||||
### Automatically load driver modules for Bluetooth hardware
|
||||
.ifexists module-bluetooth-policy.so
|
||||
load-module module-bluetooth-policy
|
||||
.endif
|
||||
|
||||
.ifexists module-bluetooth-discover.so
|
||||
load-module module-bluetooth-discover headset=auto
|
||||
.endif
|
||||
|
||||
### Load several protocols
|
||||
.ifexists module-esound-protocol-unix.so
|
||||
load-module module-esound-protocol-unix
|
||||
.endif
|
||||
load-module module-native-protocol-unix
|
||||
|
||||
### Network access (may be configured with paprefs, so leave this commented
|
||||
### here if you plan to use paprefs)
|
||||
#load-module module-esound-protocol-tcp
|
||||
#load-module module-native-protocol-tcp
|
||||
#load-module module-zeroconf-publish
|
||||
|
||||
### Load the RTP receiver module (also configured via paprefs, see above)
|
||||
#load-module module-rtp-recv
|
||||
|
||||
### Load the RTP sender module (also configured via paprefs, see above)
|
||||
#load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'"
|
||||
#load-module module-rtp-send source=rtp.monitor
|
||||
|
||||
### Load additional modules from GConf settings. This can be configured with the paprefs tool.
|
||||
### Please keep in mind that the modules configured by paprefs might conflict with manually
|
||||
### loaded modules.
|
||||
.ifexists module-gconf.so
|
||||
.nofail
|
||||
load-module module-gconf
|
||||
.fail
|
||||
.endif
|
||||
|
||||
### Automatically restore the default sink/source when changed by the user
|
||||
### during runtime
|
||||
### NOTE: This should be loaded as early as possible so that subsequent modules
|
||||
### that look up the default sink/source get the right value
|
||||
load-module module-default-device-restore
|
||||
|
||||
### Automatically move streams to the default sink if the sink they are
|
||||
### connected to dies, similar for sources
|
||||
load-module module-rescue-streams
|
||||
|
||||
### Make sure we always have a sink around, even if it is a null sink.
|
||||
load-module module-always-sink
|
||||
|
||||
### Honour intended role device property
|
||||
load-module module-intended-roles
|
||||
|
||||
### Automatically suspend sinks/sources that become idle for too long
|
||||
load-module module-suspend-on-idle
|
||||
|
||||
### If autoexit on idle is enabled we want to make sure we only quit
|
||||
### when no local session needs us anymore.
|
||||
.ifexists module-console-kit.so
|
||||
load-module module-console-kit
|
||||
.endif
|
||||
.ifexists module-systemd-login.so
|
||||
load-module module-systemd-login
|
||||
.endif
|
||||
|
||||
### Enable positioned event sounds
|
||||
load-module module-position-event-sounds
|
||||
|
||||
### Cork music/video streams when a phone stream is active
|
||||
load-module module-role-cork
|
||||
|
||||
### Modules to allow autoloading of filters (such as echo cancellation)
|
||||
### on demand. module-filter-heuristics tries to determine what filters
|
||||
### make sense, and module-filter-apply does the heavy-lifting of
|
||||
### loading modules and rerouting streams.
|
||||
load-module module-filter-heuristics
|
||||
load-module module-filter-apply
|
||||
|
||||
### Load DBus protocol
|
||||
.ifexists module-dbus-protocol.so
|
||||
load-module module-dbus-protocol
|
||||
.endif
|
||||
|
||||
# X11 modules should not be started from default.pa so that one daemon
|
||||
# can be shared by multiple sessions.
|
||||
|
||||
### Load X11 bell module
|
||||
#load-module module-x11-bell sample=bell-windowing-system
|
||||
|
||||
### Register ourselves in the X11 session manager
|
||||
#load-module module-x11-xsmp
|
||||
|
||||
### Publish connection data in the X11 root window
|
||||
#.ifexists module-x11-publish.so
|
||||
#.nofail
|
||||
#load-module module-x11-publish
|
||||
#.fail
|
||||
#.endif
|
||||
|
||||
### Make some devices default
|
||||
#set-default-sink output
|
||||
#set-default-source input
|
||||
@@ -0,0 +1,29 @@
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}/imx-nxp-bsp:"
|
||||
|
||||
SRC_URI += "${SRC_URI_IMX}"
|
||||
SRC_URI_IMX = ""
|
||||
SRC_URI_IMX:mx6-nxp-bsp = " \
|
||||
file://0001-Fix-pulseaudio-mutex-issue-when-do-pause-in-gstreame.patch \
|
||||
file://daemon.conf \
|
||||
file://default.pa"
|
||||
SRC_URI_IMX:mx7-nxp-bsp = " \
|
||||
${SRC_URI_IMX:mx6-nxp-bsp} \
|
||||
file://0100-pulseaudio-remove-the-control-for-speaker-headphone-widge.patch"
|
||||
SRC_URI_IMX:mx8-nxp-bsp = " \
|
||||
${SRC_URI_IMX:mx6-nxp-bsp}"
|
||||
SRC_URI_IMX:mx9-nxp-bsp = " \
|
||||
${SRC_URI_IMX:mx6-nxp-bsp}"
|
||||
|
||||
CACHED_CONFIGUREVARS:append:mx6-nxp-bsp = " ax_cv_PTHREAD_PRIO_INHERIT=no"
|
||||
|
||||
do_install:append() {
|
||||
if [ -e "${WORKDIR}/daemon.conf" ] && [ -e "${WORKDIR}/default.pa" ]; then
|
||||
install -m 0644 ${WORKDIR}/daemon.conf ${D}${sysconfdir}/pulse/daemon.conf
|
||||
install -m 0644 ${WORKDIR}/default.pa ${D}${sysconfdir}/pulse/default.pa
|
||||
fi
|
||||
}
|
||||
|
||||
PACKAGE_ARCH:mx6-nxp-bsp = "${MACHINE_SOCARCH}"
|
||||
PACKAGE_ARCH:mx7-nxp-bsp = "${MACHINE_SOCARCH}"
|
||||
PACKAGE_ARCH:mx8-nxp-bsp = "${MACHINE_SOCARCH}"
|
||||
PACKAGE_ARCH:mx9-nxp-bsp = "${MACHINE_SOCARCH}"
|
||||
@@ -0,0 +1,18 @@
|
||||
DESCRIPTION = "A library to handle compressed formats like MP3 etc."
|
||||
LICENSE = "LGPL-2.1-only | BSD-3-Clause"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=cf9105c1a2d4405cbe04bbe3367373a0"
|
||||
DEPENDS = "alsa-lib"
|
||||
|
||||
inherit autotools pkgconfig
|
||||
|
||||
PV .= "+git"
|
||||
|
||||
SRC_URI = "git://github.com/alsa-project/tinycompress.git;protocol=https;branch=master \
|
||||
"
|
||||
SRCREV = "f3ba6e5c2126f2fb07e3d890f990d50c3e204e67"
|
||||
|
||||
EXTRA_OECONF:append = " --enable-pcm"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit autotools pkgconfig
|
||||
Reference in New Issue
Block a user