diff options
author | Gwenole Beauchesne <gwenole.beauchesne@intel.com> | 2012-04-02 14:51:06 +0200 |
---|---|---|
committer | Gwenole Beauchesne <gwenole.beauchesne@intel.com> | 2012-04-02 16:11:22 +0200 |
commit | 84b5fc5e5874c4c2e97f07dd1260f29a94bbf7de (patch) | |
tree | 1f0c0b4359a4f88cb438ed22b5e3ac1c78dc1e3b /gst | |
parent | bd08610e0774b223888574f41f24a1315199dc53 (diff) |
vaapidecode: report unsupported codec profiles.
Try to gracefully abort when the HW does not support the requested
profile. There is no fallback unless profiles are correctly parsed
and matched through caps beforehand.
Diffstat (limited to 'gst')
-rw-r--r-- | gst/vaapi/gstvaapidecode.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/gst/vaapi/gstvaapidecode.c b/gst/vaapi/gstvaapidecode.c index 5035fcd1..6e73d3a5 100644 --- a/gst/vaapi/gstvaapidecode.c +++ b/gst/vaapi/gstvaapidecode.c @@ -269,7 +269,17 @@ error_decode_timeout: error_decode: { GST_DEBUG("decode error %d", status); - return GST_FLOW_UNEXPECTED; + switch (status) { + case GST_VAAPI_DECODER_STATUS_ERROR_UNSUPPORTED_CODEC: + case GST_VAAPI_DECODER_STATUS_ERROR_UNSUPPORTED_PROFILE: + case GST_VAAPI_DECODER_STATUS_ERROR_UNSUPPORTED_CHROMA_FORMAT: + ret = GST_FLOW_NOT_SUPPORTED; + break; + default: + ret = GST_FLOW_UNEXPECTED; + break; + } + return ret; } error_create_buffer: { |