mirror of
git://source.winehq.org/git/wine.git
synced 2024-09-15 06:41:41 +00:00
wineoss: Implement main_loop in unixlib.
This commit is contained in:
parent
9ad0694aed
commit
e55c432a91
|
@ -82,6 +82,8 @@ extern const IAudioClock2Vtbl AudioClock2_Vtbl;
|
|||
extern const IAudioStreamVolumeVtbl AudioStreamVolume_Vtbl;
|
||||
extern const IChannelAudioVolumeVtbl ChannelAudioVolume_Vtbl;
|
||||
|
||||
extern HRESULT main_loop_start(void) DECLSPEC_HIDDEN;
|
||||
|
||||
extern struct audio_session_wrapper *session_wrapper_create(
|
||||
struct audio_client *client) DECLSPEC_HIDDEN;
|
||||
|
||||
|
@ -575,6 +577,11 @@ static HRESULT WINAPI AudioClient_Initialize(IAudioClient3 *iface,
|
|||
return AUDCLNT_E_ALREADY_INITIALIZED;
|
||||
}
|
||||
|
||||
if(FAILED(params.result = main_loop_start())){
|
||||
sessions_unlock();
|
||||
return params.result;
|
||||
}
|
||||
|
||||
params.name = NULL;
|
||||
params.device = This->device_name;
|
||||
params.flow = This->dataflow;
|
||||
|
|
|
@ -221,6 +221,13 @@ static void get_default_device(EDataFlow flow, char device[OSS_DEVNODE_SIZE])
|
|||
return;
|
||||
}
|
||||
|
||||
static NTSTATUS oss_main_loop(void *args)
|
||||
{
|
||||
struct main_loop_params *params = args;
|
||||
NtSetEvent(params->event, NULL);
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
static NTSTATUS oss_get_endpoint_ids(void *args)
|
||||
{
|
||||
struct get_endpoint_ids_params *params = args;
|
||||
|
@ -1684,7 +1691,7 @@ unixlib_entry_t __wine_unix_call_funcs[] =
|
|||
{
|
||||
oss_not_implemented,
|
||||
oss_not_implemented,
|
||||
oss_not_implemented,
|
||||
oss_main_loop,
|
||||
oss_get_endpoint_ids,
|
||||
oss_create_stream,
|
||||
oss_release_stream,
|
||||
|
@ -1738,6 +1745,19 @@ static NTSTATUS oss_wow64_test_connect(void *args)
|
|||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
static NTSTATUS oss_wow64_main_loop(void *args)
|
||||
{
|
||||
struct
|
||||
{
|
||||
PTR32 event;
|
||||
} *params32 = args;
|
||||
struct main_loop_params params =
|
||||
{
|
||||
.event = ULongToHandle(params32->event)
|
||||
};
|
||||
return oss_main_loop(¶ms);
|
||||
}
|
||||
|
||||
static NTSTATUS oss_wow64_get_endpoint_ids(void *args)
|
||||
{
|
||||
struct
|
||||
|
@ -2108,7 +2128,7 @@ unixlib_entry_t __wine_unix_call_wow64_funcs[] =
|
|||
{
|
||||
oss_not_implemented,
|
||||
oss_not_implemented,
|
||||
oss_not_implemented,
|
||||
oss_wow64_main_loop,
|
||||
oss_wow64_get_endpoint_ids,
|
||||
oss_wow64_create_stream,
|
||||
oss_wow64_release_stream,
|
||||
|
|
Loading…
Reference in a new issue