ПЗУ Android: принудительное использование программных декодеров

Я собираю ROM из AOSP, работаю на Nexus 5X (буллхэд). Я хочу полностью отключить аппаратные аудио / видео декодеры и заставить платформу маршрутизировать все через программное обеспечение - работать точно так же, как на эмуляторе.

Я попытался отредактировать audio_policy_configuration.xml и media_codecs.xml, чтобы удалить декодеры, однако я получаю сообщения об ошибках в logcat, и звук не воспроизводится - я понятия не имею, верное ли это направление.

1 ответ

Решение

Я достиг того, что хотел, отредактировав следующее в hardware/qcom/audio/hal/audio_hw.c:

static uint32_t out_get_sample_rate(const struct audio_stream *stream)
{
 /*   struct stream_out *out = (struct stream_out *)stream;

    return out->sample_rate;*/

    return 44100;
}

static uint32_t out_get_channels(const struct audio_stream *stream)
{
    /*struct stream_out *out = (struct stream_out *)stream;

    return out->channel_mask;*/

    return AUDIO_CHANNEL_OUT_STEREO;
}

static audio_format_t out_get_format(const struct audio_stream *stream)
{
   /* struct stream_out *out = (struct stream_out *)stream;

    return out->format;*/

    return AUDIO_FORMAT_PCM_16_BIT;
}
Другие вопросы по тегам