Android自定义ROM:强制软件解码器

时间:2017-03-11 18:50:11

标签: android android-source android-hardware android-rom android-mediacodec

我正在使用Nexus 5X(bullhead)在AOSP上构建一个ROM。 我希望完全禁用硬件音频/视频解码器,并让平台通过软件路由所有内容 - 与模拟器完全相同。

我已经尝试编辑audio_policy_configuration.xml和media_codecs.xml以删除解码器,但是我在logcat中收到错误消息并且没有播放音频 - 我不知道这是否是正确的方向。

1 个答案:

答案 0 :(得分:0)

我通过在硬件/ 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;
}