Workaround for the v4l2convert segfault rsvgoverlay has concurrency issue working with v4l2convert. Apply the workaround to enable v4l2convert. Bug: b/158161332 Change-Id: Ia52602731ffb21cc738145be21532c0b8326801e
diff --git a/debian/changelog b/debian/changelog index d464042..9edef94 100644 --- a/debian/changelog +++ b/debian/changelog
@@ -1,3 +1,11 @@ +gst-plugins-bad1.0 (1.14.4-1+mtku1) mendel-eagle; urgency=medium + + * Enable waylandsink fullscreen. + * Enable v4l2convert and apply workaround to avoid concurrency issue with + rsvgoverlay. + + -- Coral Team <coral-support@google.com> Thu, 29 Oct 2020 22:33:42 -0700 + gst-plugins-bad1.0 (1.14.4-1+mtk) mendel-day; urgency=medium * Update to debian 1.14.4-1
diff --git a/debian/patches/0001-Workaround-concurrency-issue.patch b/debian/patches/0001-Workaround-concurrency-issue.patch new file mode 100644 index 0000000..c88c14f --- /dev/null +++ b/debian/patches/0001-Workaround-concurrency-issue.patch
@@ -0,0 +1,35 @@ +From 1a4da293d0d22015240c81e5b056ba322c1529ea Mon Sep 17 00:00:00 2001 +From: Alexandre Bailon <abailon@baylibre.com> +Date: Tue, 22 Sep 2020 15:33:19 +0200 +Subject: [PATCH] Workaround concurrency issue + +There is a concurrency issue between rsvg plugin and it parent's +class: videofilter. +Because of this issue, the plugin crash because it tries to write +a read only buffer. + +Until we find a proper way to prevent the concurrency, use this +workaround to avoid the segfault. + +Signed-off-by: Alexandre Bailon <abailon@baylibre.com> +Change-Id: I14f1c2a857fb949f53220f583615f6faa8e9ca26 +--- + ext/rsvg/gstrsvgoverlay.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ext/rsvg/gstrsvgoverlay.c b/ext/rsvg/gstrsvgoverlay.c +index 5f661b9a..48384573 100644 +--- a/ext/rsvg/gstrsvgoverlay.c ++++ b/ext/rsvg/gstrsvgoverlay.c +@@ -137,7 +137,7 @@ gst_rsvg_overlay_set_svg_data (GstRsvgOverlay * overlay, const gchar * data, + if (overlay->handle) { + g_object_unref (overlay->handle); + overlay->handle = NULL; +- gst_base_transform_set_passthrough (btrans, TRUE); ++// gst_base_transform_set_passthrough (btrans, TRUE); + } + + /* data may be NULL */ +-- +2.25.1 +
diff --git a/debian/patches/series b/debian/patches/series index 1a14fcd..c6ce507 100644 --- a/debian/patches/series +++ b/debian/patches/series
@@ -4,3 +4,4 @@ 0002-mtk-gst-libs-gst-wayland-makefile.patch 0003-waylandsink-support-fullscreen.patch 0004-openexr.patch +0001-Workaround-concurrency-issue.patch