OSDN Git Service

Access AVCDEC context after create fail check
authorNaveen Kumar P <naveenkumar.p@ittiam.com>
Wed, 4 Oct 2017 04:40:39 +0000 (10:10 +0530)
committerNikoli Cartagena <dargeren@google.com>
Wed, 29 Nov 2017 05:27:23 +0000 (21:27 -0800)
Bug: 66969281
Change-Id: I7c293417079da991cfad675a2d5563423d751610
(cherry picked from commit 8e6a6fe2e1542b3333ffecb7307a5de671c8a785)

media/libstagefright/codecs/avcdec/SoftAVCDec.cpp

index 70df501..dae6e79 100644 (file)
@@ -274,10 +274,6 @@ status_t SoftAVC::initDecoder() {
 
         status = ivdec_api_function(mCodecCtx, (void *)&s_create_ip, (void *)&s_create_op);
 
-        mCodecCtx = (iv_obj_t*)s_create_op.s_ivd_create_op_t.pv_handle;
-        mCodecCtx->pv_fxns = dec_fxns;
-        mCodecCtx->u4_size = sizeof(iv_obj_t);
-
         if (status != IV_SUCCESS) {
             ALOGE("Error in create: 0x%x",
                     s_create_op.s_ivd_create_op_t.u4_error_code);
@@ -285,6 +281,10 @@ status_t SoftAVC::initDecoder() {
             mCodecCtx = NULL;
             return UNKNOWN_ERROR;
         }
+
+        mCodecCtx = (iv_obj_t*)s_create_op.s_ivd_create_op_t.pv_handle;
+        mCodecCtx->pv_fxns = dec_fxns;
+        mCodecCtx->u4_size = sizeof(iv_obj_t);
     }
 
     /* Reset the plugin state */