RK3568平台(音频篇)Tinyalsa open调用流程
一.TinyALSA 简介
TinyALSA 是一个轻量级的 ALSA(Advanced Linux Sound Architecture,高级 Linux 音频架构)实现,用于与 Linux 内核中的 ALSA(高级 Linux 声音架构)进行交互,旨在为嵌入式系统和资源受限的设备提供音频支持。
ALSA是位于Linux Kernel层面的音频系统。TinyALSA是AOSP(Android Open Source Project)的一部分。
TinyALSA与ALSA的关系:TinyALSA位于Linux用户层,可以简单理解为应用程序的库。ALSA是Advanced Linux Sound Architecture的缩写,即高级Linux声音架构的简称,位于Linux Kernel层(不包括ALSA Lib)。TinyALSA跟ALSA是调用的关系,TinyALSA使用了一些系统调用(如 open(), ioctl(), mmap(), close() 等)与ALSA 进行交互。
TinyALSA与ALSA Lib的关系:两者都是API库,都位于用户层,但两者独立,没有直接的调用关系。ALSA Lib有更多功能(混音、重采样等),TinyALSA更精简(减少内存占用和CPU使用)。
二.代码调用流程
以Tinyalsa