Branch data Line data Source code
1 : : // SPDX-License-Identifier: GPL-3.0-or-later
2 : : // SPDX-FileCopyrightText: Andy Holmes <andrew.g.r.holmes@gmail.com>
3 : :
4 : : #pragma once
5 : :
6 : : #if !defined (VALENT_INSIDE) && !defined (VALENT_COMPILATION)
7 : : # error "Only <valent.h> can be included directly."
8 : : #endif
9 : :
10 : : #include "../core/valent-extension.h"
11 : : #include "valent-mixer-stream.h"
12 : :
13 : : G_BEGIN_DECLS
14 : :
15 : : #define VALENT_TYPE_MIXER_ADAPTER (valent_mixer_adapter_get_type())
16 : :
17 : : VALENT_AVAILABLE_IN_1_0
18 [ + - + - : 251 : G_DECLARE_DERIVABLE_TYPE (ValentMixerAdapter, valent_mixer_adapter, VALENT, MIXER_ADAPTER, ValentExtension)
+ - ]
19 : :
20 : : struct _ValentMixerAdapterClass
21 : : {
22 : : ValentExtensionClass parent_class;
23 : :
24 : : /* virtual functions */
25 : : ValentMixerStream * (*get_default_input) (ValentMixerAdapter *adapter);
26 : : void (*set_default_input) (ValentMixerAdapter *adapter,
27 : : ValentMixerStream *stream);
28 : : ValentMixerStream * (*get_default_output) (ValentMixerAdapter *adapter);
29 : : void (*set_default_output) (ValentMixerAdapter *adapter,
30 : : ValentMixerStream *stream);
31 : :
32 : : /*< private >*/
33 : : gpointer padding[8];
34 : : };
35 : :
36 : : VALENT_AVAILABLE_IN_1_0
37 : : void valent_mixer_adapter_stream_added (ValentMixerAdapter *adapter,
38 : : ValentMixerStream *stream);
39 : : VALENT_AVAILABLE_IN_1_0
40 : : void valent_mixer_adapter_stream_removed (ValentMixerAdapter *adapter,
41 : : ValentMixerStream *stream);
42 : : VALENT_AVAILABLE_IN_1_0
43 : : ValentMixerStream * valent_mixer_adapter_get_default_input (ValentMixerAdapter *adapter);
44 : : VALENT_AVAILABLE_IN_1_0
45 : : void valent_mixer_adapter_set_default_input (ValentMixerAdapter *adapter,
46 : : ValentMixerStream *stream);
47 : : VALENT_AVAILABLE_IN_1_0
48 : : ValentMixerStream * valent_mixer_adapter_get_default_output (ValentMixerAdapter *adapter);
49 : : VALENT_AVAILABLE_IN_1_0
50 : : void valent_mixer_adapter_set_default_output (ValentMixerAdapter *adapter,
51 : : ValentMixerStream *stream);
52 : :
53 : : G_END_DECLS
54 : :
|