va: baseenc: Do not import the VA surface from other display.
authorHe Junyan <junyan.he@intel.com>
Fri, 4 Nov 2022 13:52:39 +0000 (21:52 +0800)
committerHe Junyan <junyan.he@intel.com>
Sat, 5 Nov 2022 05:39:34 +0000 (13:39 +0800)
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1167
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3322>

subprojects/gst-plugins-bad/sys/va/gstvabaseenc.c

index 7a10381..1f61246 100644 (file)
@@ -238,7 +238,8 @@ _try_import_buffer (GstVaBaseEnc * base, GstBuffer * inbuf)
 
   /* The VA buffer. */
   surface = gst_va_buffer_get_surface (inbuf);
-  if (surface != VA_INVALID_ID)
+  if (surface != VA_INVALID_ID &&
+      (gst_va_buffer_peek_display (inbuf) == base->display))
     return TRUE;
 
   /* TODO: DMA buffer. */