diff --git a/graphics/gstreamer1-plugins-vulkan/pkg-plist b/graphics/gstreamer1-plugins-vulkan/pkg-plist
index 03d21e5e2674d82432550c15bb79d356db1dbb49..bde3bb8a73553737003b394dae70b3aa29caefbe 100644
--- a/graphics/gstreamer1-plugins-vulkan/pkg-plist
+++ b/graphics/gstreamer1-plugins-vulkan/pkg-plist
@@ -35,6 +35,16 @@ include/gstreamer-%%VERSION%%/gst/vulkan/vulkan.h
 include/gstreamer-%%VERSION%%/gst/vulkan/vulkan_fwd.h
 include/gstreamer-%%VERSION%%/gst/vulkan/wayland/gstvkdisplay_wayland.h
 include/gstreamer-%%VERSION%%/gst/vulkan/wayland/wayland.h
+include/gstreamer-%%VERSION%%/gst/wayland/gstwl_fwd.h
+include/gstreamer-%%VERSION%%/gst/wayland/gstwlbuffer.h
+include/gstreamer-%%VERSION%%/gst/wayland/gstwlcontext.h
+include/gstreamer-%%VERSION%%/gst/wayland/gstwldisplay.h
+include/gstreamer-%%VERSION%%/gst/wayland/gstwllinuxdmabuf.h
+include/gstreamer-%%VERSION%%/gst/wayland/gstwlshmallocator.h
+include/gstreamer-%%VERSION%%/gst/wayland/gstwlvideobufferpool.h
+include/gstreamer-%%VERSION%%/gst/wayland/gstwlvideoformat.h
+include/gstreamer-%%VERSION%%/gst/wayland/gstwlwindow.h
+include/gstreamer-%%VERSION%%/gst/wayland/wayland-prelude.h
 include/gstreamer-%%VERSION%%/gst/wayland/wayland.h
 lib/girepository-%%VERSION%%/GstVulkan-%%VERSION%%.typelib
 lib/girepository-%%VERSION%%/GstVulkanWayland-%%VERSION%%.typelib
diff --git a/multimedia/gstreamer1-plugins-bad/Makefile b/multimedia/gstreamer1-plugins-bad/Makefile
index 3582657b9f9f7164e419eb866182381968f05d58..b0ca9a0bd1f84a002cafe9577972fbb5a8071798 100644
--- a/multimedia/gstreamer1-plugins-bad/Makefile
+++ b/multimedia/gstreamer1-plugins-bad/Makefile
@@ -33,6 +33,7 @@ BAD_GST_ENABLED_PLUGINS=accurip \
 			codecalpha \
 			codecparsers \
 			codecs \
+			codectimestamper \
 			coloreffects \
 			data \
 			debugutils \
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-data_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-data_meson.build
index 6b23a6827851616494a5d5bf3f421b430763b5c1..e3eefedf06b93350ed43e174be9315dbe38734bc 100644
--- a/multimedia/gstreamer1-plugins-bad/files/patch-data_meson.build
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-data_meson.build
@@ -1,12 +1,12 @@
---- data/meson.build.orig	2022-09-05 21:41:46 UTC
+--- data/meson.build.orig	2023-01-23 19:29:34 UTC
 +++ data/meson.build
 @@ -1,3 +1,4 @@
 +if get_option('data').enabled()
  encoding_targetsdir = join_paths(get_option('datadir'),
      'gstreamer-' + api_version, 'encoding-profiles')
  
-@@ -21,3 +22,4 @@ foreach path_targets : encoding_targets
-   etargets = path_targets.get(1)
-   install_data(sources: etargets, install_dir: dir)
- endforeach
+@@ -28,3 +29,4 @@ meson.add_devenv(env)
+ env = environment()
+ env.prepend('GST_ENCODING_TARGET_PATH', srcdirs)
+ meson.add_devenv(env)
 +endif
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-ext_webrtc_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-ext_webrtc_meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..ae302fcad5b197c7b15077b989914b2a716784ed
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-ext_webrtc_meson.build
@@ -0,0 +1,13 @@
+--- ext/webrtc/meson.build.orig	2023-01-23 19:29:34 UTC
++++ ext/webrtc/meson.build
+@@ -12,6 +12,10 @@ webrtc_sources = [
+   'webrtcdatachannel.c',
+ ]
+ 
++if not is_variable('libgstwebrtcnice_dep')
++  libgstwebrtcnice_dep=cc.find_library('gstwebrtcnice-1.0', required : true)
++endif
++
+ webrtc_option = get_option('webrtc').require(
+   libgstwebrtcnice_dep.found(), error_message: 'webrtc plugin requires libgstwebrtcnice.')
+ if webrtc_option.disabled()
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-ext_zxing_gstzxing.cpp b/multimedia/gstreamer1-plugins-bad/files/patch-ext_zxing_gstzxing.cpp
index c53370be65289566bb6d7d871534280c090e2b0f..799de61f5529e736100de364949cae90b5c3fb3b 100644
--- a/multimedia/gstreamer1-plugins-bad/files/patch-ext_zxing_gstzxing.cpp
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-ext_zxing_gstzxing.cpp
@@ -1,25 +1,20 @@
---- ext/zxing/gstzxing.cpp.orig	2022-12-19 23:34:46 UTC
+--- ext/zxing/gstzxing.cpp.orig	2023-01-23 19:29:34 UTC
 +++ ext/zxing/gstzxing.cpp
-@@ -368,8 +368,8 @@ gst_zxing_transform_frame_ip (GstVideoFilter * vfilter
-   auto result = ReadBarcode ({(unsigned char *)data, width, height, zxing->image_format}, hints);
+@@ -369,7 +369,7 @@ gst_zxing_transform_frame_ip (GstVideoFilter * vfilter
    if (result.isValid ()) {
      GST_DEBUG_OBJECT (zxing, "Symbol found. Text: %s Format: %s",
--        TextUtfEncoding::ToUtf8 (result.text ()).c_str (),
+         result.text ().c_str (),
 -        ToString (result.format ()));
-+        result.text ().c_str (),
 +        ToString (result.format ()).c_str());
    } else {
      goto out;
    }
-@@ -394,9 +394,9 @@ gst_zxing_transform_frame_ip (GstVideoFilter * vfilter
+@@ -394,7 +394,7 @@ gst_zxing_transform_frame_ip (GstVideoFilter * vfilter
          "timestamp", G_TYPE_UINT64, timestamp,
          "stream-time", G_TYPE_UINT64, stream_time,
          "running-time", G_TYPE_UINT64, running_time,
 -        "type", G_TYPE_STRING, ToString (result.format ()),
 +        "type", G_TYPE_STRING, ToString (result.format ()).c_str(),
          "symbol", G_TYPE_STRING,
--        TextUtfEncoding::ToUtf8 (result.text ()).c_str (), NULL);
-+        result.text ().c_str (), NULL);
+         result.text ().c_str (), NULL);
  
-     if (zxing->attach_frame) {
-       /* create a sample from image */
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-ext_zxing_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-ext_zxing_meson.build
deleted file mode 100644
index 7f16ede501104386885aaf33dd73c642b5b9a0b2..0000000000000000000000000000000000000000
--- a/multimedia/gstreamer1-plugins-bad/files/patch-ext_zxing_meson.build
+++ /dev/null
@@ -1,22 +0,0 @@
---- ext/zxing/meson.build.orig	2022-12-19 23:34:46 UTC
-+++ ext/zxing/meson.build
-@@ -2,16 +2,17 @@ zxing_sources = [
-   'gstzxing.cpp',
-   'gstzxingplugin.c',
- ]
--zxing_dep = dependency('zxing', version : '>= 1.1.1', required : get_option('zxing'))
-+zxing_dep = dependency('zxing', version : '>= 1.4.0', required : get_option('zxing'))
- if zxing_dep.found()
- 	gstzxing = library('gstzxing',
- 	  zxing_sources,
- 	  c_args : gst_plugins_bad_args,
-+	  cpp_args: '-DZX_USE_UTF8',
- 	  include_directories : [configinc],
- 	  dependencies : [gstvideo_dep, zxing_dep],
- 	  install : true,
- 	  install_dir : plugins_install_dir,
--          override_options : ['cpp_std=c++11'],
-+	  override_options : ['cpp_std=c++17'],
- 	)
- 	pkgconfig.generate(gstzxing, install_dir : plugins_pkgconfig_install_dir)
- 	plugins += [gstzxing]
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_codecparsers_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_codecparsers_meson.build
index be194a066bf911d7a2d0c998078035ddd2917b56..ef3812765c935e4389d25d07794f1d2a615fb073 100644
--- a/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_codecparsers_meson.build
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_codecparsers_meson.build
@@ -1,12 +1,12 @@
---- gst-libs/gst/codecparsers/meson.build.orig	2022-09-05 20:42:22 UTC
+--- gst-libs/gst/codecparsers/meson.build.orig	2023-01-23 19:29:34 UTC
 +++ gst-libs/gst/codecparsers/meson.build
 @@ -1,3 +1,4 @@
 +if get_option('codecparsers').enabled()
  codecparser_sources = files([
    'gstjpeg2000sampling.c',
    'gstjpegparser.c',
-@@ -69,3 +70,4 @@ gstcodecparsers_dep = declare_dependency(link_with : g
+@@ -71,3 +72,4 @@ meson.override_dependency(pkg_name, gstcodecparsers_de
  
- libraries += [[pkg_name, {'lib': gstcodecparsers}]]
+ gst_libraries += [[pkg_name, {'lib': gstcodecparsers}]]
  meson.override_dependency(pkg_name, gstcodecparsers_dep)
 +endif
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_interfaces_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_interfaces_meson.build
index ef3b197d131c34b8f446a8f884bec83775516f8b..05d78c425a45d73a8fed151c85e6cceeb0313d72 100644
--- a/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_interfaces_meson.build
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_interfaces_meson.build
@@ -1,12 +1,12 @@
---- gst-libs/gst/interfaces/meson.build.orig	2022-09-05 21:08:24 UTC
+--- gst-libs/gst/interfaces/meson.build.orig	2023-01-23 19:29:34 UTC
 +++ gst-libs/gst/interfaces/meson.build
 @@ -1,3 +1,4 @@
 +if get_option('interfaces').enabled()
  photography_sources = ['photography.c']
  photo_headers = ['photography.h', 'photography-prelude.h']
  install_headers(photo_headers, subdir : 'gstreamer-1.0/gst/interfaces')
-@@ -40,3 +41,4 @@ gstphotography_dep = declare_dependency(link_with : gs
+@@ -40,3 +41,4 @@ meson.override_dependency(pkg_name, gstphotography_dep
  
- libraries += [[pkg_name, {'lib': gstphotography}]]
+ gst_libraries += [[pkg_name, {'lib': gstphotography}]]
  meson.override_dependency(pkg_name, gstphotography_dep)
 +endif
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_uridownloader_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_uridownloader_meson.build
index 2ac8c66b84d5646dfd64abf538409e790284abf7..2bd58ed8b5fd68706f1cba916dd976a0e714edac 100644
--- a/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_uridownloader_meson.build
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_uridownloader_meson.build
@@ -1,14 +1,14 @@
---- gst-libs/gst/uridownloader/meson.build.orig	2022-09-05 21:20:17 UTC
+--- gst-libs/gst/uridownloader/meson.build.orig	2023-01-23 19:29:34 UTC
 +++ gst-libs/gst/uridownloader/meson.build
 @@ -1,3 +1,4 @@
 +if get_option('uridownloader').enabled()
  urid_sources = [
    'gstfragment.c',
    'gsturidownloader.c',
-@@ -27,4 +28,5 @@ gsturidownloader_dep = declare_dependency(link_with : 
+@@ -27,4 +28,5 @@ gst_libraries += [[pkg_name, {'lib': gsturidownloader}
    dependencies : [gstbase_dep])
  
- libraries += [[pkg_name, {'lib': gsturidownloader}]]
+ gst_libraries += [[pkg_name, {'lib': gsturidownloader}]]
 -meson.override_dependency(pkg_name, gsturidownloader_dep)
 \ No newline at end of file
 +meson.override_dependency(pkg_name, gsturidownloader_dep)
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_va_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_va_meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..51b56b1d3936a18755177a9dd63e4d888459de73
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_va_meson.build
@@ -0,0 +1,11 @@
+--- gst-libs/gst/va/meson.build.orig	2023-01-23 19:29:34 UTC
++++ gst-libs/gst/va/meson.build
+@@ -27,7 +27,7 @@ gstva_dep = dependency('', required : false)
+ 
+ gstva_dep = dependency('', required : false)
+ 
+-if host_system != 'linux'
++if get_option('skip_gstva')
+   subdir_done()
+ endif
+ 
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_webrtc_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_webrtc_meson.build
index bbd698236e2a325d4019e69bf5627ccf4891c0cc..a41bf710c35a84a75fc3cb13b81406e6ba3f16fb 100644
--- a/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_webrtc_meson.build
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_webrtc_meson.build
@@ -1,12 +1,15 @@
---- gst-libs/gst/webrtc/meson.build.orig	2022-09-05 21:22:10 UTC
+--- gst-libs/gst/webrtc/meson.build.orig	2023-01-23 19:29:34 UTC
 +++ gst-libs/gst/webrtc/meson.build
 @@ -1,3 +1,4 @@
 +if get_option('webrtc').enabled()
  webrtc_sources = files([
    'dtlstransport.c',
-   'icetransport.c',
-@@ -95,3 +96,4 @@ gstwebrtc_dep = declare_dependency(link_with: gstwebrt
-   dependencies: gstwebrtc_dependencies)
+   'ice.c',
+@@ -102,4 +103,5 @@ meson.override_dependency(pkg_name, gstwebrtc_dep)
  
  meson.override_dependency(pkg_name, gstwebrtc_dep)
+ 
+-subdir('nice')
+\ No newline at end of file
++subdir('nice')
 +endif
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-gst_codectimestamper_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-gst_codectimestamper_meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..3528291dedf81be1a9c2c4a2edba79dac90916c7
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-gst_codectimestamper_meson.build
@@ -0,0 +1,12 @@
+--- gst/codectimestamper/meson.build.orig	2023-02-28 08:03:28 UTC
++++ gst/codectimestamper/meson.build
+@@ -9,7 +9,8 @@ gstcodectimestamper = library('gstcodectimestamper',
+   codectimestamper_sources,
+   c_args : gst_plugins_bad_args + [ '-DGST_USE_UNSTABLE_API' ],
+   include_directories : [configinc],
+-  dependencies : [gstcodecparsers_dep, gstbase_dep, gstvideo_dep],
++  dependencies : [dependency('gstreamer-codecparsers-1.0', required : true),
++    gstbase_dep, gstvideo_dep],
+   install : true,
+   install_dir : plugins_install_dir,
+ )
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-meson__options.txt b/multimedia/gstreamer1-plugins-bad/files/patch-meson__options.txt
index fbd2a0a69f2f5b9e2335ab120e88652092bc5582..e68d998887822ff77d1cb4ad98a6804764d00fb1 100644
--- a/multimedia/gstreamer1-plugins-bad/files/patch-meson__options.txt
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-meson__options.txt
@@ -1,6 +1,6 @@
---- meson_options.txt.orig	2022-09-04 20:24:08 UTC
+--- meson_options.txt.orig	2023-01-23 19:29:34 UTC
 +++ meson_options.txt
-@@ -1,5 +1,39 @@
+@@ -1,5 +1,41 @@ option('gst_play_tests', type: 'boolean', value: false
  option('gst_play_tests', type: 'boolean', value: false,
         description: 'Enable GstPlay tests that need network access')
 +option('adaptivedemux', type: 'feature', value: 'auto',
@@ -37,6 +37,8 @@
 +       description: 'data lib')
 +option('pkgconfig', type: 'feature', value: 'auto',
 +       description: 'pkgconfig lib')
++option('skip_gstva', type: 'boolean', value: true,
++       description: 'skip building gst-libs/gst/va, used for multimedia/gstreamer1-vaapi')
  
  # Feature options for plugins without external deps
  option('accurip', type : 'feature', value : 'auto')
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-tests_examples_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-tests_examples_meson.build
index 658275f7a8e0c7fbd8d15f17899a0a2f671ab2ea..98794affdb99d7857a90995b1d2f874e1ef33850 100644
--- a/multimedia/gstreamer1-plugins-bad/files/patch-tests_examples_meson.build
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-tests_examples_meson.build
@@ -1,18 +1,22 @@
---- tests/examples/meson.build.orig	2022-09-13 22:41:40 UTC
+--- tests/examples/meson.build.orig	2023-01-23 19:29:34 UTC
 +++ tests/examples/meson.build
-@@ -1,20 +1,54 @@
+@@ -1,24 +1,66 @@
 -subdir('audiomixmatrix')
 -subdir('avsamplesink')
 -subdir('camerabin2')
 -subdir('codecparsers')
+-subdir('codecs')
 -subdir('d3d11')
 -subdir('directfb')
+-subdir('gtk')
 -subdir('ipcpipeline')
+-subdir('mediafoundation')
 -subdir('mpegts')
 -subdir('msdk')
 -subdir('mxf')
 -subdir('nvcodec')
 -subdir('opencv', if_found: opencv_dep)
+-subdir('qsv')
 -subdir('uvch264')
 -subdir('va')
 -subdir('waylandsink')
@@ -30,15 +34,24 @@
 +if get_option('codecparsers').enabled()
 +  subdir('codecparsers')
 +endif
++if get_option('codecs').enabled()
++  subdir('codecs')
++endif
 +if get_option('d3d11').enabled()
 +  subdir('d3d11')
 +endif
 +if get_option('directfb').enabled()
 +  subdir('directfb')
 +endif
++if get_option('gtk3').enabled()
++  subdir('gtk')
++endif
 +if get_option('ipcpipeline').enabled()
 +  subdir('ipcpipeline')
 +endif
++if get_option('mediafoundation').enabled()
++  subdir('mediafoundation')
++endif
 +if get_option('mpegts').enabled()
 +  subdir('mpegts')
 +endif
@@ -54,6 +67,9 @@
 +if get_option('opencv').enabled()
 +  subdir('opencv', if_found: opencv_dep)
 +endif
++if get_option('qsv').enabled()
++  subdir('qsv')
++endif
 +if get_option('uvch264').enabled()
 +  subdir('uvch264')
 +endif
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-tools_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-tools_meson.build
index 35a3c9b6f67cc7b50c228066b03cc31f3e123cd3..8655ba57e242f0d57d5d95005ab310b375a41991 100644
--- a/multimedia/gstreamer1-plugins-bad/files/patch-tools_meson.build
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-tools_meson.build
@@ -1,10 +1,11 @@
---- tools/meson.build.orig	2022-09-05 21:25:23 UTC
+--- tools/meson.build.orig	2023-01-23 19:29:34 UTC
 +++ tools/meson.build
-@@ -1,6 +1,8 @@
+@@ -1,3 +1,4 @@
 +if get_option('tools').enabled()
  executable('gst-transcoder-' + api_version,
    'gst-transcoder.c', 'utils.c',
    install : true,
+@@ -5,3 +6,4 @@ executable('gst-transcoder-' + api_version,
    dependencies : [gst_dep, gstpbutils_dep, gst_transcoder_dep],
    c_args: ['-DG_LOG_DOMAIN="gst-transcoder-@0@"'.format(api_version)],
  )
diff --git a/multimedia/gstreamer1-plugins-bad/pkg-plist b/multimedia/gstreamer1-plugins-bad/pkg-plist
index bcb101022969e5f693615613ade95b76531a0c73..4540b13ddfe8b0e305ab91378b735680d1ad9c3b 100644
--- a/multimedia/gstreamer1-plugins-bad/pkg-plist
+++ b/multimedia/gstreamer1-plugins-bad/pkg-plist
@@ -70,7 +70,13 @@ include/gstreamer-%%VERSION%%/gst/uridownloader/gsturidownloader_debug.h
 include/gstreamer-%%VERSION%%/gst/uridownloader/uridownloader-prelude.h
 include/gstreamer-%%VERSION%%/gst/webrtc/datachannel.h
 include/gstreamer-%%VERSION%%/gst/webrtc/dtlstransport.h
+include/gstreamer-%%VERSION%%/gst/webrtc/ice.h
+include/gstreamer-%%VERSION%%/gst/webrtc/icestream.h
 include/gstreamer-%%VERSION%%/gst/webrtc/icetransport.h
+include/gstreamer-%%VERSION%%/gst/webrtc/nice/nice.h
+include/gstreamer-%%VERSION%%/gst/webrtc/nice/nice_fwd.h
+include/gstreamer-%%VERSION%%/gst/webrtc/nice/nicestream.h
+include/gstreamer-%%VERSION%%/gst/webrtc/nice/nicetransport.h
 include/gstreamer-%%VERSION%%/gst/webrtc/rtcsessiondescription.h
 include/gstreamer-%%VERSION%%/gst/webrtc/rtpreceiver.h
 include/gstreamer-%%VERSION%%/gst/webrtc/rtpsender.h
@@ -103,6 +109,7 @@ lib/gstreamer-%%VERSION%%/libgstbayer.so
 lib/gstreamer-%%VERSION%%/libgstbz2.so
 lib/gstreamer-%%VERSION%%/libgstcamerabin.so
 lib/gstreamer-%%VERSION%%/libgstcodecalpha.so
+lib/gstreamer-%%VERSION%%/libgstcodectimestamper.so
 lib/gstreamer-%%VERSION%%/libgstcoloreffects.so
 lib/gstreamer-%%VERSION%%/libgstdebugutilsbad.so
 lib/gstreamer-%%VERSION%%/libgstdvbsubenc.so
@@ -203,6 +210,9 @@ lib/libgsturidownloader-%%VERSION%%.so.%%SOVERSION%%
 lib/libgstwebrtc-%%VERSION%%.so
 lib/libgstwebrtc-%%VERSION%%.so.0
 lib/libgstwebrtc-%%VERSION%%.so.%%SOVERSION%%
+lib/libgstwebrtcnice-%%VERSION%%.so
+lib/libgstwebrtcnice-%%VERSION%%.so.0
+lib/libgstwebrtcnice-%%VERSION%%.so.%%SOVERSION%%
 libdata/pkgconfig/gstreamer-bad-audio-%%VERSION%%.pc
 libdata/pkgconfig/gstreamer-codecparsers-%%VERSION%%.pc
 libdata/pkgconfig/gstreamer-insertbin-%%VERSION%%.pc
@@ -214,6 +224,7 @@ libdata/pkgconfig/gstreamer-plugins-bad-%%VERSION%%.pc
 libdata/pkgconfig/gstreamer-sctp-%%VERSION%%.pc
 libdata/pkgconfig/gstreamer-transcoder-%%VERSION%%.pc
 libdata/pkgconfig/gstreamer-webrtc-%%VERSION%%.pc
+libdata/pkgconfig/gstreamer-webrtc-nice-%%VERSION%%.pc
 share/gir-%%VERSION%%/GstBadAudio-%%VERSION%%.gir
 share/gir-%%VERSION%%/GstCodecs-%%VERSION%%.gir
 share/gir-%%VERSION%%/GstInsertBin-%%VERSION%%.gir
diff --git a/multimedia/gstreamer1-plugins-good/Makefile b/multimedia/gstreamer1-plugins-good/Makefile
index dc377b72cbfb8ed300989a4344aba48b53266508..caf0e4d1e22f3b8f21ac36f66fab8ecb581e0794 100644
--- a/multimedia/gstreamer1-plugins-good/Makefile
+++ b/multimedia/gstreamer1-plugins-good/Makefile
@@ -14,7 +14,8 @@ PLIST=		${.CURDIR}/pkg-plist
 PATCHDIR=	${.CURDIR}/files
 NO_GSTREAMER_COMMON=	yes
 
-GOOD_GST_ENABLED_PLUGINS=	alpha \
+GOOD_GST_ENABLED_PLUGINS=	adaptivedemux2 \
+				alpha \
 				apetag \
 				audiofx \
 				audioparsers \
@@ -60,6 +61,7 @@ GOOD_GST_ENABLED_PLUGINS=	alpha \
 				videomixer \
 				wavenc \
 				wavparse \
+				xingmux \
 				y4m
 
 .include "${MASTERDIR}/Makefile"
diff --git a/multimedia/gstreamer1-plugins-good/pkg-plist b/multimedia/gstreamer1-plugins-good/pkg-plist
index 0865417281a1b5dbb28a4b0cb87ca9c687bfb47d..b38508455883820caca1d7f9bfbd667122af9bb2 100644
--- a/multimedia/gstreamer1-plugins-good/pkg-plist
+++ b/multimedia/gstreamer1-plugins-good/pkg-plist
@@ -1,3 +1,4 @@
+lib/gstreamer-%%VERSION%%/libgstadaptivedemux2.so
 lib/gstreamer-%%VERSION%%/libgstalaw.so
 lib/gstreamer-%%VERSION%%/libgstalpha.so
 lib/gstreamer-%%VERSION%%/libgstalphacolor.so
@@ -45,6 +46,7 @@ lib/gstreamer-%%VERSION%%/libgstvideofilter.so
 lib/gstreamer-%%VERSION%%/libgstvideomixer.so
 lib/gstreamer-%%VERSION%%/libgstwavenc.so
 lib/gstreamer-%%VERSION%%/libgstwavparse.so
+lib/gstreamer-%%VERSION%%/libgstxingmux.so
 lib/gstreamer-%%VERSION%%/libgsty4menc.so
 %%DATADIR%%-%%VERSION%%/presets/GstIirEqualizer10Bands.prs
 %%DATADIR%%-%%VERSION%%/presets/GstIirEqualizer3Bands.prs
diff --git a/multimedia/gstreamer1-plugins-msdk/Makefile b/multimedia/gstreamer1-plugins-msdk/Makefile
index 0e50cc3f818c0b8bb96a7e9817c9e80fc84702c6..5f823f95bf6336c2dc252e388b8727110672ab21 100644
--- a/multimedia/gstreamer1-plugins-msdk/Makefile
+++ b/multimedia/gstreamer1-plugins-msdk/Makefile
@@ -6,6 +6,8 @@ COMMENT=	GStreamer (Intel MediaSDK) plugin
 GST_PLUGIN=	msdk
 DIST=		bad
 
+CONFIGURE_ARGS=	-Dskip_gstva=false
+
 MASTERDIR=	${.CURDIR}/../../multimedia/gstreamer1-plugins
 
 PLIST=  ${.CURDIR}/pkg-plist
diff --git a/multimedia/gstreamer1-plugins-msdk/pkg-plist b/multimedia/gstreamer1-plugins-msdk/pkg-plist
index 56730199f11943fa750010bf2a58149aa3af6fdc..f03e3b0df527ce75184236e66e6d0911ed4b937a 100644
--- a/multimedia/gstreamer1-plugins-msdk/pkg-plist
+++ b/multimedia/gstreamer1-plugins-msdk/pkg-plist
@@ -1 +1,17 @@
+include/gstreamer-%%VERSION%%/gst/va/gstva.h
+include/gstreamer-%%VERSION%%/gst/va/gstvaallocator.h
+include/gstreamer-%%VERSION%%/gst/va/gstvadisplay.h
+include/gstreamer-%%VERSION%%/gst/va/gstvadisplay_drm.h
+include/gstreamer-%%VERSION%%/gst/va/gstvadisplay_wrapped.h
+include/gstreamer-%%VERSION%%/gst/va/gstvapool.h
+include/gstreamer-%%VERSION%%/gst/va/gstvautils.h
+include/gstreamer-%%VERSION%%/gst/va/va-enumtypes.h
+include/gstreamer-%%VERSION%%/gst/va/va-prelude.h
+include/gstreamer-%%VERSION%%/gst/va/va_fwd.h
+lib/girepository-%%VERSION%%/GstVa-%%VERSION%%.typelib
 lib/gstreamer-%%VERSION%%/libgstmsdk.so
+lib/libgstva-%%VERSION%%.so
+lib/libgstva-%%VERSION%%.so.0
+lib/libgstva-%%VERSION%%.so.%%SOVERSION%%
+libdata/pkgconfig/gstreamer-va-%%VERSION%%.pc
+share/gir-%%VERSION%%/GstVa-%%VERSION%%.gir
diff --git a/multimedia/gstreamer1-plugins-ugly/Makefile b/multimedia/gstreamer1-plugins-ugly/Makefile
index b4c3db0058b01338faa1c301c0a7f3105bbc08a5..ef3a77b14dda065134ce1cc4969e0c96765f5564 100644
--- a/multimedia/gstreamer1-plugins-ugly/Makefile
+++ b/multimedia/gstreamer1-plugins-ugly/Makefile
@@ -15,7 +15,6 @@ UGLY_GST_ENABLED_PLUGINS=	asfdemux \
 				nls \
 				dvdlpcmdec \
 				dvdsub \
-				realmedia \
-				xingmux
+				realmedia
 
 .include "${MASTERDIR}/Makefile"
diff --git a/multimedia/gstreamer1-plugins-ugly/files/patch-meson__options.txt b/multimedia/gstreamer1-plugins-ugly/files/patch-meson__options.txt
new file mode 100644
index 0000000000000000000000000000000000000000..812e478edb18ef7a3c137ebd0ddbc48c81494022
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-ugly/files/patch-meson__options.txt
@@ -0,0 +1,13 @@
+--- meson_options.txt.orig	2023-01-23 19:29:34 UTC
++++ meson_options.txt
+@@ -16,6 +16,10 @@ option('x264', type : 'feature', value : 'auto', descr
+ option('mpeg2dec', type : 'feature', value : 'auto', description : 'MPEG 2 video decoder plugin based on libmpeg2 (GPL - only built if gpl option is also enabled!)')
+ option('sidplay', type : 'feature', value : 'auto', description : 'Commodore 64 audio decoder plugin based on libsidplay (GPL - only built if gpl option is also enabled!)')
+ option('x264', type : 'feature', value : 'auto', description : 'H.264 video encoder plugin based on libx264 (GPL - only built if gpl option is also enabled!)')
++option('defaultaudiosink', type : 'string', value : 'autoaudiosink',
++        description: 'set default audio sink')
++option('defaultaudiosrc', type : 'string', value : 'autoaudiosrc',
++        description: 'set default audio src')
+ 
+ # License-related feature options
+ option('gpl', type: 'feature', value: 'disabled', yield: true,
diff --git a/multimedia/gstreamer1-plugins-ugly/files/patch-meson_options.txt b/multimedia/gstreamer1-plugins-ugly/files/patch-meson_options.txt
deleted file mode 100644
index 0c5da395fa31b81d7654432b8703ac8507f1079c..0000000000000000000000000000000000000000
--- a/multimedia/gstreamer1-plugins-ugly/files/patch-meson_options.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-*** meson_options.txt.orig	Fri Sep  2 18:21:12 2022
---- meson_options.txt	Fri Sep  2 18:22:42 2022
-***************
-*** 7,12 ****
---- 7,16 ----
-  option('dvdsub', type : 'feature', value : 'auto')
-  option('realmedia', type : 'feature', value : 'auto')
-  option('xingmux', type : 'feature', value : 'auto')
-+ option('defaultaudiosink', type : 'string', value : 'autoaudiosink',
-+         description: 'set default audio sink')
-+ option('defaultaudiosrc', type : 'string', value : 'autoaudiosrc',
-+         description: 'set default audio src')
-  
-  # Feature options for plugins that need external deps
-  option('a52dec', type : 'feature', value : 'auto', description : 'Dolby Digital (AC-3) audio decoder plugin based on liba52 (GPL - only built if gpl option is also enabled!)')
diff --git a/multimedia/gstreamer1-plugins-ugly/pkg-plist b/multimedia/gstreamer1-plugins-ugly/pkg-plist
index 32ef9d0fc46ccd4317723d65fba0737d58c4a522..9641976b4f3fc5b3d840f398d35ac6de58d05a5f 100644
--- a/multimedia/gstreamer1-plugins-ugly/pkg-plist
+++ b/multimedia/gstreamer1-plugins-ugly/pkg-plist
@@ -2,7 +2,6 @@ lib/gstreamer-%%VERSION%%/libgstasf.so
 lib/gstreamer-%%VERSION%%/libgstdvdlpcmdec.so
 lib/gstreamer-%%VERSION%%/libgstdvdsub.so
 lib/gstreamer-%%VERSION%%/libgstrealmedia.so
-lib/gstreamer-%%VERSION%%/libgstxingmux.so
 share/locale/af/LC_MESSAGES/gst-plugins-ugly-%%VERSION%%.mo
 share/locale/ast/LC_MESSAGES/gst-plugins-ugly-%%VERSION%%.mo
 share/locale/az/LC_MESSAGES/gst-plugins-ugly-%%VERSION%%.mo
diff --git a/multimedia/gstreamer1-plugins/Makefile b/multimedia/gstreamer1-plugins/Makefile
index 9414c39774bdbcb7baf19e4a7e7e73bf2f6b2342..b99b9fcf7a0a8c00f45f2060a4e7455c89065b50 100644
--- a/multimedia/gstreamer1-plugins/Makefile
+++ b/multimedia/gstreamer1-plugins/Makefile
@@ -23,16 +23,16 @@ RUN_DEPENDS+=	iso-codes>=0:misc/iso-codes
 
 PORTSCOUT=	limitw:1,even
 
-BASE_PORTVERSION=	1.20.6
+BASE_PORTVERSION=	1.22.0
 BASE_DISTNAME=		gst-plugins-base-${BASE_PORTVERSION}
 BASE_DISTFILE=		${BASE_DISTNAME}${EXTRACT_SUFX}
-BAD_PORTVERSION=	1.20.6
+BAD_PORTVERSION=	1.22.0
 BAD_DISTNAME=		gst-plugins-bad-${BAD_PORTVERSION}
 BAD_DISTFILE=		${BAD_DISTNAME}${EXTRACT_SUFX}
-GOOD_PORTVERSION=	1.20.6
+GOOD_PORTVERSION=	1.22.0
 GOOD_DISTNAME=		gst-plugins-good-${GOOD_PORTVERSION}
 GOOD_DISTFILE=		${GOOD_DISTNAME}${EXTRACT_SUFX}
-UGLY_PORTVERSION=	1.20.6
+UGLY_PORTVERSION=	1.22.0
 UGLY_DISTNAME=		gst-plugins-ugly-${UGLY_PORTVERSION}
 UGLY_DISTFILE=		${UGLY_DISTNAME}${EXTRACT_SUFX}
 DIST?=		base
@@ -57,7 +57,7 @@ IGNORE=		DIST not specified
 .endif
 
 VERSION=	1.0
-SOVERSION=	0.2006.0
+SOVERSION=	0.2200.0
 PLIST_SUB+=	VERSION="${VERSION}" \
 		SOVERSION="${SOVERSION}"
 
@@ -98,9 +98,8 @@ BASE_GST_ENABLED_PLUGINS=	adder \
 				tools \
 				typefind \
 				video \
-				videoconvert \
+				videoconvertscale \
 				videorate \
-				videoscale \
 				videotestsrc \
 				volume
 .endif
diff --git a/multimedia/gstreamer1-plugins/Makefile.common b/multimedia/gstreamer1-plugins/Makefile.common
index ee45e739cab399d02689e23f0b547f14e166cda4..0c4d4ef01a0a6332cf0ce9e584db961109b97f0a 100644
--- a/multimedia/gstreamer1-plugins/Makefile.common
+++ b/multimedia/gstreamer1-plugins/Makefile.common
@@ -41,9 +41,8 @@ BASE_GST_ALL_PLUGINS+= \
 		tremor \
 		typefind \
 		video \
-		videoconvert \
+		videoconvertscale \
 		videorate \
-		videoscale \
 		videotestsrc \
 		volume \
 		vorbis \
@@ -54,7 +53,6 @@ BASE_GST_ENABLED_PLUGINS?=
 
 BAD_GST_ALL_PLUGINS+= \
 		accurip \
-		adaptivedemux \
 		adpcmdec \
 		adpcmenc \
 		aes \
@@ -81,6 +79,7 @@ BAD_GST_ALL_PLUGINS+= \
 		codecalpha \
 		codecparsers \
 		codecs \
+		codectimestamper \
 		coloreffects \
 		colormanagement \
 		curl \
@@ -216,6 +215,7 @@ BAD_GST_ENABLED_PLUGINS?=
 
 GOOD_GST_ALL_PLUGINS+= \
 		aalib \
+		adaptivedemux2 \
 		alpha \
 		apetag \
 		audiofx \
@@ -290,6 +290,7 @@ GOOD_GST_ALL_PLUGINS+= \
 		wavpack \
 		wavparse \
 		ximagesrc \
+		xingmux \
 		y4m
 
 GOOD_GST_ENABLED_PLUGINS?=
@@ -307,8 +308,7 @@ UGLY_GST_ALL_PLUGINS+= \
 		nls \
 		realmedia \
 		sidplay \
-		x264 \
-		xingmux
+		x264
 
 UGLY_GST_ENABLED_PLUGINS?=
 
diff --git a/multimedia/gstreamer1-plugins/distinfo b/multimedia/gstreamer1-plugins/distinfo
index e527a300b83edb78de878502c2c76b3050f5e391..031aee7f5b8a3bad8e35772f2d9575c47026f2b0 100644
--- a/multimedia/gstreamer1-plugins/distinfo
+++ b/multimedia/gstreamer1-plugins/distinfo
@@ -1,9 +1,9 @@
-TIMESTAMP = 1677497669
-SHA256 (gst-plugins-base-1.20.6.tar.xz) = 54eac357d6cd66f183b94a26e493bf4d5781bc76bc60cad122742626caf8f1a3
-SIZE (gst-plugins-base-1.20.6.tar.xz) = 3320100
-SHA256 (gst-plugins-bad-1.20.6.tar.xz) = d98c73fa5cdddb372a91199464515cfc80c89bbe05e3d4387ea4381e4224483a
-SIZE (gst-plugins-bad-1.20.6.tar.xz) = 6244344
-SHA256 (gst-plugins-ugly-1.20.6.tar.xz) = ca3fb6abc9f6e981d204a736c254e50cc1786a2f5038d83023e42ea009b10246
-SIZE (gst-plugins-ugly-1.20.6.tar.xz) = 515488
-SHA256 (gst-plugins-good-1.20.6.tar.xz) = e51365cfa9b19bd736dafe2c8828254a55d66996a3c60550bb0d50041c381a44
-SIZE (gst-plugins-good-1.20.6.tar.xz) = 3438312
+TIMESTAMP = 1677562474
+SHA256 (gst-plugins-base-1.22.0.tar.xz) = f53672294f3985d56355c8b1df8f6b49c8c8721106563e19f53be3507ff2229d
+SIZE (gst-plugins-base-1.22.0.tar.xz) = 2341248
+SHA256 (gst-plugins-bad-1.22.0.tar.xz) = 3c9d9300f5f4fb3e3d36009379d1fb6d9ecd79c1a135df742b8a68417dd663a1
+SIZE (gst-plugins-bad-1.22.0.tar.xz) = 5500728
+SHA256 (gst-plugins-ugly-1.22.0.tar.xz) = a644dc981afa2d8d3a913f763ab9523c0620ee4e65a7ec73c7721c29da3c5a0c
+SIZE (gst-plugins-ugly-1.22.0.tar.xz) = 240104
+SHA256 (gst-plugins-good-1.22.0.tar.xz) = 582e617271e7f314d1a2211e3e3856ae2e4303c8c0d6114e9c4a5ea5719294b0
+SIZE (gst-plugins-good-1.22.0.tar.xz) = 2795268
diff --git a/multimedia/gstreamer1-plugins/files/patch-ext_cdparanoia_meson.build b/multimedia/gstreamer1-plugins/files/patch-ext_cdparanoia_meson.build
index 9aaddd0f5bfffe86feb30bcb9780c1d8befbe918..e350413856b045d32a9eeec04381abcdfdf824e6 100644
--- a/multimedia/gstreamer1-plugins/files/patch-ext_cdparanoia_meson.build
+++ b/multimedia/gstreamer1-plugins/files/patch-ext_cdparanoia_meson.build
@@ -1,11 +1,11 @@
---- ext/cdparanoia/meson.build.orig	2022-12-19 23:34:46 UTC
+--- ext/cdparanoia/meson.build.orig	2023-01-23 19:29:34 UTC
 +++ ext/cdparanoia/meson.build
 @@ -42,7 +42,7 @@ if cdparanoia_found
      ['gstcdparanoiasrc.c'],
      include_directories: [configinc, libsinc],
      c_args : gst_plugins_base_args + extra_args,
--    dependencies : cdparanoia_deps + glib_deps + [audio_dep, gst_dep, gst_base_dep],
-+    dependencies : cdparanoia_deps + glib_deps + [dependency('gstreamer-audio-1.0'), gst_dep, gst_base_dep],
+-    dependencies : cdparanoia_deps + [audio_dep, gst_dep, gst_base_dep],
++    dependencies : cdparanoia_deps + [dependency('gstreamer-audio-1.0'), gst_dep, gst_base_dep],
      install : true,
      install_dir : plugins_install_dir,
    )
diff --git a/multimedia/gstreamer1-plugins/files/patch-ext_libvisual_meson.build b/multimedia/gstreamer1-plugins/files/patch-ext_libvisual_meson.build
index 0bfada23154880a2c6828dc5323ac0675ea86b1a..07205f06660bf520d4f5469040e3c2a1b01dccc5 100644
--- a/multimedia/gstreamer1-plugins/files/patch-ext_libvisual_meson.build
+++ b/multimedia/gstreamer1-plugins/files/patch-ext_libvisual_meson.build
@@ -1,11 +1,11 @@
---- ext/libvisual/meson.build.orig	2022-09-12 14:49:46 UTC
+--- ext/libvisual/meson.build.orig	2023-01-23 19:29:34 UTC
 +++ ext/libvisual/meson.build
 @@ -13,7 +13,8 @@ if libvisual_dep.found()
      libvisual_sources,
      c_args : gst_plugins_base_args,
      include_directories: [configinc, libsinc],
--    dependencies : glib_deps + [libvisual_dep, audio_dep, video_dep, pbutils_dep, gst_dep, gst_base_dep],
-+    dependencies : glib_deps + [libvisual_dep, dependency('gstreamer-audio-1.0'),
+-    dependencies : [libvisual_dep, audio_dep, video_dep, pbutils_dep, gst_dep, gst_base_dep],
++    dependencies : [libvisual_dep, dependency('gstreamer-audio-1.0'),
 +      dependency('gstreamer-video-1.0'), dependency('gstreamer-pbutils-1.0'), gst_dep, gst_base_dep],
      install : true,
      install_dir : plugins_install_dir,
diff --git a/multimedia/gstreamer1-plugins/files/patch-ext_ogg_meson.build b/multimedia/gstreamer1-plugins/files/patch-ext_ogg_meson.build
index b0c2baaff97b17f823918efcdede4a12747bfbaa..7c80df1ffb81fe38cb3ba4e67ba98114bd5a08ca 100644
--- a/multimedia/gstreamer1-plugins/files/patch-ext_ogg_meson.build
+++ b/multimedia/gstreamer1-plugins/files/patch-ext_ogg_meson.build
@@ -1,11 +1,11 @@
---- ext/ogg/meson.build.orig	2022-09-07 20:35:50 UTC
+--- ext/ogg/meson.build.orig	2023-01-23 19:29:34 UTC
 +++ ext/ogg/meson.build
 @@ -19,7 +19,9 @@ if ogg_dep.found()
      c_args : gst_plugins_base_args,
      link_args : noseh_link_args,
      include_directories: [configinc, libsinc],
--    dependencies : glib_deps + [ogg_dep, audio_dep, pbutils_dep, tag_dep, riff_dep, gst_dep, gst_base_dep],
-+    dependencies : glib_deps + [ogg_dep, dependency('gstreamer-audio-1.0'),
+-    dependencies : [ogg_dep, audio_dep, pbutils_dep, tag_dep, riff_dep, gst_dep, gst_base_dep],
++    dependencies : [ogg_dep, dependency('gstreamer-audio-1.0'),
 +      dependency('gstreamer-pbutils-1.0'), dependency('gstreamer-tag-1.0'),
 +      dependency('gstreamer-riff-1.0'), gst_dep, gst_base_dep],
      install : true,
diff --git a/multimedia/gstreamer1-plugins/files/patch-ext_opus_meson.build b/multimedia/gstreamer1-plugins/files/patch-ext_opus_meson.build
index 607aefc2547c3d9c07816d6b7c7e96933933b6a3..a5dccb9123abae014d8b05e8508584048684ce8e 100644
--- a/multimedia/gstreamer1-plugins/files/patch-ext_opus_meson.build
+++ b/multimedia/gstreamer1-plugins/files/patch-ext_opus_meson.build
@@ -12,8 +12,8 @@
      c_args : gst_plugins_base_args,
      link_args : noseh_link_args,
      include_directories: [configinc, libsinc],
--    dependencies : glib_deps + [pbutils_dep, tag_dep, audio_dep, gst_dep, gst_base_dep, opus_dep, libm],
-+    dependencies : glib_deps + [pbutils_dep2, tag_dep2, audio_dep2, gst_dep, gst_base_dep, opus_dep, libm],
+-    dependencies : [pbutils_dep, tag_dep, audio_dep, gst_dep, gst_base_dep, opus_dep, libm],
++    dependencies : [pbutils_dep2, tag_dep2, audio_dep2, gst_dep, gst_base_dep, opus_dep, libm],
      install : true,
      install_dir : plugins_install_dir,
    )
diff --git a/multimedia/gstreamer1-plugins/files/patch-ext_pango_meson.build b/multimedia/gstreamer1-plugins/files/patch-ext_pango_meson.build
index 34495bf7ab0eb0bf4baf9ddb860503a5bf6dfb3d..cd929647cef24dfd3e6c834e78c9a2a06f714ceb 100644
--- a/multimedia/gstreamer1-plugins/files/patch-ext_pango_meson.build
+++ b/multimedia/gstreamer1-plugins/files/patch-ext_pango_meson.build
@@ -4,8 +4,8 @@
      c_args : gst_plugins_base_args,
      link_args : noseh_link_args,
      include_directories: [configinc, libsinc],
--    dependencies : glib_deps + [pango_dep, video_dep, gst_dep, gst_base_dep, libm],
-+    dependencies : glib_deps + [pango_dep,
+-    dependencies : [pango_dep, video_dep, gst_dep, gst_base_dep, libm],
++    dependencies : [pango_dep,
 +      dependency('gstreamer-video-1.0', required : true),
 +      gst_dep, gst_base_dep, libm],
      install : true,
diff --git a/multimedia/gstreamer1-plugins/files/patch-ext_theora_meson.build b/multimedia/gstreamer1-plugins/files/patch-ext_theora_meson.build
index 472b2949e43e39a2b87cc68534287990aec0f7c7..cbbdb22e57d9aaf3a9abce69636f6a671afdf4fe 100644
--- a/multimedia/gstreamer1-plugins/files/patch-ext_theora_meson.build
+++ b/multimedia/gstreamer1-plugins/files/patch-ext_theora_meson.build
@@ -4,8 +4,8 @@
      c_args : gst_plugins_base_args,
      link_args : noseh_link_args,
      include_directories: [configinc, libsinc],
--    dependencies : theora_deps + glib_deps + [video_dep, tag_dep, gst_dep, gst_base_dep],
-+    dependencies : theora_deps + glib_deps + [dependency('gstreamer-video-1.0'),
+-    dependencies : theora_deps + [video_dep, tag_dep, gst_dep, gst_base_dep],
++    dependencies : theora_deps + [dependency('gstreamer-video-1.0'),
 +      dependency('gstreamer-tag-1.0'), gst_base_dep],
      install : true,
      install_dir : plugins_install_dir,
diff --git a/multimedia/gstreamer1-plugins/files/patch-ext_vorbis_meson.build b/multimedia/gstreamer1-plugins/files/patch-ext_vorbis_meson.build
index c554337974558c4f580f6476a58f3326035b8ba4..0df8c2ea3ccddfd73839c56ec13fa8cb4575b0ca 100644
--- a/multimedia/gstreamer1-plugins/files/patch-ext_vorbis_meson.build
+++ b/multimedia/gstreamer1-plugins/files/patch-ext_vorbis_meson.build
@@ -4,8 +4,8 @@
      c_args : gst_plugins_base_args,
      link_args : noseh_link_args,
      include_directories: [configinc, libsinc],
--    dependencies : vorbis_deps + glib_deps + [audio_dep, tag_dep, gst_dep, gst_base_dep],
-+    dependencies : vorbis_deps + glib_deps + [dependency('gstreamer-audio-1.0'),
+-    dependencies : vorbis_deps + [audio_dep, tag_dep, gst_dep, gst_base_dep],
++    dependencies : vorbis_deps + [dependency('gstreamer-audio-1.0'),
 +      dependency('gstreamer-tag-1.0'), gst_dep, gst_base_dep],
      install : true,
      install_dir : plugins_install_dir,
diff --git a/multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_gl_meson.build b/multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_gl_meson.build
index 9bffe2bd844987ae84e86a991134acc63c2ccf73..4b0563f6ae23c4fc01d7e4c28921d52f2ada3580 100644
--- a/multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_gl_meson.build
+++ b/multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_gl_meson.build
@@ -1,6 +1,6 @@
---- gst-libs/gst/gl/meson.build.orig	2023-02-23 18:23:11 UTC
+--- gst-libs/gst/gl/meson.build.orig	2023-01-23 19:29:34 UTC
 +++ gst-libs/gst/gl/meson.build
-@@ -554,11 +554,6 @@ if need_platform_egl != 'no'
+@@ -555,11 +555,6 @@ if need_platform_egl != 'no'
      gl_platform_deps += egl_dep
      glconf.set('GST_GL_HAVE_PLATFORM_EGL', 1)
  
@@ -12,7 +12,7 @@
      egl_includes = '''
  #include <EGL/egl.h>
  #include <EGL/eglext.h>
-@@ -1058,7 +1053,7 @@ if build_gstgl
+@@ -1060,7 +1055,7 @@ if build_gstgl
      soversion : soversion,
      darwin_versions : osxversion,
      install : true,
@@ -21,12 +21,8 @@
                      gl_lib_deps, gl_platform_deps, gl_winsys_deps, gl_misc_deps],
      # don't confuse EGL/egl.h with gst-libs/gl/egl/egl.h on case-insensitive file systems
      implicit_include_directories : false)
-@@ -1069,10 +1064,10 @@ if build_gstgl
-     'gl_apis=' + ' '.join(enabled_gl_apis),
-   ]
- 
--  library_def = {'lib': pbutils}
-+  library_def = {'lib': library('gstpbutils-@0@'.format(api_version))}
+@@ -1074,7 +1069,7 @@ if build_gstgl
+   library_def = {'lib': gstgl}
    pkg_name = 'gstreamer-gl-1.0'
    pkgconfig.generate(gstgl,
 -    libraries : [gstvideo, gst_base_dep, gst_dep],
@@ -34,7 +30,7 @@
      variables : pkgconfig_variables + pkgconfig_gl_variables,
      uninstalled_variables : pkgconfig_gl_variables,
      subdirs : pkgconfig_subdirs,
-@@ -1104,7 +1099,7 @@ if build_gstgl
+@@ -1106,7 +1101,7 @@ if build_gstgl
          'includes' : ['Gst-1.0', 'GstBase-1.0', 'GstVideo-1.0'],
          'install' : true,
          'extra_args' : gir_init_section + ['--c-include=gst/gl/gl.h'],
@@ -43,16 +39,16 @@
      }
      library_def += {'gir': [gir]}
      if not static_build
-@@ -1116,7 +1111,7 @@ if build_gstgl
+@@ -1118,7 +1113,7 @@ if build_gstgl
    gstgl_dep = declare_dependency(link_with : gstgl,
      include_directories : [libsinc, compat_includes],
      sources: gen_sources,
 -    dependencies : [video_dep, gst_base_dep, gl_winsys_deps],
 +    dependencies : [dependency('gstreamer-video-1.0'), gst_base_dep, gl_winsys_deps],
      variables: pkgconfig_gl_variables)
-   gstglproto_dep = declare_dependency(dependencies : [gstgl_dep] + gl_lib_deps)
-   meson.override_dependency('gstreamer-gl-1.0', gstgl_dep)
-@@ -1144,7 +1139,7 @@ if build_gstgl
+   gstglproto_dep = declare_dependency(
+     dependencies : [gstgl_dep] + gl_lib_deps,
+@@ -1149,7 +1144,7 @@ if build_gstgl
          'includes' : ['Gst-1.0', 'GstBase-1.0', 'GstVideo-1.0'],
          'install' : true,
          'extra_args' : gir_init_section + ['--c-include=gst/gl/x11/x11.h'],
@@ -60,8 +56,8 @@
 +        'dependencies' : [dependency('gstreamer-video-1.0'), gst_dep, gst_base_dep]
        }
        gir_dict = gir + {'includes': gir['includes'] + ['GstGL-1.0']}
-       libraries += [[pkg_name, {'gir': gir_dict}]]
-@@ -1180,7 +1175,7 @@ if build_gstgl
+       gst_libraries += [[pkg_name, {'gir': gir_dict}]]
+@@ -1185,7 +1180,7 @@ if build_gstgl
          'includes' : ['Gst-1.0', 'GstBase-1.0', 'GstVideo-1.0'],
          'install' : true,
          'extra_args' : gir_init_section + ['--c-include=gst/gl/wayland/wayland.h'],
@@ -70,7 +66,7 @@
        }
  
        gir_dict = gir + {'includes': gir['includes'] + ['GstGL-1.0']}
-@@ -1216,7 +1211,7 @@ if build_gstgl
+@@ -1221,7 +1216,7 @@ if build_gstgl
          'includes' : ['Gst-1.0', 'GstBase-1.0', 'GstVideo-1.0'],
          'install' : true,
          'extra_args' : gir_init_section + ['--c-include=gst/gl/egl/egl.h'],
@@ -78,4 +74,4 @@
 +        'dependencies' : [dependency('gstreamer-video-1.0'), gst_dep, gst_base_dep]
        }
        gir_dict = gir + {'includes': gir['includes'] + ['GstGL-1.0']}
-       libraries += [[pkg_name, {'gir': gir_dict}]]
+       gst_libraries += [[pkg_name, {'gir': gir_dict}]]
diff --git a/multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_video_meson.build b/multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_video_meson.build
index 5246d7c326973426c12612a50c5c884db429dc5c..5828602535fe623e8326193848b0780083ade150 100644
--- a/multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_video_meson.build
+++ b/multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_video_meson.build
@@ -1,11 +1,11 @@
---- gst-libs/gst/video/meson.build.orig	2022-09-06 21:09:42 UTC
+--- gst-libs/gst/video/meson.build.orig	2023-01-23 19:29:34 UTC
 +++ gst-libs/gst/video/meson.build
 @@ -1,3 +1,4 @@
 +if get_option('video').enabled()
  video_sources = files([
    'colorbalance.c',
    'colorbalancechannel.c',
-@@ -181,3 +182,4 @@ video_dep = declare_dependency(link_with : gstvideo,
+@@ -183,3 +184,4 @@ meson.override_dependency(pkg_name, video_dep)
    sources : video_gen_sources)
  
  meson.override_dependency(pkg_name, video_dep)
diff --git a/multimedia/gstreamer1-plugins/files/patch-meson.build b/multimedia/gstreamer1-plugins/files/patch-meson.build
index 8887e97b84968c48e57c5fce43042d495a8dfa9d..3c494fcde98755542ac5a773fcd97ff969c812fe 100644
--- a/multimedia/gstreamer1-plugins/files/patch-meson.build
+++ b/multimedia/gstreamer1-plugins/files/patch-meson.build
@@ -1,6 +1,6 @@
---- meson.build.orig	2022-09-03 05:39:18 UTC
+--- meson.build.orig	2023-01-23 19:29:34 UTC
 +++ meson.build
-@@ -17,6 +17,8 @@ endif
+@@ -17,6 +17,8 @@ gst_version_is_dev = gst_version_minor % 2 == 1 and gs
  gst_version_is_stable = gst_version_minor.is_even()
  gst_version_is_dev = gst_version_minor % 2 == 1 and gst_version_micro < 90
  
@@ -9,7 +9,7 @@
  host_system = host_machine.system()
  
  have_cxx = add_languages('cpp', native: false, required: false)
-@@ -282,8 +284,10 @@ core_conf.set_quoted('GST_PACKAGE_ORIGIN', get_option(
+@@ -295,8 +297,10 @@ core_conf.set_quoted('DEFAULT_VIDEOSINK', 'autovideosi
  
  # FIXME: These should be configure options
  core_conf.set_quoted('DEFAULT_VIDEOSINK', 'autovideosink')
@@ -21,7 +21,7 @@
  # Set whether the audioresampling method should be detected at runtime
  core_conf.set('AUDIORESAMPLE_FORMAT_' + get_option('audioresample_format').to_upper(), true)
  
-@@ -484,6 +488,7 @@ pkgconfig_plugins_base_libs_variables = [
+@@ -489,6 +493,7 @@ pkgconfig_plugins_base_libs_variables = [
    'libraries=' + ' '.join(base_libraries),
  ]
  
@@ -29,7 +29,7 @@
  pkgconfig.generate(
    libraries : [gst_dep],
    variables : pkgconfig_variables + pkgconfig_plugins_base_libs_variables,
-@@ -497,6 +502,7 @@ pkgconfig.generate(
+@@ -502,6 +507,7 @@ run_command(meson_pkg_config_file_fixup_script,
  run_command(meson_pkg_config_file_fixup_script,
    'gstreamer-plugins-base-1.0', 'libraries',
    check: true)
diff --git a/multimedia/gstreamer1-plugins/files/patch-sys_ximage_meson.build b/multimedia/gstreamer1-plugins/files/patch-sys_ximage_meson.build
index e71899dbfda9c678f470ec02757bc0e90d77e8ed..b7d690169435fc819b6ff93bd63408d443035dc1 100644
--- a/multimedia/gstreamer1-plugins/files/patch-sys_ximage_meson.build
+++ b/multimedia/gstreamer1-plugins/files/patch-sys_ximage_meson.build
@@ -1,19 +1,19 @@
---- sys/ximage/meson.build.orig	2022-09-09 09:10:02 UTC
+--- sys/ximage/meson.build.orig	2023-01-23 19:29:34 UTC
 +++ sys/ximage/meson.build
 @@ -1,3 +1,4 @@
 +if get_option('ximage').enabled()
  no_warn_args = []
  # XKeycodeToKeysym is deprecated, but we use it when Xkb is unavailable
  if cc.has_argument ('-Wno-deprecated-declarations')
-@@ -8,9 +9,10 @@ gstximage = library('gstximagesink',
+@@ -8,8 +9,9 @@ gstximage = library('gstximagesink',
    'ximagesink.c', 'ximage.c', 'ximagepool.c',
    c_args : gst_plugins_base_args + no_warn_args,
    include_directories: [configinc, libsinc],
--  dependencies : glib_deps + [video_dep, gst_base_dep, gst_dep, x11_dep, xshm_dep],
-+  dependencies : glib_deps + [dependency('gstreamer-video-1.0'), gst_base_dep, gst_dep, x11_dep, xshm_dep],
+-  dependencies : [video_dep, gst_base_dep, gst_dep, x11_dep, xshm_dep, xi_dep],
++  dependencies : [dependency('gstreamer-video-1.0'), gst_base_dep, gst_dep, x11_dep, xshm_dep, xi_dep],
    install : true,
    install_dir : plugins_install_dir,
  )
- pkgconfig.generate(gstximage, install_dir : plugins_pkgconfig_install_dir)
  plugins += [gstximage]
 +endif
+\ No newline at end of file
diff --git a/multimedia/gstreamer1-plugins/files/patch-sys_xvimage_meson.build b/multimedia/gstreamer1-plugins/files/patch-sys_xvimage_meson.build
index 865194abb762bfcd2511af1367af04387938ccc4..394db498d6d7ef788729df82bf4f936896659a0b 100644
--- a/multimedia/gstreamer1-plugins/files/patch-sys_xvimage_meson.build
+++ b/multimedia/gstreamer1-plugins/files/patch-sys_xvimage_meson.build
@@ -1,13 +1,12 @@
---- sys/xvimage/meson.build.orig	2022-09-17 07:37:22 UTC
+--- sys/xvimage/meson.build.orig	2023-01-23 19:29:34 UTC
 +++ sys/xvimage/meson.build
-@@ -19,7 +19,9 @@ if xvideo_dep.found()
+@@ -19,7 +19,8 @@ if xvideo_dep.found()
      xvimage_sources,
      c_args : gst_plugins_base_args + no_warn_args,
      include_directories: [configinc, libsinc],
--    dependencies : glib_deps + [video_dep, gst_base_dep, gst_dep, x11_dep, xshm_dep, xvideo_dep, libm],
-+    dependencies : glib_deps + [
-+      dependency('gstreamer-video-1.0', required : true),
-+      gst_base_dep, gst_dep, x11_dep, xshm_dep, xvideo_dep, libm],
+-    dependencies : [video_dep, gst_base_dep, gst_dep, x11_dep, xshm_dep, xvideo_dep, xi_dep, libm],
++    dependencies : [dependency('gstreamer-video-1.0', required : true),
++      gst_base_dep, gst_dep, x11_dep, xshm_dep, xvideo_dep, xi_dep, libm],
      install : true,
      install_dir : plugins_install_dir,
    )
diff --git a/multimedia/gstreamer1-plugins/files/patch-tools_meson.build b/multimedia/gstreamer1-plugins/files/patch-tools_meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..6d1c193da58c9e72fba942fac16e0816b40a6d53
--- /dev/null
+++ b/multimedia/gstreamer1-plugins/files/patch-tools_meson.build
@@ -0,0 +1,15 @@
+--- tools/meson.build.orig	2023-01-23 19:29:34 UTC
++++ tools/meson.build
+@@ -1,3 +1,4 @@
++if not get_option('tools').disabled()
+ tool_deps = [pbutils_dep, audio_dep, video_dep, tag_dep, gst_dep, gst_base_dep, gmodule_dep]
+ 
+ extra_args = []
+@@ -44,7 +45,6 @@ endif
+     },
+   }
+ 
+-if not get_option('tools').disabled()
+   foreach tool, data: gst_tools
+     exe_name = '@0@-@1@'.format(tool, api_version)
+     executable(exe_name,
diff --git a/multimedia/gstreamer1-plugins/pkg-plist b/multimedia/gstreamer1-plugins/pkg-plist
index ec1168be973b02d76b84e97ecdb22f77b152308e..8959ec43ea2ffdd929959ecd18441ae11df8bd2b 100644
--- a/multimedia/gstreamer1-plugins/pkg-plist
+++ b/multimedia/gstreamer1-plugins/pkg-plist
@@ -126,6 +126,7 @@ include/gstreamer-%%VERSION%%/gst/video/video-overlay-composition.h
 include/gstreamer-%%VERSION%%/gst/video/video-prelude.h
 include/gstreamer-%%VERSION%%/gst/video/video-resampler.h
 include/gstreamer-%%VERSION%%/gst/video/video-scaler.h
+include/gstreamer-%%VERSION%%/gst/video/video-sei.h
 include/gstreamer-%%VERSION%%/gst/video/video-tile.h
 include/gstreamer-%%VERSION%%/gst/video/video.h
 include/gstreamer-%%VERSION%%/gst/video/videodirection.h
@@ -157,9 +158,8 @@ lib/gstreamer-%%VERSION%%/libgstrawparse.so
 lib/gstreamer-%%VERSION%%/libgstsubparse.so
 lib/gstreamer-%%VERSION%%/libgsttcp.so
 lib/gstreamer-%%VERSION%%/libgsttypefindfunctions.so
-lib/gstreamer-%%VERSION%%/libgstvideoconvert.so
+lib/gstreamer-%%VERSION%%/libgstvideoconvertscale.so
 lib/gstreamer-%%VERSION%%/libgstvideorate.so
-lib/gstreamer-%%VERSION%%/libgstvideoscale.so
 lib/gstreamer-%%VERSION%%/libgstvideotestsrc.so
 lib/gstreamer-%%VERSION%%/libgstvolume.so
 lib/libgstallocators-%%VERSION%%.so
diff --git a/multimedia/gstreamer1-vaapi/Makefile b/multimedia/gstreamer1-vaapi/Makefile
index 99b39e1308ed781dc73d92cb7f23c1ac51c46d14..838e77bbd1886e86766a242c9be0d7ed2c95fe71 100644
--- a/multimedia/gstreamer1-vaapi/Makefile
+++ b/multimedia/gstreamer1-vaapi/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	gstreamer1-vaapi
-PORTVERSION=	1.20.5
+PORTVERSION=	1.22.0
 CATEGORIES=	multimedia
 MASTER_SITES=	https://gstreamer.freedesktop.org/src/gstreamer-vaapi/
 DISTNAME=	gstreamer-vaapi-${PORTVERSION}
@@ -26,11 +26,11 @@ OPTIONS_DEFINE=	DRM WAYLAND
 
 DRM_DESC=	Raw KMS/DRM backend
 
-DRM_MESON_OFF=	-Dwith_drm=no
+DRM_MESON_BOOL=	drm
 DRM_LIB_DEPENDS=libudev.so:devel/libudev-devd \
 		libdrm.so:graphics/libdrm
 
-WAYLAND_MESON_OFF=	-Dwith_wayland=no
+WAYLAND_MESON_BOOL=	wayland
 WAYLAND_LIB_DEPENDS=	libva-wayland.so:multimedia/libva \
 			libwayland-client.so:graphics/wayland
 
diff --git a/multimedia/gstreamer1-vaapi/distinfo b/multimedia/gstreamer1-vaapi/distinfo
index d6cdbb333e177171f8c91b7ba93e7569a9d49796..e1d0aac908ba10be149db50e289dc06ec3a5cada 100644
--- a/multimedia/gstreamer1-vaapi/distinfo
+++ b/multimedia/gstreamer1-vaapi/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1671699832
-SHA256 (gstreamer-vaapi-1.20.5.tar.xz) = 510c6fb4ff3f676d7946ce1800e04ccf5aabe5a586d4e164d1961808fab8c94b
-SIZE (gstreamer-vaapi-1.20.5.tar.xz) = 801628
+TIMESTAMP = 1677598511
+SHA256 (gstreamer-vaapi-1.22.0.tar.xz) = 593ccad19f88e5fa29f40f98356c007806bd535828707b1406944d16a90bdff5
+SIZE (gstreamer-vaapi-1.22.0.tar.xz) = 526660
diff --git a/multimedia/gstreamer1-vaapi/pkg-plist b/multimedia/gstreamer1-vaapi/pkg-plist
index 4144bda81efaf1f3e2bede9b4448cf0caae788f4..334178ae228094c4116bc92d675c5459c62bfe76 100644
--- a/multimedia/gstreamer1-vaapi/pkg-plist
+++ b/multimedia/gstreamer1-vaapi/pkg-plist
@@ -1 +1,2 @@
 lib/gstreamer-1.0/libgstvaapi.so
+lib/gstreamer-1.0/pkgconfig/gstvaapi.pc
diff --git a/multimedia/gstreamer1/Makefile b/multimedia/gstreamer1/Makefile
index a82a2681b27d0805cf4e63924de254fc536c7f4b..22c1091bba78a52203e9e3f10a267177b3becb6f 100644
--- a/multimedia/gstreamer1/Makefile
+++ b/multimedia/gstreamer1/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	gstreamer
-PORTVERSION=	1.20.6
+PORTVERSION=	1.22.0
 CATEGORIES=	multimedia
 MASTER_SITES=	https://gstreamer.freedesktop.org/src/gstreamer/
 PKGNAMESUFFIX=	1
@@ -19,7 +19,7 @@ CONFIGURE_ARGS=	-D tests=disabled \
 	-D dbghelp=disabled \
 	-D doc=disabled
 PLIST_SUB=	VERSION=${GST10_VERSION} \
-		SOVERSION=0.2006.0
+		SOVERSION=0.2200.0
 
 USE_LDCONFIG=	yes
 GST10_VERSION=	1.0
diff --git a/multimedia/gstreamer1/distinfo b/multimedia/gstreamer1/distinfo
index af94536913548b6e55ca6b0167d0f32db6f2d631..638a538c988d0657cc6959a4d8fc150f61e16939 100644
--- a/multimedia/gstreamer1/distinfo
+++ b/multimedia/gstreamer1/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1677496154
-SHA256 (gstreamer-1.20.6.tar.xz) = 0545b030960680f71a95f9d39c95daae54b4d317d335e8f239d81138773c9b90
-SIZE (gstreamer-1.20.6.tar.xz) = 2699648
+TIMESTAMP = 1677561641
+SHA256 (gstreamer-1.22.0.tar.xz) = 78d21b5469ac93edafc6d8ceb63bc82f6cbbee94d2f866cca6b9252157ee0a09
+SIZE (gstreamer-1.22.0.tar.xz) = 1775960