diff --git a/gst/vaapi/gstvaapidecodebin.c b/gst/vaapi/gstvaapidecodebin.c index 295c12bd97..2522b0af1c 100644 --- a/gst/vaapi/gstvaapidecodebin.c +++ b/gst/vaapi/gstvaapidecodebin.c @@ -302,7 +302,7 @@ gst_vaapi_decode_bin_configure (GstVaapiDecodeBin * vaapidecbin) "max-size-buffers", vaapidecbin->max_size_buffers, "max-size-time", vaapidecbin->max_size_time, NULL); - if (vaapidecbin->disable_vpp) + if (vaapidecbin->disable_vpp || vaapidecbin->configured) return TRUE; GST_INFO_OBJECT (vaapidecbin, "enabling VPP"); @@ -357,6 +357,7 @@ gst_vaapi_decode_bin_configure (GstVaapiDecodeBin * vaapidecbin) goto error_link_pad; gst_object_unref (bin_srcpad); + vaapidecbin->configured = TRUE; return TRUE; diff --git a/gst/vaapi/gstvaapidecodebin.h b/gst/vaapi/gstvaapidecodebin.h index 787d302be1..085a941bad 100644 --- a/gst/vaapi/gstvaapidecodebin.h +++ b/gst/vaapi/gstvaapidecodebin.h @@ -54,6 +54,7 @@ typedef struct _GstVaapiDecodeBin { GstVaapiDeinterlaceMethod deinterlace_method; gboolean disable_vpp; + gboolean configured; } GstVaapiDecodeBin; typedef struct _GstVaapiDecodeBinClass {