diff options
author | Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com> | 2016-09-14 16:29:01 +0200 |
---|---|---|
committer | Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com> | 2016-09-15 10:38:08 +0200 |
commit | 99d404f1df588e7eb0fd3dced4cf19cec93a2120 (patch) | |
tree | 7cd3934b55da4d8f84aa4904b77ca885a4158402 | |
parent | c18a6c97e156809426cec19aa0f21622ec1aa992 (diff) |
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.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gst/vaapi/gstvaapidecode.c b/gst/vaapi/gstvaapidecode.c index ed24c95e..47c08197 100644 --- a/gst/vaapi/gstvaapidecode.c +++ b/gst/vaapi/gstvaapidecode.c @@ -1057,7 +1057,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; |