aboutsummaryrefslogtreecommitdiff
path: root/videodecoder/securevideo
diff options
context:
space:
mode:
authorRajesh Poornachandran <rajesh.poornachandran@intel.com>2014-10-15 14:25:30 -0700
committerEd Tam <etam@google.com>2014-11-10 23:39:42 -0800
commite5d3d0350319d2eac1c29ba10e86cb8c4784e97f (patch)
tree8503527bf86f9b3eacb5ae42c7afe11eef371a10 /videodecoder/securevideo
parent4ed41ba5c78e10aec0b96206709082c83d47af99 (diff)
downloadlibmix-e5d3d0350319d2eac1c29ba10e86cb8c4784e97f.tar.gz
libmix: Handle failure gracefully in parseClassicSliceHeader & parseModularSliceHeader.
Bug: 17656112 BZ: 226486 Change-Id: I47d0c4be2ce47c15bb7a1ef3a269cd8cb5b73998 Signed-off-by: Rajesh Poornachandran <rajesh.poornachandran@intel.com>
Diffstat (limited to 'videodecoder/securevideo')
-rw-r--r--videodecoder/securevideo/moorefield/VideoDecoderAVCSecure.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/videodecoder/securevideo/moorefield/VideoDecoderAVCSecure.cpp b/videodecoder/securevideo/moorefield/VideoDecoderAVCSecure.cpp
index 2867ad9..23f75de 100644
--- a/videodecoder/securevideo/moorefield/VideoDecoderAVCSecure.cpp
+++ b/videodecoder/securevideo/moorefield/VideoDecoderAVCSecure.cpp
@@ -381,14 +381,18 @@ Decode_Status VideoDecoderAVCSecure::decodeFrame(VideoDecodeBuffer *buffer, vbp_
CHECK_STATUS("acquireSurfaceBuffer");
if (mModularMode) {
- parseModularSliceHeader(data);
+ status = parseModularSliceHeader(data);
}
else {
- parseClassicSliceHeader(data);
+ status = parseClassicSliceHeader(data);
}
if (status != DECODE_SUCCESS) {
endDecodingFrame(true);
+ if (status == DECODE_PARSER_FAIL) {
+ ETRACE("parse frame failed with DECODE_PARSER_FAIL");
+ status = DECODE_INVALID_DATA;
+ }
return status;
}