audio_policy.conf说明(翻译)
来源:互联网 发布:手机号码生成软件 编辑:程序博客网 时间:2024/06/14 11:17
转载自:http://www.cnblogs.com/albert1017/p/3940010.html
作者写的很不错,记录下来供以后温故。
#
# Audio policy configuration for generic device builds (goldfish audio HAL - emulator)
#这是模拟器的Audio policy配置
#
# Global configuration section: lists input and output devices always present on the device
# as well as the output device selected by default.
# Devices are designated by a string that corresponds to the enum in audio.h
#全局配置部分:列出了设备上总是存在的输入输出设备,它也是系统默认选择的输出设备
#这里的输入输出设备必须是audio.h中列出的枚举类型
global_configuration {
attached_output_devices AUDIO_DEVICE_OUT_SPEAKER
default_output_device AUDIO_DEVICE_OUT_SPEAKER
attached_input_devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_REMOTE_SUBMIX
}
# audio hardware module section: contains descriptors for all audio hw modules present on the
# device. Each hw module node is named after the corresponding hw module library base name.
# For instance, "primary" corresponds to audio.primary.<device>.so.
# The "primary" module is mandatory and must include at least one output with
# AUDIO_OUTPUT_FLAG_PRIMARY flag.
# Each module descriptor contains one or more output profile descriptors and zero or more
# input profile descriptors. Each profile lists all the parameters supported by a given output
# or input stream category.
# The "channel_masks", "formats", "devices" and "flags" are specified using strings corresponding
# to enums in audio.h and audio_policy.h. They are concatenated by use of "|" without space or "\n".
#audio hardware module部分:包含了对设备上的所有的audio hw modules的descriptors,每一个hw module节点
#的名字都与相应的so库名称相对应,例如:"primary"对应audio.primary.<device>.so。其中"primary"module是
#必须的,而且它必须包含一个含AUDIO_OUTPUT_FLAG_PRIMARY标志的output,每一个module的descriptor必须至少
#包含一个output配置descriptor和大于等于0个的input配置descriptor,每一个配置都描述了输入输出流类型支持
#的参数,其中的 "channel_masks"、"formats"、"devices"和"flags"必须为audio.h、audio_policy.h中定义的枚
#举值,它们可以通过|连接,但不能包含空格和"\n"。
audio_hw_modules {
primary {
outputs {
primary {
sampling_rates 44100
channel_masks AUDIO_CHANNEL_OUT_STEREO
formats AUDIO_FORMAT_PCM_16_BIT
devices AUDIO_DEVICE_OUT_SPEAKER
flags AUDIO_OUTPUT_FLAG_PRIMARY
}
}
inputs {
primary {
sampling_rates 8000|16000
channel_masks AUDIO_CHANNEL_IN_MONO
formats AUDIO_FORMAT_PCM_16_BIT
devices AUDIO_DEVICE_IN_BUILTIN_MIC
}
}
}
r_submix {
outputs {
submix {
sampling_rates 48000
channel_masks AUDIO_CHANNEL_OUT_STEREO
formats AUDIO_FORMAT_PCM_16_BIT
devices AUDIO_DEVICE_OUT_REMOTE_SUBMIX
}
}
inputs {
submix {
sampling_rates 48000
channel_masks AUDIO_CHANNEL_IN_STEREO
formats AUDIO_FORMAT_PCM_16_BIT
devices AUDIO_DEVICE_IN_REMOTE_SUBMIX
}
}
}
}
另外,存储各个audio_hw_module的结构体如下:
class HwModule {
public:
HwModule(const char *name);
~HwModule();
void dump(int fd);
const char *const mName; // base name of the audio HW module (primary, a2dp ...)
audio_module_handle_t mHandle;
Vector <IOProfile *> mOutputProfiles; // output profiles exposed by this module
Vector <IOProfile *> mInputProfiles; // input profiles exposed by this module
};
// the IOProfile class describes the capabilities of an output or input stream.
// It is currently assumed that all combination of listed parameters are supported.
// It is used by the policy manager to determine if an output or input is suitable for
// a given use case, open/close it accordingly and connect/disconnect audio tracks
// to/from it.
class IOProfile
{
public:
IOProfile(HwModule *module);
~IOProfile();
bool isCompatibleProfile(audio_devices_t device,
uint32_t samplingRate,
uint32_t format,
uint32_t channelMask,
audio_output_flags_t flags) const;
void dump(int fd);
// by convention, "0' in the first entry in mSamplingRates, mChannelMasks or mFormats
// indicates the supported parameters should be read from the output stream
// after it is opened for the first time
Vector <uint32_t> mSamplingRates; // supported sampling rates
Vector <audio_channel_mask_t> mChannelMasks; // supported channel masks
Vector <audio_format_t> mFormats; // supported audio formats
audio_devices_t mSupportedDevices; // supported devices (devices this output can be
// routed to)
audio_output_flags_t mFlags; // attribute flags (e.g primary output,
// direct output...). For outputs only.
HwModule *mModule; // audio HW module exposing this I/O stream
};
在AudioPolicyManagerBase类对象的mHwModules中保存了这些读取的配置。
- audio_policy.conf说明(翻译)
- audio_policy.conf文件分析
- audio_policy.conf文件分析
- linux多屏配置文件 xorg.conf 官方配置文件说明翻译
- resin.conf 配置文件说明(中文详解)
- Redis配置文件(redis.conf)说明
- Redis 配置(redis.conf)说明
- pure-ftpd.conf 翻译
- vsftp 配置(同vsftpd.conf翻译一起使用)
- Apache配置文件httpd.conf内容翻译(转)
- httpd.conf中文说明
- Snort.conf 文件说明
- VSFTPD.CONF中文说明
- vsftpd.conf 说明文档
- Vsftpd.conf配置文件说明
- Apache conf中文说明
- httpd.conf 中文说明
- SNMPD.CONF配置说明
- VS2010中OpenCV的配置步骤(手动方法)
- Centos下gedit编码设置
- RSA公钥加密算法
- XCode 5 提示找不到 cmath cctype的问题
- 第14周项目3-多科成绩单(1)(2)
- audio_policy.conf说明(翻译)
- Retinex图像增强
- C++获取系统时间
- Linux与Windows线程机制简单比较
- 给Eclipse提速的7个技巧
- 从头认识C—struct对齐
- 利用jquery把一个表单的数据同时提交给两个页面
- CF#280 (Div. 2) A.(找规律)
- Spring学习之依赖注入