summaryrefslogtreecommitdiff
path: root/gst
diff options
context:
space:
mode:
authorGwenole Beauchesne <gwenole.beauchesne@intel.com>2012-04-02 14:51:06 +0200
committerGwenole Beauchesne <gwenole.beauchesne@intel.com>2012-04-02 16:11:22 +0200
commit84b5fc5e5874c4c2e97f07dd1260f29a94bbf7de (patch)
tree1f0c0b4359a4f88cb438ed22b5e3ac1c78dc1e3b /gst
parentbd08610e0774b223888574f41f24a1315199dc53 (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.c12
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:
{