В mp4 экстракторе мы добавили поддержку для анализа ALA C кодированных кадров. Добавлен SoftOMXComponent для ALA C декодера
Следующие файлы, которые мы изменили для регистрации MIME-типа декодера:
OMXUtils. cpp внутри функции GetComponentRole () добавили следующий код: static const MimeToRole kMimeToRole[] = { { "audio/alac","audio_decoder.alac", "audio_encoder.alac" },}
В SoftOMXPlugin. cpp добавлено { "OMX.google.alac.decoder", "allgoalacdec", "audio_decoder.alac" }
к kComponents []
В media_codecs_google_audio. xml Добавлена запись для ALA C, как показано ниже:
Inside media / libstagefright / Utils. cpp Добавлена запись для ALA C в
stati c const struct mime_conv_t mimeLookup [] = {{"audio / ala c", AUDIO_FORMAT_ALAC},}
5. Внутри / libstagefright / ACode c. cpp at: status_t ACode c :: configureCode c () Добавлено для ALA C
else if (!strcasecmp(mime, "audio/alac")) {
int32_t numChannels;
int32_t sampleRate;
if (!msg->findInt32("channel-count", &numChannels)
|| !msg->findInt32("sample-rate", &sampleRate)) {
/* We do not want to setup the ALAC codec.Let the
* Plugin do all the work*/
err = OK;
} else {
err = setupRawAudioFormat(
kPortIndexOutput,
sampleRate,
numChannels);
err = OK;
}
}
и Inside status_t:
ACodec::getPortFormat(){
case OMX_AUDIO_CodingALAC:
{
OMX_AUDIO_PARAM_ALACTYPE params;
InitOMXParams(¶ms);
params.nPortIndex = portIndex;
err = mOMXNode->getParameter(
(OMX_INDEXTYPE)OMX_IndexParamAudioAlac, ¶ms, sizeof(params));
if (err != OK) {
return err;
}
notify->setString("mime", "audio/alac");
notify->setInt32("channel-count", params.nChannels);
notify->setInt32("sample-rate", params.nSamplingRate);
// notify->setInt32("bits-per-sample", params.nBitsPerSample);
break;
}
}
Мы добавили вышеуказанные изменения и создайте libstagefright и скопируйте на доску. media_codecs_google_audio. xml скопировано в аппаратное обеспечение / vendor / et c
но все же мы становимся ниже e rror:
NuPlayerDecoder: не удалось создать декодер аудио / ala c