Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
e29dc33a
Commit
e29dc33a
authored
Aug 10, 2022
by
Davide Beatrici
Committed by
Alexandre Julliard
Aug 16, 2022
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
mmdevapi: Integrate winepulse's additions in unixlib.h.
parent
19baa295
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
46 additions
and
1 deletion
+46
-1
unixlib.h
dlls/mmdevapi/unixlib.h
+30
-1
alsa.c
dlls/winealsa.drv/alsa.c
+14
-0
mmdevdrv.c
dlls/winealsa.drv/mmdevdrv.c
+2
-0
No files found.
dlls/mmdevapi/unixlib.h
View file @
e29dc33a
/*
* Copyright 2021 Jacek Caban for CodeWeavers
* Copyright 2022 Huw Davies
*
* This library is free software; you can redistribute it and/or
...
...
@@ -27,6 +28,11 @@ struct endpoint
unsigned
int
device
;
};
struct
main_loop_params
{
HANDLE
event
;
};
struct
get_endpoint_ids_params
{
EDataFlow
flow
;
...
...
@@ -39,6 +45,7 @@ struct get_endpoint_ids_params
struct
create_stream_params
{
const
char
*
name
;
const
char
*
device
;
EDataFlow
flow
;
AUDCLNT_SHAREMODE
share
;
...
...
@@ -47,6 +54,7 @@ struct create_stream_params
REFERENCE_TIME
period
;
const
WAVEFORMATEX
*
fmt
;
HRESULT
result
;
UINT32
*
channel_count
;
stream_handle
*
stream
;
};
...
...
@@ -110,7 +118,7 @@ struct get_capture_buffer_params
struct
release_capture_buffer_params
{
stream_handle
stream
;
UINT32
done
;
BOOL
done
;
HRESULT
result
;
};
...
...
@@ -132,6 +140,15 @@ struct get_mix_format_params
HRESULT
result
;
};
struct
get_device_period_params
{
const
char
*
device
;
EDataFlow
flow
;
HRESULT
result
;
REFERENCE_TIME
*
def_period
;
REFERENCE_TIME
*
min_period
;
};
struct
get_buffer_size_params
{
stream_handle
stream
;
...
...
@@ -170,6 +187,7 @@ struct get_frequency_params
struct
get_position_params
{
stream_handle
stream
;
BOOL
device
;
HRESULT
result
;
UINT64
*
pos
;
UINT64
*
qpctime
;
...
...
@@ -190,6 +208,12 @@ struct set_event_handle_params
HRESULT
result
;
};
struct
test_connect_params
{
const
char
*
name
;
HRESULT
result
;
};
struct
is_started_params
{
stream_handle
stream
;
...
...
@@ -251,6 +275,9 @@ struct midi_notify_wait_params
enum
unix_funcs
{
process_attach
,
process_detach
,
main_loop
,
get_endpoint_ids
,
create_stream
,
release_stream
,
...
...
@@ -264,6 +291,7 @@ enum unix_funcs
release_capture_buffer
,
is_format_supported
,
get_mix_format
,
get_device_period
,
get_buffer_size
,
get_latency
,
get_current_padding
,
...
...
@@ -272,6 +300,7 @@ enum unix_funcs
get_position
,
set_volumes
,
set_event_handle
,
test_connect
,
is_started
,
get_prop_value
,
midi_release
,
...
...
dlls/winealsa.drv/alsa.c
View file @
e29dc33a
...
...
@@ -2431,6 +2431,9 @@ static NTSTATUS alsa_get_prop_value(void *args)
unixlib_entry_t
__wine_unix_call_funcs
[]
=
{
NULL
,
NULL
,
NULL
,
alsa_get_endpoint_ids
,
alsa_create_stream
,
alsa_release_stream
,
...
...
@@ -2444,6 +2447,7 @@ unixlib_entry_t __wine_unix_call_funcs[] =
alsa_release_capture_buffer
,
alsa_is_format_supported
,
alsa_get_mix_format
,
NULL
,
alsa_get_buffer_size
,
alsa_get_latency
,
alsa_get_current_padding
,
...
...
@@ -2452,6 +2456,7 @@ unixlib_entry_t __wine_unix_call_funcs[] =
alsa_get_position
,
alsa_set_volumes
,
alsa_set_event_handle
,
NULL
,
alsa_is_started
,
alsa_get_prop_value
,
alsa_midi_release
,
...
...
@@ -2493,6 +2498,7 @@ static NTSTATUS alsa_wow64_create_stream(void *args)
{
struct
{
PTR32
name
;
PTR32
device
;
EDataFlow
flow
;
AUDCLNT_SHAREMODE
share
;
...
...
@@ -2501,10 +2507,12 @@ static NTSTATUS alsa_wow64_create_stream(void *args)
REFERENCE_TIME
period
;
PTR32
fmt
;
HRESULT
result
;
PTR32
channel_count
;
PTR32
stream
;
}
*
params32
=
args
;
struct
create_stream_params
params
=
{
.
name
=
ULongToPtr
(
params32
->
name
),
.
device
=
ULongToPtr
(
params32
->
device
),
.
flow
=
params32
->
flow
,
.
share
=
params32
->
share
,
...
...
@@ -2512,6 +2520,7 @@ static NTSTATUS alsa_wow64_create_stream(void *args)
.
duration
=
params32
->
duration
,
.
period
=
params32
->
period
,
.
fmt
=
ULongToPtr
(
params32
->
fmt
),
.
channel_count
=
ULongToPtr
(
params32
->
channel_count
),
.
stream
=
ULongToPtr
(
params32
->
stream
)
};
alsa_create_stream
(
&
params
);
...
...
@@ -2837,6 +2846,9 @@ static NTSTATUS alsa_wow64_get_prop_value(void *args)
unixlib_entry_t
__wine_unix_call_wow64_funcs
[]
=
{
NULL
,
NULL
,
NULL
,
alsa_wow64_get_endpoint_ids
,
alsa_wow64_create_stream
,
alsa_wow64_release_stream
,
...
...
@@ -2850,6 +2862,7 @@ unixlib_entry_t __wine_unix_call_wow64_funcs[] =
alsa_release_capture_buffer
,
alsa_wow64_is_format_supported
,
alsa_wow64_get_mix_format
,
NULL
,
alsa_wow64_get_buffer_size
,
alsa_wow64_get_latency
,
alsa_wow64_get_current_padding
,
...
...
@@ -2858,6 +2871,7 @@ unixlib_entry_t __wine_unix_call_wow64_funcs[] =
alsa_wow64_get_position
,
alsa_wow64_set_volumes
,
alsa_wow64_set_event_handle
,
NULL
,
alsa_is_started
,
alsa_wow64_get_prop_value
,
alsa_midi_release
,
...
...
dlls/winealsa.drv/mmdevdrv.c
View file @
e29dc33a
...
...
@@ -746,6 +746,7 @@ static HRESULT WINAPI AudioClient_Initialize(IAudioClient3 *iface,
dump_fmt
(
fmt
);
params
.
name
=
NULL
;
params
.
device
=
This
->
alsa_name
;
params
.
flow
=
This
->
dataflow
;
params
.
share
=
mode
;
...
...
@@ -753,6 +754,7 @@ static HRESULT WINAPI AudioClient_Initialize(IAudioClient3 *iface,
params
.
duration
=
duration
;
params
.
period
=
period
;
params
.
fmt
=
fmt
;
params
.
channel_count
=
NULL
;
params
.
stream
=
&
stream
;
ALSA_CALL
(
create_stream
,
&
params
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment