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++;