libmix: revist error reporting code
BZ: 147912
revist error reporting code
Change-Id: Ibdbab27f31d9cbc19a3db8e75a7f2b9d19e05504
Signed-off-by: Li Zeng <li.zeng@intel.com>
diff --git a/videodecoder/VideoDecoderBase.cpp b/videodecoder/VideoDecoderBase.cpp
index b6874da..cf20c24 100644
--- a/videodecoder/VideoDecoderBase.cpp
+++ b/videodecoder/VideoDecoderBase.cpp
@@ -233,9 +233,8 @@
}
vaStatus = vaSetTimestampForSurface(mVADisplay, outputByPos->renderBuffer.surface, outputByPos->renderBuffer.timeStamp);
if (useGraphicBuffer) {
- if (vaSyncSurface(mVADisplay, outputByPos->renderBuffer.surface) == VA_STATUS_ERROR_DECODING_ERROR) {
- fillDecodingErrors(&(outputByPos->renderBuffer));
- }
+ vaSyncSurface(mVADisplay, outputByPos->renderBuffer.surface);
+ fillDecodingErrors(&(outputByPos->renderBuffer));
}
if (draining && mOutputTail == NULL) {
outputByPos->renderBuffer.flag |= IS_EOS;
@@ -290,9 +289,8 @@
vaStatus = vaSetTimestampForSurface(mVADisplay, output->renderBuffer.surface, output->renderBuffer.timeStamp);
if (useGraphicBuffer) {
- if (vaSyncSurface(mVADisplay, output->renderBuffer.surface) == VA_STATUS_ERROR_DECODING_ERROR) {
- fillDecodingErrors(&(output->renderBuffer));
- }
+ vaSyncSurface(mVADisplay, output->renderBuffer.surface);
+ fillDecodingErrors(&(output->renderBuffer));
}
if (draining && mOutputTail == NULL) {
@@ -1361,8 +1359,10 @@
if (mErrReportEnabled) {
CurrentSurface->errBuf.timeStamp = CurrentSurface->timeStamp;
// TODO: is 10 a suitable number?
- VASurfaceDecodeMBErrors err_drv_output[MAX_ERR_NUM - 1];
+ VASurfaceDecodeMBErrors *err_drv_output;
ret = vaQuerySurfaceError(mVADisplay, CurrentSurface->surface, VA_STATUS_ERROR_DECODING_ERROR, (void **)&err_drv_output);
+ if (ret)
+ return;
for (int i = CurrentSurface->errBuf.errorNumber; i < MAX_ERR_NUM - 1; i++) {
if (err_drv_output[i].status != -1) {
CurrentSurface->errBuf.errorNumber++;