winecoreaudio: Introduce a stream structure.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Huw Davies 2021-11-17 09:09:29 -06:00 committed by Alexandre Julliard
parent c84923b200
commit 9281d01544
2 changed files with 337 additions and 319 deletions

File diff suppressed because it is too large Load Diff

View File

@ -18,6 +18,29 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
struct coreaudio_stream /* To be made private */
{
OSSpinLock lock;
AudioComponentInstance unit;
AudioConverterRef converter;
AudioStreamBasicDescription dev_desc; /* audio unit format, not necessarily the same as fmt */
AudioDeviceID dev_id;
EDataFlow flow;
AUDCLNT_SHAREMODE share;
BOOL playing;
SIZE_T local_buffer_size, tmp_buffer_size;
UINT32 period_ms, period_frames;
UINT32 bufsize_frames, resamp_bufsize_frames;
UINT32 lcl_offs_frames, held_frames, wri_offs_frames, tmp_buffer_frames;
UINT32 cap_bufsize_frames, cap_offs_frames, cap_held_frames;
UINT32 wrap_bufsize_frames;
UINT64 written_frames;
INT32 getbuf_last;
WAVEFORMATEX *fmt;
BYTE *local_buffer, *cap_buffer, *wrap_buffer, *resamp_buffer, *tmp_buffer;
};
struct endpoint
{
WCHAR *name;