summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVíctor Manuel Jáquez Leal <victorx.jaquez@intel.com>2016-09-14 16:29:01 +0200
committerVíctor Manuel Jáquez Leal <victorx.jaquez@intel.com>2016-09-16 12:00:14 +0200
commitd674d06943da8b3c3d7f3c8b1fb1be543d19f661 (patch)
tree6f01688c6829843a12fc12d360d2eec7b505ec02
parentc1f5efee1d0d286fd804c5456f43f9b7ecfce35b (diff)
downloadgstreamer-vaapi-d674d06943da8b3c3d7f3c8b1fb1be543d19f661.tar.gz
vaapidecode: reset decoder hard when set_format()
set_format() is called by upstream when the stream capabilites has changed. Before, if the new stream is compatible with the old one the VA decoder was not destroyed. Nonetheless, with this behavoir, the VA decoder ignores when the upstreamer parsers gets more details of the stream, such as the framerate. Hence, when the src caps are negotiates, the further sink caps updates are ignored. This patch forces the VA decoder destroying and recreation when set_format() is called. https://bugzilla.gnome.org/show_bug.cgi?id=770921
-rw-r--r--gst/vaapi/gstvaapidecode.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gst/vaapi/gstvaapidecode.c b/gst/vaapi/gstvaapidecode.c
index f510222a..dca6682d 100644
--- a/gst/vaapi/gstvaapidecode.c
+++ b/gst/vaapi/gstvaapidecode.c
@@ -883,7 +883,7 @@ gst_vaapidecode_set_format (GstVideoDecoder * vdec, GstVideoCodecState * state)
return FALSE;
if (!gst_vaapi_plugin_base_set_caps (plugin, decode->sinkpad_caps, NULL))
return FALSE;
- if (!gst_vaapidecode_reset_full (decode, decode->sinkpad_caps, FALSE))
+ if (!gst_vaapidecode_reset_full (decode, decode->sinkpad_caps, TRUE))
return FALSE;
return TRUE;