mirror of
https://github.com/libsdl-org/SDL.git
synced 2025-09-06 19:38:14 +00:00
vitaaudio: Clean up correctly in CloseDevice.
This commit is contained in:
@@ -148,13 +148,14 @@ static void VITAAUD_WaitDevice(SDL_AudioDevice *device)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static Uint8 *VITAAUD_GetDeviceBuf(SDL_AudioDevice *device)
|
static Uint8 *VITAAUD_GetDeviceBuf(SDL_AudioDevice *device, int *buffer_size)
|
||||||
{
|
{
|
||||||
return device->hidden->mixbufs[device->hidden->next_buffer];
|
return device->hidden->mixbufs[device->hidden->next_buffer];
|
||||||
}
|
}
|
||||||
|
|
||||||
static void VITAAUD_CloseDevice(SDL_AudioDevice *device)
|
static void VITAAUD_CloseDevice(SDL_AudioDevice *device)
|
||||||
{
|
{
|
||||||
|
if (device->hidden) {
|
||||||
if (device->hidden->port >= 0) {
|
if (device->hidden->port >= 0) {
|
||||||
if (device->iscapture) {
|
if (device->iscapture) {
|
||||||
sceAudioInReleasePort(device->hidden->port);
|
sceAudioInReleasePort(device->hidden->port);
|
||||||
@@ -165,9 +166,12 @@ static void VITAAUD_CloseDevice(SDL_AudioDevice *device)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!device->iscapture && device->hidden->rawbuf != NULL) {
|
if (!device->iscapture && device->hidden->rawbuf != NULL) {
|
||||||
SDL_aligned_free(device->hidden->rawbuf);
|
SDL_aligned_free(device->hidden->rawbuf); // this uses memalign(), not SDL_malloc().
|
||||||
device->hidden->rawbuf = NULL;
|
device->hidden->rawbuf = NULL;
|
||||||
}
|
}
|
||||||
|
SDL_free(device->hidden);
|
||||||
|
device->hidden = NULL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void VITAAUD_WaitCaptureDevice(SDL_AudioDevice *device)
|
static void VITAAUD_WaitCaptureDevice(SDL_AudioDevice *device)
|
||||||
|
Reference in New Issue
Block a user