winealsa: 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:
parent
10d44c9a8a
commit
04d01ee3c2
File diff suppressed because it is too large
Load Diff
|
@ -16,6 +16,41 @@
|
|||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include "audioclient.h"
|
||||
|
||||
struct alsa_stream
|
||||
{
|
||||
snd_pcm_t *pcm_handle;
|
||||
snd_pcm_uframes_t alsa_bufsize_frames, alsa_period_frames, safe_rewind_frames;
|
||||
snd_pcm_hw_params_t *hw_params; /* does not hold state between calls */
|
||||
snd_pcm_format_t alsa_format;
|
||||
|
||||
LARGE_INTEGER last_period_time;
|
||||
|
||||
WAVEFORMATEX *fmt;
|
||||
DWORD flags;
|
||||
AUDCLNT_SHAREMODE share;
|
||||
HANDLE event;
|
||||
|
||||
BOOL need_remapping;
|
||||
int alsa_channels;
|
||||
int alsa_channel_map[32];
|
||||
|
||||
BOOL started;
|
||||
REFERENCE_TIME mmdev_period_rt;
|
||||
UINT64 written_frames, last_pos_frames;
|
||||
UINT32 bufsize_frames, held_frames, tmp_buffer_frames, mmdev_period_frames;
|
||||
snd_pcm_uframes_t remapping_buf_frames;
|
||||
UINT32 lcl_offs_frames; /* offs into local_buffer where valid data starts */
|
||||
UINT32 wri_offs_frames; /* where to write fresh data in local_buffer */
|
||||
UINT32 hidden_frames; /* ALSA reserve to ensure continuous rendering */
|
||||
UINT32 vol_adjusted_frames; /* Frames we've already adjusted the volume of but didn't write yet */
|
||||
UINT32 data_in_alsa_frames;
|
||||
|
||||
BYTE *local_buffer, *tmp_buffer, *remapping_buf, *silence_buf;
|
||||
LONG32 getbuf_last; /* <0 when using tmp_buffer */
|
||||
};
|
||||
|
||||
struct endpoint
|
||||
{
|
||||
WCHAR *name;
|
||||
|
|
Loading…
Reference in New Issue