diff options
author | Hyunjun Ko <zzoon@igalia.com> | 2017-04-21 18:05:48 +0900 |
---|---|---|
committer | Víctor Manuel Jáquez Leal <vjaquez@igalia.com> | 2017-04-21 11:48:16 +0200 |
commit | 26486c436a6d7f6bd0a2bbb26ac3ef9ab06f08ef (patch) | |
tree | fa5e58532e1d72fde95ae6a601152fc44282736f | |
parent | 5c3318227b8b33071fa649662e21b337804e020c (diff) |
vaapidecodebin: skips configuration once it's done
Skips configuration of creation of vpp/capsfilter and link them once it's done.
Otherwise, it always fails when it's trying to re-start playback.
https://bugzilla.gnome.org/show_bug.cgi?id=781573
-rw-r--r-- | gst/vaapi/gstvaapidecodebin.c | 3 | ||||
-rw-r--r-- | gst/vaapi/gstvaapidecodebin.h | 1 |
2 files changed, 3 insertions, 1 deletions
diff --git a/gst/vaapi/gstvaapidecodebin.c b/gst/vaapi/gstvaapidecodebin.c index 295c12bd..2522b0af 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 787d302b..085a941b 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 { |