Android nuplayer 两种音频解码流程

Android nuplayer 有两种音频解码流程,一种是non-offload 模式,另一种是offload 模式,本文章依次对两种解码流程进行简要流程说明。说明信息包含,流程图,以及两种模式下支持的Codec 决定参数。

一、non-offload 模式

non-offload 模式,这种模式,需要把ES 送给MediaCodec ,再从MediaCodec 拿到解码后的PCM data, 解码后的PCM data 经有nuplayer render 做AV sync 后,送给AudioTrack ->AudioFlinger ->AudioHal ->Alsa playback device ->Vendor SOC 进行播放。

这种模式,需要playback+capture compress device, playback compress device 用与传输ES 给hardware decoder ,capture compress device 用与从hardware decoder capture 解码后的pcm。

流程图如下,

1.红色箭头,表示单独的控制信息。

2.蓝色实线箭头,表示ES FLow 以及控制信息.

3.蓝色虚线箭头,表示PCM FLow 以及控制信息.

non-offload 模式优缺点有,

优点:

1.可以支持多路同时解码,2路硬解

猜你喜欢

转载自blog.csdn.net/dreamDay2016_11_11/article/details/130083268