diff --git a/gst/vaapi/gstvaapisink.c b/gst/vaapi/gstvaapisink.c index d01c72775c..96ca674866 100644 --- a/gst/vaapi/gstvaapisink.c +++ b/gst/vaapi/gstvaapisink.c @@ -1408,8 +1408,9 @@ gst_vaapisink_show_frame_unlocked (GstVaapiSink * sink, GstBuffer * src_buffer) return ret; meta = gst_buffer_get_vaapi_video_meta (buffer); - GST_VAAPI_PLUGIN_BASE_DISPLAY_REPLACE (sink, - gst_vaapi_video_meta_get_display (meta)); + if (gst_vaapi_video_meta_get_display (meta) != + GST_VAAPI_PLUGIN_BASE_DISPLAY (sink)) + goto different_display; proxy = gst_vaapi_video_meta_get_surface_proxy (meta); if (!proxy) @@ -1491,6 +1492,13 @@ no_surface: ret = GST_FLOW_ERROR; goto done; } + +different_display: + { + GST_WARNING_OBJECT (sink, "incoming surface has different VAAPI Display"); + ret = GST_FLOW_ERROR; + goto done; + } } static GstFlowReturn