Skip to content

Commit ad3e7e2

Browse files
committed
ACodec is a little more aggressive in its error checking now.
Update components to do the right thing. Change-Id: Ibfbad3f53effc16368cca4a0e978d01d54d08a1d
1 parent ddc421d commit ad3e7e2

File tree

4 files changed

+27
-8
lines changed

4 files changed

+27
-8
lines changed

media/libstagefright/ACodec.cpp

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -746,6 +746,10 @@ status_t ACodec::setComponentRole(
746746
"audio_decoder.aac", "audio_encoder.aac" },
747747
{ MEDIA_MIMETYPE_AUDIO_VORBIS,
748748
"audio_decoder.vorbis", "audio_encoder.vorbis" },
749+
{ MEDIA_MIMETYPE_AUDIO_G711_MLAW,
750+
"audio_decoder.g711mlaw", "audio_encoder.g711mlaw" },
751+
{ MEDIA_MIMETYPE_AUDIO_G711_ALAW,
752+
"audio_decoder.g711alaw", "audio_encoder.g711alaw" },
749753
{ MEDIA_MIMETYPE_VIDEO_AVC,
750754
"video_decoder.avc", "video_encoder.avc" },
751755
{ MEDIA_MIMETYPE_VIDEO_MPEG4,
@@ -855,10 +859,6 @@ status_t ACodec::configureCodec(
855859
}
856860
}
857861

858-
if (err != OK) {
859-
return err;
860-
}
861-
862862
int32_t maxInputSize;
863863
if (msg->findInt32("max-input-size", &maxInputSize)) {
864864
err = setMinBufferSize(kPortIndexInput, (size_t)maxInputSize);
@@ -2770,6 +2770,9 @@ bool ACodec::LoadedState::onConfigureComponent(
27702770
status_t err = mCodec->configureCodec(mime.c_str(), msg);
27712771

27722772
if (err != OK) {
2773+
ALOGE("[%s] configureCodec returning error %d",
2774+
mCodec->mComponentName.c_str(), err);
2775+
27732776
mCodec->signalError(OMX_ErrorUndefined, err);
27742777
return false;
27752778
}

media/libstagefright/OMXCodec.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1332,8 +1332,6 @@ void OMXCodec::setComponentRole(
13321332
"audio_decoder.mp1", "audio_encoder.mp1" },
13331333
{ MEDIA_MIMETYPE_AUDIO_MPEG_LAYER_II,
13341334
"audio_decoder.mp2", "audio_encoder.mp2" },
1335-
{ MEDIA_MIMETYPE_AUDIO_MPEG,
1336-
"audio_decoder.mp3", "audio_encoder.mp3" },
13371335
{ MEDIA_MIMETYPE_AUDIO_AMR_NB,
13381336
"audio_decoder.amrnb", "audio_encoder.amrnb" },
13391337
{ MEDIA_MIMETYPE_AUDIO_AMR_WB,
@@ -1342,6 +1340,10 @@ void OMXCodec::setComponentRole(
13421340
"audio_decoder.aac", "audio_encoder.aac" },
13431341
{ MEDIA_MIMETYPE_AUDIO_VORBIS,
13441342
"audio_decoder.vorbis", "audio_encoder.vorbis" },
1343+
{ MEDIA_MIMETYPE_AUDIO_G711_MLAW,
1344+
"audio_decoder.g711mlaw", "audio_encoder.g711mlaw" },
1345+
{ MEDIA_MIMETYPE_AUDIO_G711_ALAW,
1346+
"audio_decoder.g711alaw", "audio_encoder.g711alaw" },
13451347
{ MEDIA_MIMETYPE_VIDEO_AVC,
13461348
"video_decoder.avc", "video_encoder.avc" },
13471349
{ MEDIA_MIMETYPE_VIDEO_MPEG4,

media/libstagefright/codecs/amrnb/dec/SoftAMR.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,18 @@ OMX_ERRORTYPE SoftAMR::internalSetParameter(
236236
return OMX_ErrorNone;
237237
}
238238

239+
case OMX_IndexParamAudioPcm:
240+
{
241+
const OMX_AUDIO_PARAM_PCMMODETYPE *pcmParams =
242+
(OMX_AUDIO_PARAM_PCMMODETYPE *)params;
243+
244+
if (pcmParams->nPortIndex != 1) {
245+
return OMX_ErrorUndefined;
246+
}
247+
248+
return OMX_ErrorNone;
249+
}
250+
239251
default:
240252
return SimpleSoftOMXComponent::internalSetParameter(index, params);
241253
}

media/libstagefright/codecs/g711/dec/SoftG711.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -140,15 +140,17 @@ OMX_ERRORTYPE SoftG711::internalSetParameter(
140140
OMX_AUDIO_PARAM_PCMMODETYPE *pcmParams =
141141
(OMX_AUDIO_PARAM_PCMMODETYPE *)params;
142142

143-
if (pcmParams->nPortIndex != 0) {
143+
if (pcmParams->nPortIndex != 0 && pcmParams->nPortIndex != 1) {
144144
return OMX_ErrorUndefined;
145145
}
146146

147147
if (pcmParams->nChannels < 1 || pcmParams->nChannels > 2) {
148148
return OMX_ErrorUndefined;
149149
}
150150

151-
mNumChannels = pcmParams->nChannels;
151+
if(pcmParams->nPortIndex == 0) {
152+
mNumChannels = pcmParams->nChannels;
153+
}
152154

153155
return OMX_ErrorNone;
154156
}

0 commit comments

Comments
 (0)