From 7c5a040fb85512bfbf4db253240cda5617c238c0 Mon Sep 17 00:00:00 2001 From: Andrey Zhizhikin Date: Sun, 22 Dec 2019 15:22:37 +0000 Subject: [PATCH] gstreamer1.0-plugins-bad: fix recipe and add patches from oe-core Fix absolute search paths in the recipe, which attemped to use patches directly from oe-core and keep those patches in this layer. This would allow ease of tracking (patches could be dropped once version is upgraded) and resolves the dependency from oe-core layer (no direct inclusion necessary via env variables which is not present at every build system setup). Signed-off-by: Andrey Zhizhikin --- .../avoid-including-sys-poll.h-directly.patch | 30 +++++++ .../configure-allow-to-disable-libssh2.patch | 61 +++++++++++++ ...-sentinels-for-gst_structure_get-etc.patch | 85 +++++++++++++++++++ ...ized-warnings-when-compiling-with-Os.patch | 28 ++++++ .../gstreamer1.0-plugins-bad_1.16.imx.bb | 3 - 5 files changed, 204 insertions(+), 3 deletions(-) create mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/avoid-including-sys-poll.h-directly.patch create mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/configure-allow-to-disable-libssh2.patch create mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/ensure-valid-sentinels-for-gst_structure_get-etc.patch create mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/avoid-including-sys-poll.h-directly.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/avoid-including-sys-poll.h-directly.patch new file mode 100644 index 00000000..32261279 --- /dev/null +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/avoid-including-sys-poll.h-directly.patch @@ -0,0 +1,30 @@ +From 72561a0fca562d03567ace7b4cfc94992cd6525c Mon Sep 17 00:00:00 2001 +From: Andre McCurdy +Date: Wed, 3 Feb 2016 18:05:41 -0800 +Subject: [PATCH] avoid including directly + +musl libc generates warnings if is included directly. + +Upstream-Status: Pending + +Signed-off-by: Andre McCurdy +--- + sys/dvb/gstdvbsrc.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sys/dvb/gstdvbsrc.c b/sys/dvb/gstdvbsrc.c +index b93255f..49f145a 100644 +--- a/sys/dvb/gstdvbsrc.c ++++ b/sys/dvb/gstdvbsrc.c +@@ -97,7 +97,7 @@ + #include + #include + #include +-#include ++#include + #include + #include + #include +-- +1.9.1 + diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/configure-allow-to-disable-libssh2.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/configure-allow-to-disable-libssh2.patch new file mode 100644 index 00000000..25861b6b --- /dev/null +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/configure-allow-to-disable-libssh2.patch @@ -0,0 +1,61 @@ +From f59c5269f92d59a5296cbfeeb682d42095cd88ad Mon Sep 17 00:00:00 2001 +From: Wenzong Fan +Date: Thu, 18 Sep 2014 02:24:07 -0400 +Subject: [PATCH] gstreamer1.0-plugins-bad: allow to disable libssh2 + +libssh2 is automatically linked to if present, this undetermined +dependency may cause build errors like: + + .../x86_64-poky-linux/4.9.0/ld: cannot find -lssh2 + +libssh2 isn't an oe-core recipe, so allow to disable it from +configure. + +Upstream-Status: Pending + +Signed-off-by: Wenzong Fan +--- + configure.ac | 23 +++++++++++++++++------ + 1 file changed, 17 insertions(+), 6 deletions(-) + +Index: gst-plugins-bad-1.12.3/configure.ac +=================================================================== +--- gst-plugins-bad-1.12.3.orig/configure.ac ++++ gst-plugins-bad-1.12.3/configure.ac +@@ -1202,6 +1202,15 @@ AG_GST_CHECK_FEATURE(CHROMAPRINT, [chrom + ]) + + dnl *** Curl *** ++AC_ARG_ENABLE([libssh2], ++ [ --enable-libssh2 enable LIBSSH2 support @<:@default=auto@:>@], ++ [case "${enableval}" in ++ yes) NEED_SSH2=yes ;; ++ no) NEED_SSH2=no ;; ++ auto) NEED_SSH2=auto ;; ++ *) AC_MSG_ERROR([bad value ${enableval} for --enable-libssh2]) ;; ++ esac],[NEED_SSH2=auto]) ++ + translit(dnm, m, l) AM_CONDITIONAL(USE_CURL, true) + AG_GST_CHECK_FEATURE(CURL, [Curl plugin], curl, [ + PKG_CHECK_MODULES(CURL, libcurl >= 7.35.0, [ +@@ -1224,12 +1233,14 @@ AG_GST_CHECK_FEATURE(CURL, [Curl plugin] + ]) + AC_SUBST(CURL_CFLAGS) + AC_SUBST(CURL_LIBS) +- PKG_CHECK_MODULES(SSH2, libssh2 >= 1.4.3, [ +- HAVE_SSH2="yes" +- AC_DEFINE(HAVE_SSH2, 1, [Define if libssh2 is available]) +- ], [ +- HAVE_SSH2="no" +- ]) ++ if test "x$NEED_SSH2" != "xno"; then ++ PKG_CHECK_MODULES(SSH2, libssh2 >= 1.4.3, [ ++ HAVE_SSH2="yes" ++ AC_DEFINE(HAVE_SSH2, 1, [Define if libssh2 is available]) ++ ], [ ++ HAVE_SSH2="no" ++ ]) ++ fi + AM_CONDITIONAL(USE_SSH2, test "x$HAVE_SSH2" = "xyes") + AC_SUBST(SSH2_CFLAGS) + AC_SUBST(SSH2_LIBS) diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/ensure-valid-sentinels-for-gst_structure_get-etc.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/ensure-valid-sentinels-for-gst_structure_get-etc.patch new file mode 100644 index 00000000..2d5389d9 --- /dev/null +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/ensure-valid-sentinels-for-gst_structure_get-etc.patch @@ -0,0 +1,85 @@ +From 2262ba4b686d5cc0d3e894707fe1d31619a3a8f1 Mon Sep 17 00:00:00 2001 +From: Andre McCurdy +Date: Tue, 9 Feb 2016 14:00:00 -0800 +Subject: [PATCH] ensure valid sentinals for gst_structure_get() etc + +For GStreamer functions declared with G_GNUC_NULL_TERMINATED, +ie __attribute__((__sentinel__)), gcc will generate a warning if the +last parameter passed to the function is not NULL (where a valid NULL +in this context is defined as zero with any pointer type). + +The C callers to such functions within gst-plugins-bad use the C NULL +definition (ie ((void*)0)), which is a valid sentinel. + +However the C++ NULL definition (ie 0L), is not a valid sentinel +without an explicit cast to a pointer type. + +Upstream-Status: Pending + +Signed-off-by: Andre McCurdy +--- + sys/decklink/gstdecklink.cpp | 10 +++++----- + sys/decklink/gstdecklinkaudiosrc.cpp | 2 +- + sys/decklink/gstdecklinkvideosink.cpp | 2 +- + 3 files changed, 7 insertions(+), 7 deletions(-) + +Index: gst-plugins-bad-1.10.2/sys/decklink/gstdecklink.cpp +=================================================================== +--- gst-plugins-bad-1.10.2.orig/sys/decklink/gstdecklink.cpp ++++ gst-plugins-bad-1.10.2/sys/decklink/gstdecklink.cpp +@@ -617,7 +617,7 @@ gst_decklink_mode_get_structure (GstDeck + "pixel-aspect-ratio", GST_TYPE_FRACTION, mode->par_n, mode->par_d, + "interlace-mode", G_TYPE_STRING, + mode->interlaced ? "interleaved" : "progressive", +- "framerate", GST_TYPE_FRACTION, mode->fps_n, mode->fps_d, NULL); ++ "framerate", GST_TYPE_FRACTION, mode->fps_n, mode->fps_d, (void*)NULL); + + if (input && mode->interlaced) { + if (mode->tff) +@@ -632,16 +632,16 @@ gst_decklink_mode_get_structure (GstDeck + case bmdFormat8BitYUV: /* '2vuy' */ + gst_structure_set (s, "format", G_TYPE_STRING, "UYVY", + "colorimetry", G_TYPE_STRING, mode->colorimetry, +- "chroma-site", G_TYPE_STRING, "mpeg2", NULL); ++ "chroma-site", G_TYPE_STRING, "mpeg2", (void*)NULL); + break; + case bmdFormat10BitYUV: /* 'v210' */ +- gst_structure_set (s, "format", G_TYPE_STRING, "v210", NULL); ++ gst_structure_set (s, "format", G_TYPE_STRING, "v210", (void*)NULL); + break; + case bmdFormat8BitARGB: /* 'ARGB' */ +- gst_structure_set (s, "format", G_TYPE_STRING, "ARGB", NULL); ++ gst_structure_set (s, "format", G_TYPE_STRING, "ARGB", (void*)NULL); + break; + case bmdFormat8BitBGRA: /* 'BGRA' */ +- gst_structure_set (s, "format", G_TYPE_STRING, "BGRA", NULL); ++ gst_structure_set (s, "format", G_TYPE_STRING, "BGRA", (void*)NULL); + break; + case bmdFormat10BitRGB: /* 'r210' Big-endian RGB 10-bit per component with SMPTE video levels (64-960). Packed as 2:10:10:10 */ + case bmdFormat12BitRGB: /* 'R12B' Big-endian RGB 12-bit per component with full range (0-4095). Packed as 12-bit per component */ +Index: gst-plugins-bad-1.10.2/sys/decklink/gstdecklinkaudiosrc.cpp +=================================================================== +--- gst-plugins-bad-1.10.2.orig/sys/decklink/gstdecklinkaudiosrc.cpp ++++ gst-plugins-bad-1.10.2/sys/decklink/gstdecklinkaudiosrc.cpp +@@ -387,7 +387,7 @@ gst_decklink_audio_src_set_caps (GstBase + g_mutex_unlock (&self->input->lock); + + if (videosrc) { +- g_object_get (videosrc, "connection", &vconn, NULL); ++ g_object_get (videosrc, "connection", &vconn, (void *) NULL); + gst_object_unref (videosrc); + + switch (vconn) { +Index: gst-plugins-bad-1.10.2/sys/decklink/gstdecklinkvideosink.cpp +=================================================================== +--- gst-plugins-bad-1.10.2.orig/sys/decklink/gstdecklinkvideosink.cpp ++++ gst-plugins-bad-1.10.2/sys/decklink/gstdecklinkvideosink.cpp +@@ -285,7 +285,7 @@ reset_framerate (GstCapsFeatures * featu + gpointer user_data) + { + gst_structure_set (structure, "framerate", GST_TYPE_FRACTION_RANGE, 0, 1, +- G_MAXINT, 1, NULL); ++ G_MAXINT, 1, (void *) NULL); + + return TRUE; + } diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch new file mode 100644 index 00000000..73681f10 --- /dev/null +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch @@ -0,0 +1,28 @@ +From a67781000e82bd9ae3813da29401e8c0c852328a Mon Sep 17 00:00:00 2001 +From: Andre McCurdy +Date: Tue, 26 Jan 2016 15:16:01 -0800 +Subject: [PATCH] fix maybe-uninitialized warnings when compiling with -Os + +Upstream-Status: Pending + +Signed-off-by: Andre McCurdy +--- + gst-libs/gst/codecparsers/gstvc1parser.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gst-libs/gst/codecparsers/gstvc1parser.c b/gst-libs/gst/codecparsers/gstvc1parser.c +index fd16ee0..ddb890c 100644 +--- a/gst-libs/gst/codecparsers/gstvc1parser.c ++++ b/gst-libs/gst/codecparsers/gstvc1parser.c +@@ -1730,7 +1730,7 @@ gst_vc1_parse_sequence_layer (const guint8 * data, gsize size, + GstVC1SeqLayer * seqlayer) + { + guint32 tmp; +- guint8 tmp8; ++ guint8 tmp8 = 0; + guint8 structA[8] = { 0, }; + guint8 structB[12] = { 0, }; + GstBitReader br; +-- +1.9.1 + diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.imx.bb index 3cf0c7af..2b037e94 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.imx.bb +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.imx.bb @@ -10,9 +10,6 @@ PACKAGECONFIG_append_mx6q = " opencv" PACKAGECONFIG_append_mx6qp = " opencv" PACKAGECONFIG_append_mx8 = " opencv kms" -FILESEXTRAPATHS_prepend := "${BSPDIR}/sources/poky/meta/recipes-multimedia/gstreamer/${PN}:" -FILESEXTRAPATHS_prepend := "${BSPDIR}/sources/poky/meta/recipes-multimedia/gstreamer/files:" - GST1.0-PLUGINS-BAD_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-bad.git;protocol=https" SRCBRANCH = "MM_04.05.01_1909_L4.19.35" -- 2.40.1