Platform: Rockchip
OS: Android 6.0
Kernel: 3.10.92
HAL:
默认的配置在
hardware/rockchip/audio/tinyalsa_hal/audio_hw.h:
struct pcm_config pcm_config_in = {
.channels = 2,
.rate =44100, //配置的是44100Hz.
.period_size = 16,
.period_count = 32,
.format = PCM_FORMAT_S16_LE,
};
流程:
adev_open_input_stream -> audio_hw.c
in->stream.read ->
in_read ->
start_input_stream ->
pcm_open -> pcm.c //使用tinyalsa库标准接口
open -> //设备格式是/dev/snd/pcmC%uD%u%c
ioctl(pcm->fd, SNDRV_PCM_IOCTL_HW_PARAMS, ¶ms) ->
snd_pcm_capture_ioctl -> pcm_native.c //进入kernel
&n
OS: Android 6.0
Kernel: 3.10.92
HAL:
默认的配置在
hardware/rockchip/audio/tinyalsa_hal/audio_hw.h:
struct pcm_config pcm_config_in = {
.channels = 2,
.rate =44100, //配置的是44100Hz.
.period_size = 16,
.period_count = 32,
.format = PCM_FORMAT_S16_LE,
};
流程:
adev_open_input_stream -> audio_hw.c
in->stream.read ->
in_read ->
start_input_stream ->
pcm_open -> pcm.c //使用tinyalsa库标准接口
open -> //设备格式是/dev/snd/pcmC%uD%u%c
ioctl(pcm->fd, SNDRV_PCM_IOCTL_HW_PARAMS, ¶ms) ->
snd_pcm_capture_ioctl -> pcm_native.c //进入kernel
&n

本文详细介绍了在Rockchip RK3288平台,搭载Android 6.0系统下,如何进行Audio录音帧率的设置。从HAL层的默认配置到kernel层的调用流程,包括PCM接口的HW_PARAMS操作,涉及到的codec、machine、platform和Codec概念。流程涵盖adev_open_input_stream、pcm_open、ioctl到寄存器设置的完整过程。
1257

被折叠的 条评论
为什么被折叠?



