if (!decoder_caps)
return FALSE;
- if (gst_caps_is_always_compatible (caps, decoder_caps)) {
- set_caps (decoder, caps);
- return TRUE;
- }
+ if (gst_caps_is_always_compatible (caps, decoder_caps))
+ return set_caps (decoder, caps);
profile = gst_vaapi_profile_from_caps (caps);
if (profile == GST_VAAPI_PROFILE_UNKNOWN)
if (codec == 0)
return FALSE;
if (codec == decoder->codec) {
- set_caps (decoder, caps);
- return TRUE;
+ if (set_caps (decoder, caps)) {
+ return
+ gst_vaapi_decoder_decode_codec_data (decoder) ==
+ GST_VAAPI_DECODER_STATUS_SUCCESS;
+ }
}
return FALSE;