2 * Copyright 2021 Jacek Caban for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #include "wine/list.h"
20 #include "wine/unixlib.h"
28 WAVEFORMATEXTENSIBLE format
;
29 REFERENCE_TIME def_period
;
30 REFERENCE_TIME min_period
;
32 unsigned int speakers_mask
;
35 struct main_loop_params
40 struct create_stream_params
44 AUDCLNT_SHAREMODE mode
;
46 REFERENCE_TIME duration
;
47 const WAVEFORMATEX
*fmt
;
49 UINT32
*channel_count
;
50 struct pulse_stream
**stream
;
53 struct release_stream_params
55 struct pulse_stream
*stream
;
62 struct pulse_stream
*stream
;
68 struct pulse_stream
*stream
;
74 struct pulse_stream
*stream
;
78 struct timer_loop_params
80 struct pulse_stream
*stream
;
83 struct get_render_buffer_params
85 struct pulse_stream
*stream
;
91 struct release_render_buffer_params
93 struct pulse_stream
*stream
;
94 UINT32 written_frames
;
99 struct get_capture_buffer_params
101 struct pulse_stream
*stream
;
110 struct release_capture_buffer_params
112 struct pulse_stream
*stream
;
117 struct get_buffer_size_params
119 struct pulse_stream
*stream
;
124 struct get_latency_params
126 struct pulse_stream
*stream
;
128 REFERENCE_TIME
*latency
;
131 struct get_current_padding_params
133 struct pulse_stream
*stream
;
138 struct get_next_packet_size_params
140 struct pulse_stream
*stream
;
145 struct get_frequency_params
147 struct pulse_stream
*stream
;
152 struct get_position_params
154 struct pulse_stream
*stream
;
161 struct set_volumes_params
163 struct pulse_stream
*stream
;
165 const float *volumes
;
166 const float *session_volumes
;
169 struct set_event_handle_params
171 struct pulse_stream
*stream
;
176 struct test_connect_params
180 struct pulse_config
*config
;
183 struct is_started_params
185 struct pulse_stream
*stream
;
201 release_render_buffer
,
203 release_capture_buffer
,
207 get_next_packet_size
,