Advertisement

Android O8的音频数据写入流程的变化(HIDL)

阅读量:

简要回顾Audio write的数据处理流程,
AudioTrack的write方法被调用,
随后进入AudioFlinger::PlaybackThread::threadLoop_write()函数,
接着调用mNormalSink的write方法。
其中,mNormalSink实际上为NBAIO_Sink类型,其具体实现类为AudioStreamOutSink。
因此,我们直接查看
frameworks/av/media/libnbaio/AudioStreamOutSink.cpp 文件内容。

复制代码
    //AudioStreamOutSink::write节选
    status_t ret = mStream->write(buffer, count * mFrameSize, &written);
    //AudioStreamOutSink.h
    sp<StreamOutHalInterface> mStream;
    
      
      
      
      
    

实际上,mStream类型已转变为StreamOutHalInterface,在Android 5.1系统中对应的类型为audio_stream_out。

随后,我们注意到在frameworks/av/media目录下新

全部评论 (0)

还没有任何评论哟~