From 755e5c811a575f3e0ffb428e832b57731bafa723 Mon Sep 17 00:00:00 2001 From: Max Krummenacher Date: Sun, 18 May 2025 12:07:11 +0200 Subject: [PATCH 1/2] gst-examples: import from oe-core and downgrade to 1.24.7 OE core upgraded gst-examples from 1.18.6 to 1.26.1. The newer version fails in configure as it expects the gstreamer version to be 1.26 or greater. Import the 1.26.1 recipe and downgrade it to 1.24.7. Append the version with '.imx' to point out that it is meant for the NXP gstreamer fork. Signed-off-by: Max Krummenacher --- conf/machine/include/imx-base.inc | 2 + ...001-Make-player-examples-installable.patch | 37 ++++++++++++++++++ .../gstreamer/gst-examples/gst-player.desktop | 10 +++++ .../gstreamer/gst-examples_1.24.7.imx.bb | 38 +++++++++++++++++++ 4 files changed, 87 insertions(+) create mode 100644 recipes-multimedia/gstreamer/gst-examples/0001-Make-player-examples-installable.patch create mode 100644 recipes-multimedia/gstreamer/gst-examples/gst-player.desktop create mode 100644 recipes-multimedia/gstreamer/gst-examples_1.24.7.imx.bb diff --git a/conf/machine/include/imx-base.inc b/conf/machine/include/imx-base.inc index 3df72769..44361c5c 100644 --- a/conf/machine/include/imx-base.inc +++ b/conf/machine/include/imx-base.inc @@ -538,12 +538,14 @@ PREFERRED_VERSION_gstreamer1.0-plugins-good:mx9-nxp-bsp ??= "1.24.7.imx" # GStreamer copied recipes PREFERRED_VERSION_gst-devtools:mx8-nxp-bsp ??= "1.24.0.imx" +PREFERRED_VERSION_gst-examples:mx8-nxp-bsp ??= "1.24.7.imx" PREFERRED_VERSION_gstreamer1.0-libav:mx8-nxp-bsp ??= "1.24.0.imx" PREFERRED_VERSION_gstreamer1.0-plugins-ugly:mx8-nxp-bsp ??= "1.24.0.imx" PREFERRED_VERSION_gstreamer1.0-python:mx8-nxp-bsp ??= "1.24.0.imx" PREFERRED_VERSION_gstreamer1.0-rtsp-server:mx8-nxp-bsp ??= "1.24.0.imx" PREFERRED_VERSION_gstreamer1.0-vaapi:mx8-nxp-bsp ??= "1.24.0.imx" PREFERRED_VERSION_gst-devtools:mx9-nxp-bsp ??= "1.24.0.imx" +PREFERRED_VERSION_gst-examples:mx9-nxp-bsp ??= "1.24.7.imx" PREFERRED_VERSION_gstreamer1.0-libav:mx9-nxp-bsp ??= "1.24.0.imx" PREFERRED_VERSION_gstreamer1.0-plugins-ugly:mx9-nxp-bsp ??= "1.24.0.imx" PREFERRED_VERSION_gstreamer1.0-python:mx9-nxp-bsp ??= "1.24.0.imx" diff --git a/recipes-multimedia/gstreamer/gst-examples/0001-Make-player-examples-installable.patch b/recipes-multimedia/gstreamer/gst-examples/0001-Make-player-examples-installable.patch new file mode 100644 index 00000000..828c87dc --- /dev/null +++ b/recipes-multimedia/gstreamer/gst-examples/0001-Make-player-examples-installable.patch @@ -0,0 +1,37 @@ +From 7924016fce2d0b435891a335cdae52fc939c7e3b Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen +Date: Thu, 17 Aug 2017 11:07:02 +0300 +Subject: [PATCH] Make player examples installable + +Signed-off-by: Jussi Kukkonen +Upstream-Status: Denied [Upstream considers these code examples, for now a least] + +https://bugzilla.gnome.org/show_bug.cgi?id=777827 + +--- + playback/player/gst-play/meson.build | 1 + + playback/player/gtk/meson.build | 1 + + 2 files changed, 2 insertions(+) + +Index: gst-examples/playback/player/gst-play/meson.build +=================================================================== +--- gst-examples.orig/playback/player/gst-play/meson.build ++++ gst-examples/playback/player/gst-play/meson.build +@@ -2,5 +2,6 @@ executable('gst-play', + ['gst-play.c', + 'gst-play-kb.c', + 'gst-play-kb.h'], ++ install: true, + dependencies : [gst_dep, dependency('gstreamer-play-1.0'), m_dep]) + +Index: gst-examples/playback/player/gtk/meson.build +=================================================================== +--- gst-examples.orig/playback/player/gtk/meson.build ++++ gst-examples/playback/player/gtk/meson.build +@@ -20,5 +20,6 @@ if gtk_dep.found() + 'gtk-video-renderer.h', + 'gtk-video-renderer.c'], + c_args : extra_c_args, ++ install: true, + dependencies : [gst_dep, gsttag_dep, gstplay_dep, gtk_dep, x11_dep]) + endif diff --git a/recipes-multimedia/gstreamer/gst-examples/gst-player.desktop b/recipes-multimedia/gstreamer/gst-examples/gst-player.desktop new file mode 100644 index 00000000..d165e5d9 --- /dev/null +++ b/recipes-multimedia/gstreamer/gst-examples/gst-player.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Name=Media Player +Comment=Basic media player +Icon=video-player +TryExec=gtk-play +Exec=gtk-play +StartupNotify=true +Terminal=false +Type=Application +Categories=GTK;AudioVideo; diff --git a/recipes-multimedia/gstreamer/gst-examples_1.24.7.imx.bb b/recipes-multimedia/gstreamer/gst-examples_1.24.7.imx.bb new file mode 100644 index 00000000..3830846b --- /dev/null +++ b/recipes-multimedia/gstreamer/gst-examples_1.24.7.imx.bb @@ -0,0 +1,38 @@ +# This builds an older version which is compatible with the gstreamer NXP fork 1.24.7.imx, +# thus the version is appended with '.imx' + +SUMMARY = "GStreamer examples (including gtk-play, gst-play)" +DESCRIPTION = "GStreamer example applications." +HOMEPAGE = "https://gitlab.freedesktop.org/gstreamer/gst-examples" +BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-examples/-/issues" +LICENSE = "LGPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://playback/player/gtk/gtk-play.c;beginline=1;endline=20;md5=f8c72dae3d36823ec716a9ebcae593b9" + +DEPENDS = "glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad gtk+3 json-glib glib-2.0-native" + +SRC_URI = "git://gitlab.freedesktop.org/gstreamer/gstreamer.git;protocol=https;branch=1.24 \ + file://0001-Make-player-examples-installable.patch \ + file://gst-player.desktop \ + " + +SRCREV = "0f1e984e41ce8d6d0758265d35e8b10d5815fde2" + +S = "${WORKDIR}/git/subprojects/gst-examples" + +inherit meson pkgconfig features_check + +UPSTREAM_CHECK_GITTAGREGEX = "(?P\d+\.(\d*[02468])+(\.\d+)+)" + +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" + +do_install:append() { + install -m 0644 -D ${UNPACKDIR}/gst-player.desktop ${D}${datadir}/applications/gst-player.desktop +} + +RDEPENDS:${PN} = "gstreamer1.0-plugins-base-playback" +RRECOMMENDS:${PN} = "gstreamer1.0-plugins-base-meta \ + gstreamer1.0-plugins-good-meta \ + gstreamer1.0-plugins-bad-meta \ + ${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "gstreamer1.0-libav", "", d)} \ + ${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "gstreamer1.0-plugins-ugly-meta", "", d)}" +RPROVIDES:${PN} += "gst-player gst-player-bin" From e18a9771ed722e2a7dc8a3b960076893f5b40ac6 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 18 May 2025 10:27:07 +0000 Subject: [PATCH 2/2] Auto-update LICENSE file with current recipe licenses --- LICENSE | 1 + 1 file changed, 1 insertion(+) diff --git a/LICENSE b/LICENSE index 77631414..d02a12c4 100644 --- a/LICENSE +++ b/LICENSE @@ -129,6 +129,7 @@ LICENSE:libswresample = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-o LICENSE:libswscale = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPL-2.0-or-later', 'LGPL-2.1-or-later', d)}" LICENSE_FLAGS = "commercial" ./recipes-multimedia/gstreamer/gst-devtools_1.22.5.imx.bb: LICENSE = "LGPL-2.1-or-later" +./recipes-multimedia/gstreamer/gst-examples_1.24.7.imx.bb: LICENSE = "LGPL-2.0-or-later" ./recipes-multimedia/gstreamer/gstreamer1.0-libav_1.24.0.imx.bb: LICENSE_FLAGS = "commercial" LICENSE = "LGPL-2.1-or-later" ./recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.24.7.imx.bb: LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later"