1/*
2 * Copyright 2008, Axel Dörfler, axeld@pinc-software.de.
3 * Copyright (c) 2002-2007, Jerome Duval (jerome.duval@free.fr)
4 *
5 * Distributed under the terms of the MIT License.
6 */
7#ifndef MULTI_AUDIO_UTILITY_H
8#define MULTI_AUDIO_UTILITY_H
9
10
11#include "hmulti_audio.h"
12
13
14namespace MultiAudio {
15
16// sample rate & format conversion
17float convert_to_sample_rate(uint32 rate);
18uint32 convert_from_sample_rate(float rate);
19uint32 convert_to_media_format(uint32 format);
20int16 convert_to_valid_bits(uint32 format);
21uint32 convert_from_media_format(uint32 format);
22uint32 select_sample_rate(uint32 rate);
23uint32 select_format(uint32 format);
24
25// device driver interface
26status_t get_description(int device, multi_description* description);
27
28status_t get_enabled_channels(int device, multi_channel_enable* enable);
29status_t set_enabled_channels(int device, multi_channel_enable* enable);
30
31status_t get_global_format(int device, multi_format_info* info);
32status_t set_global_format(int device, multi_format_info* info);
33status_t get_buffers(int device, multi_buffer_list* list);
34status_t buffer_exchange(int device, multi_buffer_info* info);
35
36status_t list_mix_controls(int device, multi_mix_control_info* info);
37status_t get_mix(int device, multi_mix_value_info* info);
38status_t set_mix(int device, multi_mix_value_info* info);
39
40}	// namespace MultiAudio
41
42#endif	// MULTI_AUDIO_UTILITY_H
43