gstsink: Do not advertise dmabufs with no formats

We return an empty format list when dmabufs aren't supported, not NULL.

And the sink was treating the empty format list by setting no fourccs
on the caps, which GStreamer conveniently interpreted as "any",
not as "none".
This commit is contained in:
Benjamin Otte
2024-11-01 09:01:30 +01:00
parent 566c484317
commit 8b1dff5b94

View File

@@ -219,7 +219,7 @@ gtk_gst_sink_get_caps (GstBaseSink *bsink,
{
GdkDmabufFormats *formats = gdk_display_get_dmabuf_formats (self->gdk_display);
if (formats)
if (formats && gdk_dmabuf_formats_get_n_formats (formats) > 0)
{
tmp = gst_caps_from_string (DMABUF_TEXTURE_CAPS);
add_drm_formats_and_modifiers (tmp, formats);