diff mbox series

gstreamer1.0-plugins-good: Fix Failed Negotiation in Non-contiguous Formats

Message ID 20260311012906.3348907-1-b-brnich@ti.com
State New
Headers show
Series gstreamer1.0-plugins-good: Fix Failed Negotiation in Non-contiguous Formats | expand

Commit Message

Brandon Brnich March 11, 2026, 1:29 a.m. UTC
Upstream gstreamer has introduced a new method for mapping V4L2 buffer
formats to their respective GST format. Previously it was a big switch
statement manually assigning all contiguous and non-contiguous variants to
fourcc and fourcc_nc respectively. Formats that didn't have both options
would only populate the fourcc. The new mapping properly sets the
corresponding fourcc/fourcc_nc. This means for pixel formats that have no
contiguous option, the non-contiguous option should be checked prior to
pipeline negotiation failures.

Signed-off-by: Brandon Brnich <b-brnich@ti.com>
---
 ...pt-non-contiguous-if-contiguous-form.patch | 36 +++++++++++++++++++
 .../gstreamer1.0-plugins-good_1.26-arago.inc  |  1 +
 2 files changed, 37 insertions(+)
 create mode 100644 meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0007-v4l2object-Attempt-non-contiguous-if-contiguous-form.patch

Comments

PRC Automation March 11, 2026, 1:48 a.m. UTC | #1
meta-arago / na / 20260311012906.3348907-1-b-brnich

PRC Results: FAIL

=========================================================
  check-yocto-patches: PASS
=========================================================
Patches
----------------------------------------
WARN - [PATCH] gstreamer1.0-plugins-good: Fix Failed Negotiation in Non-contiguous Formats
    WARN: Missing branches specifier [master/scarthgap/XXXXX]. (META-2)
        patch:69
            Subject: [PATCH] gstreamer1.0-plugins-good: Fix Failed Negotiation in Non-contiguous Formats
    
    WARN: Commit message does not include file/recipe name: gstreamer1.0-plugins-good: Fix Failed Negotiation in Non-contiguous Formats. (COMMIT-MESSAGE-2)
        patch
    
    For details on the above errors/warnings visit: https://lists.yoctoproject.org/g/meta-ti/wiki/40887



=========================================================
  apply-yocto-patch: PASS
=========================================================
master
=====================
Summary:
- Patch Series: [PATCH] gstreamer1.0-plugins-good: Fix Failed Negotiation in Non-contiguous Formats
- Submitter: From: Brandon Brnich <b-brnich@ti.com>
+From: Brandon Brnich <b-brnich@ti.com>
- Date: Date: Tue, 10 Mar 2026 20:29:06 -0500
+Date: Tue, 10 Mar 2026 19:47:35 -0500
- Num Patches: 1
- Mailing List (public inbox) Commit SHA: b7299117b5e4ba00cdbb3b8596ba65e5cdc45b96

Applied to:
- Repository: lcpd-prc-meta-arago
- Base Branch: master-wip
- Commit Author: Thorsten Lannynd <t-lannynd@ti.com>
- Commit Subject: ti-test: Add request and websocket-client to packagegroup
- Commit SHA: bf13de211888bc29ca4b2882630cb6c0135cdc8d

Patches
----------------------------------------
All patches applied



=========================================================
  check-yocto-repo: PASS
=========================================================
master
=====================
PASS



=========================================================
  yocto-check-layers: FAIL
=========================================================
master - FAIL
=====================
ERROR: Nothing RPROVIDES 'weston-examples' (but <build-dir>/sources/meta-arago/meta-arago-distro/recipes-core/packagegroups/packagegroup-arago-graphics.bb RDEPENDS on or otherwise requires it)
ERROR: Required build target 'meta-world-pkgdata' has no buildable providers.
ERROR: <build-dir>/sources/meta-virtualization/recipes-containers/container-registry/container-registry-populate.bb: QA Issue: task do_populate_registry has network enabled
ERROR: <build-dir>/sources/meta-virtualization/recipes-extended/xen-guest-bundles/alpine-xen-guest-bundle_3.23.bb: QA Issue: Package alpine-xen-guest-bundle is skipping required QA tests. [installed-vs-shipped]
ERROR: <build-dir>/sources/meta-virtualization/recipes-extended/xen-guest-bundles/alpine-xen-guest-bundle_3.23.bb: Fatal QA errors were found, failing task.
ERROR: <build-dir>/sources/meta-virtualization/recipes-extended/xen-guest-bundles/example-xen-guest-bundle_1.0.bb: QA Issue: Package example-xen-guest-bundle is skipping required QA tests. [installed-vs-shipped]
ERROR: <build-dir>/sources/meta-virtualization/recipes-extended/xen-guest-bundles/example-xen-guest-bundle_1.0.bb: Fatal QA errors were found, failing task.
Jeevan March 11, 2026, 11:56 a.m. UTC | #2
On Wed, Mar 11, 2026 at 06:59 AM, Brandon Brnich wrote:

>
> Upstream gstreamer has introduced a new method for mapping V4L2 buffer
> formats to their respective GST format. Previously it was a big switch
> statement manually assigning all contiguous and non-contiguous variants to
> fourcc and fourcc_nc respectively. Formats that didn't have both options
> would only populate the fourcc. The new mapping properly sets the
> corresponding fourcc/fourcc_nc. This means for pixel formats that have no
> contiguous option, the non-contiguous option should be checked prior to
> pipeline negotiation failures.
> 
> Signed-off-by: Brandon Brnich <b-brnich@ti.com>
Tested-by: Telukula Jeevan Kumar Sahu <j-sahu@ti.com>
> ---
>  ...pt-non-contiguous-if-contiguous-form.patch | 36 +++++++++++++++++++
>  .../gstreamer1.0-plugins-good_1.26-arago.inc  |  1 +
>  2 files changed, 37 insertions(+)
>  create mode 100644
> meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0007-v4l2object-Attempt-non-contiguous-if-contiguous-form.patch
> 
> diff --git
> b/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0007-v4l2object-Attempt-non-contiguous-if-contiguous-form.patch
> new file mode 100644
> index 00000000..db7e6f0c
> --- /dev/null
> +++
> b/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0007-v4l2object-Attempt-non-contiguous-if-contiguous-form.patch
> @@ -0,0 +1,36 @@
> +From 8d29018dd31be2045f6724db0942ae1a7da0a789 Mon Sep 17 00:00:00 2001
> +From: Brandon Brnich <b-brnich@ti.com>
> +Date: Tue, 10 Mar 2026 19:47:35 -0500
> +Subject: [PATCH] v4l2object: Attempt non-contiguous if contiguous format
> isn't
> + present
> +
> +Gstreamer previously had logic that would set fourcc even if the format
> +being negotiated didn't have a contiguous option - YUYV for example. A fix
> +was sent to properly set either forcc/forcc_nc properly. For formats that
> +don't have contiguous formats, that would mean attempting non-contiguous
> +options wouldn't happen. Attempt non-contiguous formats before erroring
> +out if applicable.
> +
> +Upstream-Status: Inappropriate [TI-custom]
> +
> +Signed-off-by: Brandon Brnich <b-brnich@ti.com>
> +---
> + sys/v4l2/gstv4l2object.c | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/sys/v4l2/gstv4l2object.c b/sys/v4l2/gstv4l2object.c
> +index dbfe4992be..b4a7c32f31 100644
> +--- a/sys/v4l2/gstv4l2object.c
> ++++ b/sys/v4l2/gstv4l2object.c
> +@@ -2167,7 +2167,7 @@ gst_v4l2_object_get_caps_info (GstV4l2Object *
> v4l2object, GstCaps * caps,
> +
> +   if (fourcc)
> +     fmt = gst_v4l2_object_get_format_from_fourcc (v4l2object, fourcc);
> +-  else if (fourcc == 0)
> ++  else if (fourcc_nc == 0)
> +     goto unhandled_format;
> +
> +   if (fmt == NULL) {
> +--
> +2.43.0
> +
> diff --git
> b/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.26-arago.inc
> index f64790bc..9e418b86 100644
> ---
> a/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.26-arago.inc
> +++
> b/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.26-arago.inc
> @@ -7,6 +7,7 @@ SRC_URI:append = " \
>      file://0005-HACK-gstv4l2object-Increase-min-buffers-for-CSI-capt.patch \
>      file://0001-v4l2jpegenc-Add-support-for-cropping-in-JPEG-Encoder.patch \
>      file://0006-v4l2object-use-actual-stream-resolution-for-encoded-.patch \
> +    file://0007-v4l2object-Attempt-non-contiguous-if-contiguous-form.patch \
>  "
>  
>  PR:append = ".arago0"
> -- 
> 2.34.1
> 
>
diff mbox series

Patch

diff --git a/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0007-v4l2object-Attempt-non-contiguous-if-contiguous-form.patch b/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0007-v4l2object-Attempt-non-contiguous-if-contiguous-form.patch
new file mode 100644
index 00000000..db7e6f0c
--- /dev/null
+++ b/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0007-v4l2object-Attempt-non-contiguous-if-contiguous-form.patch
@@ -0,0 +1,36 @@ 
+From 8d29018dd31be2045f6724db0942ae1a7da0a789 Mon Sep 17 00:00:00 2001
+From: Brandon Brnich <b-brnich@ti.com>
+Date: Tue, 10 Mar 2026 19:47:35 -0500
+Subject: [PATCH] v4l2object: Attempt non-contiguous if contiguous format isn't
+ present
+
+Gstreamer previously had logic that would set fourcc even if the format
+being negotiated didn't have a contiguous option - YUYV for example. A fix
+was sent to properly set either forcc/forcc_nc properly. For formats that
+don't have contiguous formats, that would mean attempting non-contiguous
+options wouldn't happen. Attempt non-contiguous formats before erroring
+out if applicable.
+
+Upstream-Status: Inappropriate [TI-custom]
+
+Signed-off-by: Brandon Brnich <b-brnich@ti.com>
+---
+ sys/v4l2/gstv4l2object.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/sys/v4l2/gstv4l2object.c b/sys/v4l2/gstv4l2object.c
+index dbfe4992be..b4a7c32f31 100644
+--- a/sys/v4l2/gstv4l2object.c
++++ b/sys/v4l2/gstv4l2object.c
+@@ -2167,7 +2167,7 @@ gst_v4l2_object_get_caps_info (GstV4l2Object * v4l2object, GstCaps * caps,
+
+   if (fourcc)
+     fmt = gst_v4l2_object_get_format_from_fourcc (v4l2object, fourcc);
+-  else if (fourcc == 0)
++  else if (fourcc_nc == 0)
+     goto unhandled_format;
+
+   if (fmt == NULL) {
+--
+2.43.0
+
diff --git a/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.26-arago.inc b/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.26-arago.inc
index f64790bc..9e418b86 100644
--- a/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.26-arago.inc
+++ b/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.26-arago.inc
@@ -7,6 +7,7 @@  SRC_URI:append = " \
     file://0005-HACK-gstv4l2object-Increase-min-buffers-for-CSI-capt.patch \
     file://0001-v4l2jpegenc-Add-support-for-cropping-in-JPEG-Encoder.patch \
     file://0006-v4l2object-use-actual-stream-resolution-for-encoded-.patch \
+    file://0007-v4l2object-Attempt-non-contiguous-if-contiguous-form.patch \
 "
 
 PR:append = ".arago0"