mirror of https://github.com/encounter/SDL.git
Fixed assertion failure in diskaudio target caused by new hotplugging support.
Fixes Bugzilla #3032.
This commit is contained in:
parent
bf9bd59c01
commit
4986563d2f
|
@ -102,8 +102,9 @@ DISKAUD_CloseDevice(_THIS)
|
||||||
static int
|
static int
|
||||||
DISKAUD_OpenDevice(_THIS, void *handle, const char *devname, int iscapture)
|
DISKAUD_OpenDevice(_THIS, void *handle, const char *devname, int iscapture)
|
||||||
{
|
{
|
||||||
|
/* handle != NULL means "user specified the placeholder name on the fake detected device list" */
|
||||||
|
const char *fname = DISKAUD_GetOutputFilename(handle ? NULL : devname);
|
||||||
const char *envr = SDL_getenv(DISKENVR_WRITEDELAY);
|
const char *envr = SDL_getenv(DISKENVR_WRITEDELAY);
|
||||||
const char *fname = DISKAUD_GetOutputFilename(devname);
|
|
||||||
|
|
||||||
this->hidden = (struct SDL_PrivateAudioData *)
|
this->hidden = (struct SDL_PrivateAudioData *)
|
||||||
SDL_malloc(sizeof(*this->hidden));
|
SDL_malloc(sizeof(*this->hidden));
|
||||||
|
@ -141,6 +142,13 @@ DISKAUD_OpenDevice(_THIS, void *handle, const char *devname, int iscapture)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
DISKAUD_DetectDevices(void)
|
||||||
|
{
|
||||||
|
/* !!! FIXME: stole this literal string from DEFAULT_OUTPUT_DEVNAME in SDL_audio.c */
|
||||||
|
SDL_AddAudioDevice(SDL_FALSE, "System audio output device", (void *) 0x1);
|
||||||
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
DISKAUD_Init(SDL_AudioDriverImpl * impl)
|
DISKAUD_Init(SDL_AudioDriverImpl * impl)
|
||||||
{
|
{
|
||||||
|
@ -150,6 +158,7 @@ DISKAUD_Init(SDL_AudioDriverImpl * impl)
|
||||||
impl->PlayDevice = DISKAUD_PlayDevice;
|
impl->PlayDevice = DISKAUD_PlayDevice;
|
||||||
impl->GetDeviceBuf = DISKAUD_GetDeviceBuf;
|
impl->GetDeviceBuf = DISKAUD_GetDeviceBuf;
|
||||||
impl->CloseDevice = DISKAUD_CloseDevice;
|
impl->CloseDevice = DISKAUD_CloseDevice;
|
||||||
|
impl->DetectDevices = DISKAUD_DetectDevices;
|
||||||
|
|
||||||
impl->AllowsArbitraryDeviceNames = 1;
|
impl->AllowsArbitraryDeviceNames = 1;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue