mirror of
https://github.com/libsdl-org/SDL.git
synced 2026-06-30 09:45:36 +00:00
Revert "audio: Added SDL_SetAudioIterationCallbacks()."
This reverts commit 608f706a95.
Didn't end up using this in SDL3_mixer, and it's a super-awkward API if we
don't need it.
I _might_ bite the bullet and let people lock a physical audio device, though,
as I could see that being useful but less awkward for the same reasons I
originally wanted it.
This commit is contained in:
parent
e5d57d8ad6
commit
c80d6954cb
6 changed files with 1 additions and 127 deletions
|
|
@ -1164,23 +1164,9 @@ bool SDL_PlaybackAudioThreadIterate(SDL_AudioDevice *device)
|
|||
|
||||
// We should have updated this elsewhere if the format changed!
|
||||
SDL_assert(SDL_AudioSpecsEqual(&stream->dst_spec, &device->spec, NULL, NULL));
|
||||
|
||||
SDL_assert(stream->src_spec.format != SDL_AUDIO_UNKNOWN);
|
||||
|
||||
int br = 0;
|
||||
|
||||
if (!SDL_GetAtomicInt(&logdev->paused)) {
|
||||
if (logdev->iteration_start) {
|
||||
logdev->iteration_start(logdev->iteration_userdata, logdev->instance_id, true);
|
||||
}
|
||||
|
||||
br = SDL_GetAudioStreamDataAdjustGain(stream, device_buffer, buffer_size, logdev->gain);
|
||||
|
||||
if (logdev->iteration_end) {
|
||||
logdev->iteration_end(logdev->iteration_userdata, logdev->instance_id, false);
|
||||
}
|
||||
}
|
||||
|
||||
const int br = SDL_GetAtomicInt(&logdev->paused) ? 0 : SDL_GetAudioStreamDataAdjustGain(stream, device_buffer, buffer_size, logdev->gain);
|
||||
if (br < 0) { // Probably OOM. Kill the audio device; the whole thing is likely dying soon anyhow.
|
||||
failed = true;
|
||||
SDL_memset(device_buffer, device->silence_value, buffer_size); // just supply silence to the device before we die.
|
||||
|
|
@ -1218,10 +1204,6 @@ bool SDL_PlaybackAudioThreadIterate(SDL_AudioDevice *device)
|
|||
SDL_memset(mix_buffer, '\0', work_buffer_size); // start with silence.
|
||||
}
|
||||
|
||||
if (logdev->iteration_start) {
|
||||
logdev->iteration_start(logdev->iteration_userdata, logdev->instance_id, true);
|
||||
}
|
||||
|
||||
for (SDL_AudioStream *stream = logdev->bound_streams; stream; stream = stream->next_binding) {
|
||||
// We should have updated this elsewhere if the format changed!
|
||||
SDL_assert(SDL_AudioSpecsEqual(&stream->dst_spec, &outspec, NULL, NULL));
|
||||
|
|
@ -1246,10 +1228,6 @@ bool SDL_PlaybackAudioThreadIterate(SDL_AudioDevice *device)
|
|||
}
|
||||
}
|
||||
|
||||
if (logdev->iteration_end) {
|
||||
logdev->iteration_end(logdev->iteration_userdata, logdev->instance_id, false);
|
||||
}
|
||||
|
||||
if (postmix) {
|
||||
SDL_assert(mix_buffer == device->postmix_buffer);
|
||||
postmix(logdev->postmix_userdata, &outspec, mix_buffer, work_buffer_size);
|
||||
|
|
@ -1991,21 +1969,6 @@ bool SDL_SetAudioPostmixCallback(SDL_AudioDeviceID devid, SDL_AudioPostmixCallba
|
|||
return result;
|
||||
}
|
||||
|
||||
bool SDL_SetAudioIterationCallbacks(SDL_AudioDeviceID devid, SDL_AudioIterationCallback iter_start, SDL_AudioIterationCallback iter_end, void *userdata)
|
||||
{
|
||||
SDL_AudioDevice *device = NULL;
|
||||
SDL_LogicalAudioDevice *logdev = ObtainLogicalAudioDevice(devid, &device);
|
||||
bool result = false;
|
||||
if (logdev) {
|
||||
logdev->iteration_start = iter_start;
|
||||
logdev->iteration_end = iter_end;
|
||||
logdev->iteration_userdata = userdata;
|
||||
result = true;
|
||||
}
|
||||
ReleaseAudioDevice(device);
|
||||
return result;
|
||||
}
|
||||
|
||||
bool SDL_BindAudioStreams(SDL_AudioDeviceID devid, SDL_AudioStream * const *streams, int num_streams)
|
||||
{
|
||||
const bool islogical = !(devid & (1<<1));
|
||||
|
|
|
|||
|
|
@ -264,13 +264,6 @@ struct SDL_LogicalAudioDevice
|
|||
// true if device was opened with SDL_OpenAudioDeviceStream (so it forbids binding changes, etc).
|
||||
bool simplified;
|
||||
|
||||
// If non-NULL, callback into the app that alerts it to start/end of device iteration.
|
||||
SDL_AudioIterationCallback iteration_start;
|
||||
SDL_AudioIterationCallback iteration_end;
|
||||
|
||||
// App-supplied pointer for iteration callbacks.
|
||||
void *iteration_userdata;
|
||||
|
||||
// If non-NULL, callback into the app that lets them access the final postmix buffer.
|
||||
SDL_AudioPostmixCallback postmix;
|
||||
|
||||
|
|
|
|||
|
|
@ -1251,7 +1251,6 @@ SDL3_0.0.0 {
|
|||
SDL_GetGPUDeviceProperties;
|
||||
SDL_CreateGPURenderer;
|
||||
SDL_PutAudioStreamPlanarData;
|
||||
SDL_SetAudioIterationCallbacks;
|
||||
SDL_GetEventDescription;
|
||||
SDL_PutAudioStreamDataNoCopy;
|
||||
SDL_IsTraySupported;
|
||||
|
|
|
|||
|
|
@ -1276,7 +1276,6 @@
|
|||
#define SDL_GetGPUDeviceProperties SDL_GetGPUDeviceProperties_REAL
|
||||
#define SDL_CreateGPURenderer SDL_CreateGPURenderer_REAL
|
||||
#define SDL_PutAudioStreamPlanarData SDL_PutAudioStreamPlanarData_REAL
|
||||
#define SDL_SetAudioIterationCallbacks SDL_SetAudioIterationCallbacks_REAL
|
||||
#define SDL_GetEventDescription SDL_GetEventDescription_REAL
|
||||
#define SDL_PutAudioStreamDataNoCopy SDL_PutAudioStreamDataNoCopy_REAL
|
||||
#define SDL_IsTraySupported SDL_IsTraySupported_REAL
|
||||
|
|
|
|||
|
|
@ -1284,7 +1284,6 @@ SDL_DYNAPI_PROC(bool,SDL_GetRenderTextureAddressMode,(SDL_Renderer *a,SDL_Textur
|
|||
SDL_DYNAPI_PROC(SDL_PropertiesID,SDL_GetGPUDeviceProperties,(SDL_GPUDevice *a),(a),return)
|
||||
SDL_DYNAPI_PROC(SDL_Renderer*,SDL_CreateGPURenderer,(SDL_Window *a,SDL_GPUShaderFormat b,SDL_GPUDevice **c),(a,b,c),return)
|
||||
SDL_DYNAPI_PROC(bool,SDL_PutAudioStreamPlanarData,(SDL_AudioStream *a,const void * const*b,int c,int d),(a,b,c,d),return)
|
||||
SDL_DYNAPI_PROC(bool,SDL_SetAudioIterationCallbacks,(SDL_AudioDeviceID a,SDL_AudioIterationCallback b,SDL_AudioIterationCallback c,void *d),(a,b,c,d),return)
|
||||
SDL_DYNAPI_PROC(int,SDL_GetEventDescription,(const SDL_Event *a,char *b,int c),(a,b,c),return)
|
||||
SDL_DYNAPI_PROC(bool,SDL_PutAudioStreamDataNoCopy,(SDL_AudioStream *a,const void *b,int c,SDL_AudioStreamDataCompleteCallback d,void *e),(a,b,c,d,e),return)
|
||||
SDL_DYNAPI_PROC(bool,SDL_IsTraySupported,(void),(),return)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue