diff --git a/pkgs/development/libraries/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix
index d9bf86e0cf3..903ca661486 100644
--- a/pkgs/development/libraries/gstreamer/bad/default.nix
+++ b/pkgs/development/libraries/gstreamer/bad/default.nix
@@ -104,6 +104,8 @@ in stdenv.mkDerivation rec {
       sha256 = "0l1f6kqcl04q7w12a2b4qibcvjz6gqhs0csdv2wbvfd6zndpjm6p";
     })
     ./fix_pkgconfig_includedir.patch
+    # https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1235
+    ./opencv-4.3.patch
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/gstreamer/bad/opencv-4.3.patch b/pkgs/development/libraries/gstreamer/bad/opencv-4.3.patch
new file mode 100644
index 00000000000..55155d5c5e7
--- /dev/null
+++ b/pkgs/development/libraries/gstreamer/bad/opencv-4.3.patch
@@ -0,0 +1,13 @@
+diff --git a/ext/opencv/meson.build b/ext/opencv/meson.build
+index f38b55d..05b142e 100644
+--- a/ext/opencv/meson.build
++++ b/ext/opencv/meson.build
+@@ -65,7 +65,7 @@ if opencv_found
+     endif
+   endforeach
+ else
+-  opencv_dep = dependency('opencv4', version : ['>= 4.0.0', '< 4.2.0'], required : false)
++  opencv_dep = dependency('opencv4', version : ['>= 4.0.0', '< 4.4.0'], required : false)
+   opencv_found = opencv_dep.found()
+   if opencv_found
+     foreach h : libopencv4_headers