Renamed AudioStreamSpeed to AudioStreamFrequencyRatio
This commit is contained in:
@@ -1063,7 +1063,7 @@ static int GetAudioSpecFrameSize(const SDL_AudioSpec* spec)
|
||||
|
||||
static Sint64 GetStreamResampleRate(SDL_AudioStream* stream, int src_freq)
|
||||
{
|
||||
src_freq = (int)((float)src_freq * stream->speed);
|
||||
src_freq = (int)((float)src_freq * stream->freq_ratio);
|
||||
|
||||
return GetResampleRate(src_freq, stream->dst_spec.freq);
|
||||
}
|
||||
@@ -1101,7 +1101,7 @@ SDL_AudioStream *SDL_CreateAudioStream(const SDL_AudioSpec *src_spec, const SDL_
|
||||
return NULL;
|
||||
}
|
||||
|
||||
retval->speed = 1.0f;
|
||||
retval->freq_ratio = 1.0f;
|
||||
retval->queue = CreateAudioQueue(4096);
|
||||
retval->track_changed = SDL_TRUE;
|
||||
|
||||
@@ -1242,7 +1242,7 @@ int SDL_SetAudioStreamFormat(SDL_AudioStream *stream, const SDL_AudioSpec *src_s
|
||||
return 0;
|
||||
}
|
||||
|
||||
float SDL_GetAudioStreamSpeed(SDL_AudioStream *stream)
|
||||
float SDL_GetAudioStreamFrequencyRatio(SDL_AudioStream *stream)
|
||||
{
|
||||
if (!stream) {
|
||||
SDL_InvalidParamError("stream");
|
||||
@@ -1250,30 +1250,30 @@ float SDL_GetAudioStreamSpeed(SDL_AudioStream *stream)
|
||||
}
|
||||
|
||||
SDL_LockMutex(stream->lock);
|
||||
float speed = stream->speed;
|
||||
float freq_ratio = stream->freq_ratio;
|
||||
SDL_UnlockMutex(stream->lock);
|
||||
|
||||
return speed;
|
||||
return freq_ratio;
|
||||
}
|
||||
|
||||
int SDL_SetAudioStreamSpeed(SDL_AudioStream *stream, float speed)
|
||||
int SDL_SetAudioStreamFrequencyRatio(SDL_AudioStream *stream, float freq_ratio)
|
||||
{
|
||||
if (!stream) {
|
||||
return SDL_InvalidParamError("stream");
|
||||
}
|
||||
|
||||
// Picked mostly arbitrarily.
|
||||
static const float min_speed = 0.01f;
|
||||
static const float max_speed = 100.0f;
|
||||
static const float min_freq_ratio = 0.01f;
|
||||
static const float max_freq_ratio = 100.0f;
|
||||
|
||||
if (speed < min_speed) {
|
||||
return SDL_SetError("Speed is too low");
|
||||
} else if (speed > max_speed) {
|
||||
return SDL_SetError("Speed is too high");
|
||||
if (freq_ratio < min_freq_ratio) {
|
||||
return SDL_SetError("Frequency ratio is too low");
|
||||
} else if (freq_ratio > max_freq_ratio) {
|
||||
return SDL_SetError("Frequency ratio is too high");
|
||||
}
|
||||
|
||||
SDL_LockMutex(stream->lock);
|
||||
stream->speed = speed;
|
||||
stream->freq_ratio = freq_ratio;
|
||||
SDL_UnlockMutex(stream->lock);
|
||||
|
||||
return 0;
|
||||
|
||||
@@ -170,7 +170,7 @@ struct SDL_AudioStream
|
||||
|
||||
SDL_AudioSpec src_spec;
|
||||
SDL_AudioSpec dst_spec;
|
||||
float speed;
|
||||
float freq_ratio;
|
||||
|
||||
SDL_AudioQueue* queue;
|
||||
|
||||
|
||||
@@ -902,8 +902,8 @@ SDL3_0.0.0 {
|
||||
SDL_WriteS64BE;
|
||||
SDL_GDKGetDefaultUser;
|
||||
SDL_SetWindowFocusable;
|
||||
SDL_GetAudioStreamSpeed;
|
||||
SDL_SetAudioStreamSpeed;
|
||||
SDL_GetAudioStreamFrequencyRatio;
|
||||
SDL_SetAudioStreamFrequencyRatio;
|
||||
# extra symbols go here (don't modify this line)
|
||||
local: *;
|
||||
};
|
||||
|
||||
@@ -927,5 +927,5 @@
|
||||
#define SDL_WriteS64BE SDL_WriteS64BE_REAL
|
||||
#define SDL_GDKGetDefaultUser SDL_GDKGetDefaultUser_REAL
|
||||
#define SDL_SetWindowFocusable SDL_SetWindowFocusable_REAL
|
||||
#define SDL_GetAudioStreamSpeed SDL_GetAudioStreamSpeed_REAL
|
||||
#define SDL_SetAudioStreamSpeed SDL_SetAudioStreamSpeed_REAL
|
||||
#define SDL_GetAudioStreamFrequencyRatio SDL_GetAudioStreamFrequencyRatio_REAL
|
||||
#define SDL_SetAudioStreamFrequencyRatio SDL_SetAudioStreamFrequencyRatio_REAL
|
||||
|
||||
@@ -973,5 +973,5 @@ SDL_DYNAPI_PROC(SDL_bool,SDL_WriteS64BE,(SDL_RWops *a, Sint64 b),(a,b),return)
|
||||
SDL_DYNAPI_PROC(int,SDL_GDKGetDefaultUser,(XUserHandle *a),(a),return)
|
||||
#endif
|
||||
SDL_DYNAPI_PROC(int,SDL_SetWindowFocusable,(SDL_Window *a, SDL_bool b),(a,b),return)
|
||||
SDL_DYNAPI_PROC(float,SDL_GetAudioStreamSpeed,(SDL_AudioStream *a),(a),return)
|
||||
SDL_DYNAPI_PROC(int,SDL_SetAudioStreamSpeed,(SDL_AudioStream *a, float b),(a,b),return)
|
||||
SDL_DYNAPI_PROC(float,SDL_GetAudioStreamFrequencyRatio,(SDL_AudioStream *a),(a),return)
|
||||
SDL_DYNAPI_PROC(int,SDL_SetAudioStreamFrequencyRatio,(SDL_AudioStream *a, float b),(a,b),return)
|
||||
|
||||
Reference in New Issue
Block a user