AVDECC Controller  v0.4.8
 All Classes Namespaces Files Functions Enumerations Enumerator Macros
audio_unit_descriptor.h
Go to the documentation of this file.
1 /*
2  * Licensed under the MIT License (MIT)
3  *
4  * Copyright (c) 2013 AudioScience Inc.
5  *
6  * Permission is hereby granted, free of charge, to any person obtaining a copy of
7  * this software and associated documentation files (the "Software"), to deal in
8  * the Software without restriction, including without limitation the rights to
9  * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
10  * the Software, and to permit persons to whom the Software is furnished to do so,
11  * subject to the following conditions:
12  *
13  * The above copyright notice and this permission notice shall be included in all
14  * copies or substantial portions of the Software.
15  *
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
18  * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
19  * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
20  * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22  */
23 
32 #pragma once
33 #ifndef _AVDECC_CONTROLLER_LIB_AUDIO_UNIT_DESCRIPTOR_H_
34 #define _AVDECC_CONTROLLER_LIB_AUDIO_UNIT_DESCRIPTOR_H_
35 
36 #include <stdint.h>
37 #include "build.h"
38 #include "descriptor_base.h"
39 
40 namespace avdecc_lib
41 {
42  class audio_unit_descriptor : public virtual descriptor_base
43  {
44  public:
48  AVDECC_CONTROLLER_LIB32_API virtual uint16_t STDCALL clock_domain_index() = 0;
49 
53  AVDECC_CONTROLLER_LIB32_API virtual uint16_t STDCALL number_of_stream_input_ports() = 0;
54 
58  AVDECC_CONTROLLER_LIB32_API virtual uint16_t STDCALL base_stream_input_port() = 0;
59 
63  AVDECC_CONTROLLER_LIB32_API virtual uint16_t STDCALL number_of_stream_output_ports() = 0;
64 
68  AVDECC_CONTROLLER_LIB32_API virtual uint16_t STDCALL base_stream_output_port() = 0;
69 
73  AVDECC_CONTROLLER_LIB32_API virtual uint16_t STDCALL number_of_external_input_ports() = 0;
74 
78  AVDECC_CONTROLLER_LIB32_API virtual uint16_t STDCALL base_external_input_port() = 0;
79 
83  AVDECC_CONTROLLER_LIB32_API virtual uint16_t STDCALL number_of_external_output_ports() = 0;
84 
88  AVDECC_CONTROLLER_LIB32_API virtual uint16_t STDCALL base_external_output_port() = 0;
89 
93  AVDECC_CONTROLLER_LIB32_API virtual uint16_t STDCALL number_of_internal_input_ports() = 0;
94 
98  AVDECC_CONTROLLER_LIB32_API virtual uint16_t STDCALL base_internal_input_port() = 0;
99 
103  AVDECC_CONTROLLER_LIB32_API virtual uint16_t STDCALL number_of_internal_output_ports() = 0;
104 
108  AVDECC_CONTROLLER_LIB32_API virtual uint16_t STDCALL base_internal_output_port() = 0;
109 
113  AVDECC_CONTROLLER_LIB32_API virtual uint16_t STDCALL number_of_controls() = 0;
114 
118  AVDECC_CONTROLLER_LIB32_API virtual uint16_t STDCALL base_control() = 0;
119 
123  AVDECC_CONTROLLER_LIB32_API virtual uint16_t STDCALL number_of_signal_selectors() = 0;
124 
128  AVDECC_CONTROLLER_LIB32_API virtual uint16_t STDCALL base_signal_selector() = 0;
129 
133  AVDECC_CONTROLLER_LIB32_API virtual uint16_t STDCALL number_of_mixers() = 0;
134 
138  AVDECC_CONTROLLER_LIB32_API virtual uint16_t STDCALL base_mixer() = 0;
139 
143  AVDECC_CONTROLLER_LIB32_API virtual uint16_t STDCALL number_of_matrices() = 0;
144 
148  AVDECC_CONTROLLER_LIB32_API virtual uint16_t STDCALL base_matrix() = 0;
149 
153  AVDECC_CONTROLLER_LIB32_API virtual uint16_t STDCALL number_of_splitters() = 0;
154 
158  AVDECC_CONTROLLER_LIB32_API virtual uint16_t STDCALL base_splitter() = 0;
159 
163  AVDECC_CONTROLLER_LIB32_API virtual uint16_t STDCALL number_of_combiners() = 0;
164 
168  AVDECC_CONTROLLER_LIB32_API virtual uint16_t STDCALL base_combiner() = 0;
169 
173  AVDECC_CONTROLLER_LIB32_API virtual uint16_t STDCALL number_of_demultiplexers() = 0;
174 
178  AVDECC_CONTROLLER_LIB32_API virtual uint16_t STDCALL base_demultiplexer() = 0;
179 
183  AVDECC_CONTROLLER_LIB32_API virtual uint16_t STDCALL number_of_multiplexers() = 0;
184 
188  AVDECC_CONTROLLER_LIB32_API virtual uint16_t STDCALL base_multiplexer() = 0;
189 
193  AVDECC_CONTROLLER_LIB32_API virtual uint16_t STDCALL number_of_transcoders() = 0;
194 
198  AVDECC_CONTROLLER_LIB32_API virtual uint16_t STDCALL base_transcoder() = 0;
199 
203  AVDECC_CONTROLLER_LIB32_API virtual uint16_t STDCALL number_of_control_blocks() = 0;
204 
208  AVDECC_CONTROLLER_LIB32_API virtual uint16_t STDCALL base_control_block() = 0;
209 
213  AVDECC_CONTROLLER_LIB32_API virtual uint32_t STDCALL current_sampling_rate() = 0;
214 
218  AVDECC_CONTROLLER_LIB32_API virtual uint32_t STDCALL get_sampling_rate_by_index(uint32_t sampling_rate_index) = 0;
219 
223  AVDECC_CONTROLLER_LIB32_API virtual uint16_t STDCALL sampling_rates_count() = 0;
224 
229  AVDECC_CONTROLLER_LIB32_API virtual uint32_t STDCALL set_sampling_rate_sampling_rate() = 0;
230 
235  AVDECC_CONTROLLER_LIB32_API virtual uint32_t STDCALL get_sampling_rate_sampling_rate() = 0;
236 
248  AVDECC_CONTROLLER_LIB32_API virtual int STDCALL send_set_sampling_rate_cmd(void *notification_id, uint32_t new_sampling_rate) = 0;
249 
260  AVDECC_CONTROLLER_LIB32_API virtual int STDCALL send_get_sampling_rate_cmd(void *notification_id) = 0;
261  };
262 }
263 
264 #endif
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL number_of_control_blocks()=0
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL number_of_mixers()=0
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL number_of_stream_input_ports()=0
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL base_external_input_port()=0
virtual AVDECC_CONTROLLER_LIB32_API uint32_t STDCALL set_sampling_rate_sampling_rate()=0
Definition: audio_unit_descriptor.h:42
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL number_of_matrices()=0
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL base_matrix()=0
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL number_of_splitters()=0
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL base_multiplexer()=0
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL base_transcoder()=0
virtual AVDECC_CONTROLLER_LIB32_API uint32_t STDCALL get_sampling_rate_by_index(uint32_t sampling_rate_index)=0
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL base_stream_output_port()=0
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL base_internal_input_port()=0
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL clock_domain_index()=0
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL number_of_stream_output_ports()=0
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL base_control()=0
virtual AVDECC_CONTROLLER_LIB32_API uint32_t STDCALL get_sampling_rate_sampling_rate()=0
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL base_signal_selector()=0
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL base_external_output_port()=0
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL number_of_controls()=0
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL number_of_signal_selectors()=0
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL base_mixer()=0
virtual AVDECC_CONTROLLER_LIB32_API uint32_t STDCALL current_sampling_rate()=0
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL base_splitter()=0
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL base_control_block()=0
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL number_of_internal_input_ports()=0
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL sampling_rates_count()=0
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL base_combiner()=0
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL number_of_demultiplexers()=0
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL number_of_internal_output_ports()=0
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL base_internal_output_port()=0
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL number_of_external_input_ports()=0
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL number_of_transcoders()=0
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL number_of_external_output_ports()=0
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL number_of_multiplexers()=0
virtual AVDECC_CONTROLLER_LIB32_API int STDCALL send_set_sampling_rate_cmd(void *notification_id, uint32_t new_sampling_rate)=0
virtual AVDECC_CONTROLLER_LIB32_API int STDCALL send_get_sampling_rate_cmd(void *notification_id)=0
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL base_stream_input_port()=0
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL number_of_combiners()=0
Definition: descriptor_base.h:40
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL base_demultiplexer()=0