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