mirror of
https://github.com/libretro/RetroArch
synced 2025-02-28 12:40:23 +00:00
(DirectSound) Don't use scond_t
This commit is contained in:
parent
96f6af7053
commit
35ef9a4393
@ -67,7 +67,7 @@ typedef struct dsound
|
|||||||
fifo_buffer_t *buffer;
|
fifo_buffer_t *buffer;
|
||||||
CRITICAL_SECTION crit;
|
CRITICAL_SECTION crit;
|
||||||
|
|
||||||
scond_t *event;
|
HANDLE event;
|
||||||
sthread_t *thread;
|
sthread_t *thread;
|
||||||
|
|
||||||
unsigned buffer_size;
|
unsigned buffer_size;
|
||||||
@ -191,7 +191,7 @@ static void dsound_thread(void *data)
|
|||||||
if (!grab_region(ds, write_ptr, ®ion))
|
if (!grab_region(ds, write_ptr, ®ion))
|
||||||
{
|
{
|
||||||
ds->thread_alive = false;
|
ds->thread_alive = false;
|
||||||
scond_broadcast(ds->event);
|
SetEvent(ds->event);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -208,7 +208,7 @@ static void dsound_thread(void *data)
|
|||||||
if (!grab_region(ds, write_ptr, ®ion))
|
if (!grab_region(ds, write_ptr, ®ion))
|
||||||
{
|
{
|
||||||
ds->thread_alive = false;
|
ds->thread_alive = false;
|
||||||
scond_broadcast(ds->event);
|
SetEvent(ds->event);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -222,7 +222,7 @@ static void dsound_thread(void *data)
|
|||||||
release_region(ds, ®ion);
|
release_region(ds, ®ion);
|
||||||
write_ptr = (write_ptr + region.size1 + region.size2) % ds->buffer_size;
|
write_ptr = (write_ptr + region.size1 + region.size2) % ds->buffer_size;
|
||||||
|
|
||||||
scond_broadcast(ds->event);
|
SetEvent(ds->event);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -291,8 +291,8 @@ static void dsound_free(void *data)
|
|||||||
if (ds->ds)
|
if (ds->ds)
|
||||||
IDirectSound_Release(ds->ds);
|
IDirectSound_Release(ds->ds);
|
||||||
|
|
||||||
scond_free(ds->event);
|
if (ds->event)
|
||||||
ds->event = NULL;
|
CloseHandle(ds->event);
|
||||||
|
|
||||||
if (ds->buffer)
|
if (ds->buffer)
|
||||||
fifo_free(ds->buffer);
|
fifo_free(ds->buffer);
|
||||||
@ -371,7 +371,7 @@ static void *dsound_init(const char *device, unsigned rate, unsigned latency)
|
|||||||
bufdesc.dwBufferBytes = ds->buffer_size;
|
bufdesc.dwBufferBytes = ds->buffer_size;
|
||||||
bufdesc.lpwfxFormat = &wfx;
|
bufdesc.lpwfxFormat = &wfx;
|
||||||
|
|
||||||
ds->event = scond_new();
|
ds->event = CreateEvent(NULL, false, false, NULL);
|
||||||
if (!ds->event)
|
if (!ds->event)
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
@ -470,7 +470,7 @@ static ssize_t dsound_write(void *data, const void *buf_, size_t size)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
if (avail == 0)
|
if (avail == 0)
|
||||||
scond_lock(ds->event);
|
WaitForSingleObject(ds->event, INFINITE);
|
||||||
}
|
}
|
||||||
|
|
||||||
return written;
|
return written;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user