// ignore extradata
if (avctx->codec_id == CODEC_ID_MP3 ||
+ avctx->codec_id == CODEC_ID_MP1 ||
+ avctx->codec_id == CODEC_ID_MP2 ||
avctx->codec_id == CODEC_ID_H263 ||
avctx->codec_id == CODEC_ID_H263P ||
avctx->codec_id == CODEC_ID_H263I)
switch(avctx->codec_id) {
case CODEC_ID_H264:
case CODEC_ID_MPEG4:
- case CODEC_ID_H263:
- case CODEC_ID_H263P:
- case CODEC_ID_H263I:
- break;
case CODEC_ID_AAC:
name = "aac_adtstoasc";
break;
- case CODEC_ID_MP3:
- break;
default:
break;
}
case CODEC_ID_H263P:
case CODEC_ID_H263I:
case CODEC_ID_AAC:
+ case CODEC_ID_MP1:
+ case CODEC_ID_MP2:
case CODEC_ID_MP3:
case CODEC_ID_MPEG2VIDEO:
#if 0
}
switch(avctx->codec_id) {
+ case CODEC_ID_MP1:
+ LOGV("MP1");
+ meta = new MetaData;
+ meta->setCString(kKeyMIMEType, MEDIA_MIMETYPE_AUDIO_MPEG_LAYER_I);
+ //meta->setData(kKeyESDS, kTypeESDS, avctx->extradata, avctx->extradata_size);
+ break;
+ case CODEC_ID_MP2:
+ LOGV("MP2");
+ meta = new MetaData;
+ meta->setCString(kKeyMIMEType, MEDIA_MIMETYPE_AUDIO_MPEG_LAYER_II);
+ //meta->setData(kKeyESDS, kTypeESDS, avctx->extradata, avctx->extradata_size);
+ break;
case CODEC_ID_MP3:
LOGV("MP3");
meta = new MetaData;
if (mFormatCtx->duration != AV_NOPTS_VALUE)
meta->setInt64(kKeyDuration, mFormatCtx->duration);
- if (avctx->codec_id != CODEC_ID_MP3) {
+ if (avctx->codec_id != CODEC_ID_MP3 &&
+ avctx->codec_id != CODEC_ID_MP1 &&
+ avctx->codec_id != CODEC_ID_MP2) {
LOGV("audio meta esds:");
CHECK(meta->findData(kKeyESDS, &type, &data, &size));
hexdump(data, size);
if (!strcmp(name, "OMX.ffmpeg.mp3.decoder")) {
mMode = MODE_MPEG;
mIgnoreExtradata = true;
- } else if (!strcmp(name, "OMX.ffmpeg.mp2.decoder")) {
+ } else if (!strcmp(name, "OMX.ffmpeg.mp1.decoder")) {
mMode = MODE_MPEGL1;
+ } else if (!strcmp(name, "OMX.ffmpeg.mp2.decoder")) {
+ mMode = MODE_MPEGL2;
} else if (!strcmp(name, "OMX.ffmpeg.aac.decoder")) {
mMode = MODE_AAC;
} else {
mCtx->codec_id = CODEC_ID_MP3;
break;
case MODE_MPEGL1:
+ mCtx->codec_id = CODEC_ID_MP1;
+ break;
case MODE_MPEGL2:
mCtx->codec_id = CODEC_ID_MP2;
break;
"audio_decoder.mp3", OMX_MAX_STRINGNAME_SIZE - 1))
supported = false;
break;
+ case MODE_MPEGL1:
+ if (strncmp((const char *)roleParams->cRole,
+ "audio_decoder.mp1", OMX_MAX_STRINGNAME_SIZE - 1))
+ supported = false;
+ break;
+ case MODE_MPEGL2:
+ if (strncmp((const char *)roleParams->cRole,
+ "audio_decoder.mp2", OMX_MAX_STRINGNAME_SIZE - 1))
+ supported = false;
+ break;
case MODE_AAC:
if (strncmp((const char *)roleParams->cRole,
"audio_decoder.aac", OMX_MAX_STRINGNAME_SIZE - 1))