summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Dong <jdong@google.com>2010-06-11 16:21:05 -0700
committerJames Dong <jdong@google.com>2010-06-11 16:23:46 -0700
commit0f8e72a03dc50f6d6b81aa87803ea558fe4f7b6c (patch)
treee28d98475bce8f10c0961fbc2a77803349fb7c93
parenta0b2785f72203860a685b5acbe3c7d4a11e61d4d (diff)
downloadomap3-0f8e72a03dc50f6d6b81aa87803ea558fe4f7b6c.tar.gz
Don't overwrite read-only argument in the implementation for OMX_SetParameter$
Also, comment out the code does not apply to android platform (direct /dev/ access) Change-Id: I2ca7736fb67e60ed4c31ec77901660b5032c41cb
-rw-r--r--omx/audio/src/openmax_il/nbamr_enc/src/OMX_AmrEncoder.c32
-rw-r--r--omx/audio/src/openmax_il/wbamr_enc/src/OMX_WbAmrEncoder.c46
2 files changed, 41 insertions, 37 deletions
diff --git a/omx/audio/src/openmax_il/nbamr_enc/src/OMX_AmrEncoder.c b/omx/audio/src/openmax_il/nbamr_enc/src/OMX_AmrEncoder.c
index a7fc638..2d825e2 100644
--- a/omx/audio/src/openmax_il/nbamr_enc/src/OMX_AmrEncoder.c
+++ b/omx/audio/src/openmax_il/nbamr_enc/src/OMX_AmrEncoder.c
@@ -1126,51 +1126,53 @@ static OMX_ERRORTYPE SetParameter (OMX_HANDLETYPE hComp,
memcpy(((AMRENC_COMPONENT_PRIVATE*)
pHandle->pComponentPrivate)->pcmParams, pCompAmrParam, sizeof(OMX_AUDIO_PARAM_AMRTYPE));
} else if (pCompAmrParam->nPortIndex == 1) { /* 1 means Output port */
+ if (((AMRENC_COMPONENT_PRIVATE *) pHandle->pComponentPrivate)->amrParams == NULL) {
+ eError = OMX_ErrorBadParameter;
+ goto EXIT;
+ }
+
+ memcpy(((AMRENC_COMPONENT_PRIVATE *)
+ pHandle->pComponentPrivate)->amrParams, pCompAmrParam, sizeof(OMX_AUDIO_PARAM_AMRTYPE));
+
switch (pCompAmrParam->eAMRBandMode)
{
case OMX_AUDIO_AMRBandModeNB7:
- pCompAmrParam->eAMRBandMode = SN_AUDIO_BR122;
+ pComponentPrivate->amrParams->eAMRBandMode = SN_AUDIO_BR122;
OMX_PRDSP2(pComponentPrivate->dbg, "%d :: SetParameter OMX_IndexParamAudioAmr:: pCompAmrParam->eAMRBandMode = SN_AUDIO_BR122 \n",__LINE__);
break;
case OMX_AUDIO_AMRBandModeNB6:
- pCompAmrParam->eAMRBandMode = SN_AUDIO_BR102;
+ pComponentPrivate->amrParams->eAMRBandMode = SN_AUDIO_BR102;
OMX_PRDSP2(pComponentPrivate->dbg, "%d :: SetParameter OMX_IndexParamAudioAmr:: pCompAmrParam->eAMRBandMode = SN_AUDIO_BR102 \n",__LINE__);
break;
case OMX_AUDIO_AMRBandModeNB5:
- pCompAmrParam->eAMRBandMode = SN_AUDIO_BR795;
+ pComponentPrivate->amrParams->eAMRBandMode = SN_AUDIO_BR795;
OMX_PRDSP2(pComponentPrivate->dbg, "%d :: SetParameter OMX_IndexParamAudioAmr:: pCompAmrParam->eAMRBandMode = SN_AUDIO_BR795 \n",__LINE__);
break;
case OMX_AUDIO_AMRBandModeNB4:
- pCompAmrParam->eAMRBandMode = SN_AUDIO_BR74;
+ pComponentPrivate->amrParams->eAMRBandMode = SN_AUDIO_BR74;
OMX_PRDSP2(pComponentPrivate->dbg, "%d :: SetParameter OMX_IndexParamAudioAmr:: pCompAmrParam->eAMRBandMode = SN_AUDIO_BR74 \n",__LINE__);
break;
case OMX_AUDIO_AMRBandModeNB3:
- pCompAmrParam->eAMRBandMode = SN_AUDIO_BR67;
+ pComponentPrivate->amrParams->eAMRBandMode = SN_AUDIO_BR67;
OMX_PRDSP2(pComponentPrivate->dbg, "%d :: SetParameter OMX_IndexParamAudioAmr:: pCompAmrParam->eAMRBandMode = SN_AUDIO_BR67 \n",__LINE__);
break;
case OMX_AUDIO_AMRBandModeNB2:
- pCompAmrParam->eAMRBandMode = SN_AUDIO_BR59;
+ pComponentPrivate->amrParams->eAMRBandMode = SN_AUDIO_BR59;
OMX_PRDSP2(pComponentPrivate->dbg, "%d :: SetParameter OMX_IndexParamAudioAmr:: pCompAmrParam->eAMRBandMode = SN_AUDIO_BR59 \n",__LINE__);
break;
case OMX_AUDIO_AMRBandModeNB1:
- pCompAmrParam->eAMRBandMode = SN_AUDIO_BR515;
+ pComponentPrivate->amrParams->eAMRBandMode = SN_AUDIO_BR515;
OMX_PRDSP2(pComponentPrivate->dbg, "%d :: SetParameter OMX_IndexParamAudioAmr:: pCompAmrParam->eAMRBandMode = SN_AUDIO_BR515 \n",__LINE__);
break;
case OMX_AUDIO_AMRBandModeNB0:
- pCompAmrParam->eAMRBandMode = SN_AUDIO_475;
+ pComponentPrivate->amrParams->eAMRBandMode = SN_AUDIO_475;
OMX_PRDSP2(pComponentPrivate->dbg, "%d :: SetParameter OMX_IndexParamAudioAmr:: pCompAmrParam->eAMRBandMode = SN_AUDIO_BR475 \n",__LINE__);
break;
default:
- pCompAmrParam->eAMRBandMode = SN_AUDIO_BR122;
+ pComponentPrivate->amrParams->eAMRBandMode = SN_AUDIO_BR122;
OMX_PRDSP2(pComponentPrivate->dbg, "%d :: SetParameter OMX_IndexParamAudioAmr:: pCompAmrParam->eAMRBandMode =DEFAULT!! SN_AUDIO_BR122 \n",__LINE__);
break;
}
- if (((AMRENC_COMPONENT_PRIVATE *) pHandle->pComponentPrivate)->amrParams == NULL) {
- eError = OMX_ErrorBadParameter;
- goto EXIT;
- }
- memcpy(((AMRENC_COMPONENT_PRIVATE *)
- pHandle->pComponentPrivate)->amrParams, pCompAmrParam, sizeof(OMX_AUDIO_PARAM_AMRTYPE));
if (pCompAmrParam->eAMRFrameFormat == OMX_AUDIO_AMRFrameFormatConformance) {
pComponentPrivate->frameMode = NBAMRENC_FORMATCONFORMANCE;
}
diff --git a/omx/audio/src/openmax_il/wbamr_enc/src/OMX_WbAmrEncoder.c b/omx/audio/src/openmax_il/wbamr_enc/src/OMX_WbAmrEncoder.c
index 7fc1b8d..797dd64 100644
--- a/omx/audio/src/openmax_il/wbamr_enc/src/OMX_WbAmrEncoder.c
+++ b/omx/audio/src/openmax_il/wbamr_enc/src/OMX_WbAmrEncoder.c
@@ -167,11 +167,12 @@ static OMX_ERRORTYPE GetExtensionIndex(OMX_IN OMX_HANDLETYPE hComponent,
static OMX_ERRORTYPE ComponentRoleEnum(OMX_IN OMX_HANDLETYPE hComponent,
OMX_OUT OMX_U8 *cRole,
OMX_IN OMX_U32 nIndex);
-
+#ifdef DSP_RENDERING_ON
/* interface with audio manager*/
#define FIFO1 "/dev/fifo.1"
#define FIFO2 "/dev/fifo.2"
#define PERMS 0666
+#endif
/*-------------------------------------------------------------------*/
/**
@@ -507,7 +508,7 @@ ComponentThread %d", eError);
#endif
#ifndef UNDER_CE
-
+#ifdef DSP_RENDERING_ON
if ((pComponentPrivate->fdwrite = open(FIFO1, O_WRONLY)) < 0) {
OMX_PRCOMM4(pComponentPrivate->dbg, "Failure to open Write pipe");
}
@@ -515,7 +516,7 @@ ComponentThread %d", eError);
if ((pComponentPrivate->fdread = open(FIFO2, O_RDONLY)) < 0) {
OMX_PRCOMM4(pComponentPrivate->dbg, "Failure to open Read pipe");
}
-
+#endif
#endif
pComponentPrivate->nPendingStateChangeRequests = 0;
@@ -1106,48 +1107,49 @@ static OMX_ERRORTYPE SetParameter (OMX_HANDLETYPE hComp,
pCompAmrParam,
sizeof(OMX_AUDIO_PARAM_AMRTYPE));
} else if (pCompAmrParam->nPortIndex == 1) { /* 1 means Output port */
+ if (((WBAMRENC_COMPONENT_PRIVATE *)pHandle->pComponentPrivate)->amrParams == NULL) {
+ eError = OMX_ErrorBadParameter;
+ break;
+ }
+ memcpy(((WBAMRENC_COMPONENT_PRIVATE *)
+ pHandle->pComponentPrivate)->amrParams,
+ pCompAmrParam,
+ sizeof(OMX_AUDIO_PARAM_AMRTYPE));
+
+
switch (pCompAmrParam->eAMRBandMode) {
case OMX_AUDIO_AMRBandModeWB0:
- pCompAmrParam->eAMRBandMode = SN_AUDIO_BR660;
+ pComponentPrivate->amrParams->eAMRBandMode = SN_AUDIO_BR660;
break;
case OMX_AUDIO_AMRBandModeWB1:
- pCompAmrParam->eAMRBandMode = SN_AUDIO_BR885;
+ pComponentPrivate->amrParams->eAMRBandMode = SN_AUDIO_BR885;
break;
case OMX_AUDIO_AMRBandModeWB2:
- pCompAmrParam->eAMRBandMode = SN_AUDIO_BR1265;
+ pComponentPrivate->amrParams->eAMRBandMode = SN_AUDIO_BR1265;
break;
case OMX_AUDIO_AMRBandModeWB3:
- pCompAmrParam->eAMRBandMode = SN_AUDIO_BR1425;
+ pComponentPrivate->amrParams->eAMRBandMode = SN_AUDIO_BR1425;
break;
case OMX_AUDIO_AMRBandModeWB4:
- pCompAmrParam->eAMRBandMode = SN_AUDIO_BR1585;
+ pComponentPrivate->amrParams->eAMRBandMode = SN_AUDIO_BR1585;
break;
case OMX_AUDIO_AMRBandModeWB5:
- pCompAmrParam->eAMRBandMode = SN_AUDIO_BR1825;
+ pComponentPrivate->amrParams->eAMRBandMode = SN_AUDIO_BR1825;
break;
case OMX_AUDIO_AMRBandModeWB6:
- pCompAmrParam->eAMRBandMode = SN_AUDIO_BR1985;
+ pComponentPrivate->amrParams->eAMRBandMode = SN_AUDIO_BR1985;
break;
case OMX_AUDIO_AMRBandModeWB7:
- pCompAmrParam->eAMRBandMode = SN_AUDIO_BR2305;
+ pComponentPrivate->amrParams->eAMRBandMode = SN_AUDIO_BR2305;
break;
case OMX_AUDIO_AMRBandModeWB8:
- pCompAmrParam->eAMRBandMode = SN_AUDIO_BR2385;
+ pComponentPrivate->amrParams->eAMRBandMode = SN_AUDIO_BR2385;
break;
default:
- pCompAmrParam->eAMRBandMode = SN_AUDIO_BR660;
+ pComponentPrivate->amrParams->eAMRBandMode = SN_AUDIO_BR660;
break;
}
- if (((WBAMRENC_COMPONENT_PRIVATE *)pHandle->pComponentPrivate)->amrParams == NULL) {
- eError = OMX_ErrorBadParameter;
- break;
- }
- memcpy(((WBAMRENC_COMPONENT_PRIVATE *)
- pHandle->pComponentPrivate)->amrParams,
- pCompAmrParam,
- sizeof(OMX_AUDIO_PARAM_AMRTYPE));
-
if (pCompAmrParam->eAMRFrameFormat == OMX_AUDIO_AMRFrameFormatConformance) {
pComponentPrivate->frameMode = WBAMRENC_FORMATCONFORMANCE;
} else if (pCompAmrParam->eAMRFrameFormat == OMX_AUDIO_AMRFrameFormatFSF) {