diff --git a/subprojects/gst-plugins-bad/docs/plugins/gst_plugins_cache.json b/subprojects/gst-plugins-bad/docs/plugins/gst_plugins_cache.json index 1ad1e7642b..b1ddf18f96 100644 --- a/subprojects/gst-plugins-bad/docs/plugins/gst_plugins_cache.json +++ b/subprojects/gst-plugins-bad/docs/plugins/gst_plugins_cache.json @@ -31183,7 +31183,7 @@ "long-name": "Gtk Wayland Video Sink", "pad-templates": { "sink": { - "caps": "video/x-raw:\n format: { AYUV, ABGR, ARGB, BGRA, RGBA, YUV9, YVU9, Y41B, I420, YV12, NV12, NV21, Y42B, NV16, NV61, UYVY, YUY2, YVYU, BGRx, RGBx, xBGR, xRGB, v308, BGR, RGB, BGR16, RGB16 }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:DMABuf):\n format: DMA_DRM\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n", + "caps": "video/x-raw:\n format: { AYUV, ABGR, ARGB, BGRA, RGBA, P010_10LE, YUV9, YVU9, Y41B, I420, YV12, NV12, NV21, Y42B, NV16, NV61, UYVY, YUY2, YVYU, BGRx, RGBx, xBGR, xRGB, v308, BGR, RGB, BGR16, RGB16 }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:DMABuf):\n format: DMA_DRM\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n", "direction": "sink", "presence": "always" } @@ -239346,7 +239346,7 @@ "long-name": "wayland video sink", "pad-templates": { "sink": { - "caps": "video/x-raw:\n format: { AYUV, ABGR, ARGB, BGRA, RGBA, YUV9, YVU9, Y41B, I420, YV12, NV12, NV21, Y42B, NV16, NV61, UYVY, YUY2, YVYU, BGRx, RGBx, xBGR, xRGB, v308, BGR, RGB, BGR16, RGB16 }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:DMABuf):\n format: DMA_DRM\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n", + "caps": "video/x-raw:\n format: { AYUV, ABGR, ARGB, BGRA, RGBA, P010_10LE, YUV9, YVU9, Y41B, I420, YV12, NV12, NV21, Y42B, NV16, NV61, UYVY, YUY2, YVYU, BGRx, RGBx, xBGR, xRGB, v308, BGR, RGB, BGR16, RGB16 }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:DMABuf):\n format: DMA_DRM\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n", "direction": "sink", "presence": "always" } diff --git a/subprojects/gst-plugins-bad/gst-libs/gst/wayland/gstwlvideoformat.c b/subprojects/gst-plugins-bad/gst-libs/gst/wayland/gstwlvideoformat.c index 62f8164f22..28aff7ef46 100644 --- a/subprojects/gst-plugins-bad/gst-libs/gst/wayland/gstwlvideoformat.c +++ b/subprojects/gst-plugins-bad/gst-libs/gst/wayland/gstwlvideoformat.c @@ -29,6 +29,14 @@ #include +/* This can be removed once we can bump the required wl_client_dep, + * which again is blocked by a CI image update, see + * https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5275 + */ +#ifndef WL_SHM_FORMAT_P010 +#define WL_SHM_FORMAT_P010 DRM_FORMAT_P010 +#endif + #define GST_CAT_DEFAULT gst_wl_videoformat_debug GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT); @@ -74,6 +82,7 @@ static const wl_VideoFormat wl_formats[] = { {WL_SHM_FORMAT_NV21, DRM_FORMAT_NV21, GST_VIDEO_FORMAT_NV21}, {WL_SHM_FORMAT_NV16, DRM_FORMAT_NV16, GST_VIDEO_FORMAT_NV16}, {WL_SHM_FORMAT_NV61, DRM_FORMAT_NV61, GST_VIDEO_FORMAT_NV61}, + {WL_SHM_FORMAT_P010, DRM_FORMAT_P010, GST_VIDEO_FORMAT_P010_10LE}, {WL_SHM_FORMAT_YUV410, DRM_FORMAT_YUV410, GST_VIDEO_FORMAT_YUV9}, {WL_SHM_FORMAT_YVU410, DRM_FORMAT_YVU410, GST_VIDEO_FORMAT_YVU9}, {WL_SHM_FORMAT_YUV411, DRM_FORMAT_YUV411, GST_VIDEO_FORMAT_Y41B}, diff --git a/subprojects/gst-plugins-bad/gst-libs/gst/wayland/gstwlvideoformat.h b/subprojects/gst-plugins-bad/gst-libs/gst/wayland/gstwlvideoformat.h index 0a37434c9a..d3c02697c3 100644 --- a/subprojects/gst-plugins-bad/gst-libs/gst/wayland/gstwlvideoformat.h +++ b/subprojects/gst-plugins-bad/gst-libs/gst/wayland/gstwlvideoformat.h @@ -37,7 +37,7 @@ G_BEGIN_DECLS * Since: 1.24 */ #define GST_WL_VIDEO_FORMATS \ - "{ AYUV, ABGR, ARGB, BGRA, RGBA, YUV9, YVU9, Y41B, I420, YV12, " \ + "{ AYUV, ABGR, ARGB, BGRA, RGBA, P010_10LE, YUV9, YVU9, Y41B, I420, YV12, " \ "NV12, NV21, Y42B, NV16, NV61, UYVY, YUY2, YVYU, BGRx, RGBx, xBGR, xRGB, " \ "v308, BGR, RGB, BGR16, RGB16 }" diff --git a/subprojects/gst-plugins-bad/gst-libs/gst/wayland/meson.build b/subprojects/gst-plugins-bad/gst-libs/gst/wayland/meson.build index 3aa63cb7ce..d660182b6a 100644 --- a/subprojects/gst-plugins-bad/gst-libs/gst/wayland/meson.build +++ b/subprojects/gst-plugins-bad/gst-libs/gst/wayland/meson.build @@ -1,6 +1,6 @@ wl_req = '>= 1.15' wl_client_dep = dependency('wayland-client', version: wl_req, required: get_option('wayland')) -libdrm_dep = dependency('libdrm', version: '>= 2.4.55', required: get_option('wayland')) +libdrm_dep = dependency('libdrm', version: '>= 2.4.98', required: get_option('wayland')) wl_protocol_dep = dependency('wayland-protocols', version: wl_req, required: get_option('wayland')) wl_scanner = find_program('wayland-scanner', required: get_option('wayland')) # Also used in ext/wayland