diff options
author | Rajesh Poornachandran <rajesh.poornachandran@intel.com> | 2014-10-15 14:25:30 -0700 |
---|---|---|
committer | Ed Tam <etam@google.com> | 2014-11-10 23:39:42 -0800 |
commit | e5d3d0350319d2eac1c29ba10e86cb8c4784e97f (patch) | |
tree | 8503527bf86f9b3eacb5ae42c7afe11eef371a10 /videodecoder/securevideo | |
parent | 4ed41ba5c78e10aec0b96206709082c83d47af99 (diff) | |
download | libmix-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.cpp | 8 |
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; } |