mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-04 13:30:12 -05:00
parent
318bb0b442
commit
ca17672871
1 changed files with 10 additions and 6 deletions
|
|
@ -686,11 +686,15 @@ static float *read_closest(char **filenames, float gain, int delay, int offset,
|
||||||
|
|
||||||
int diff = INT_MAX;
|
int diff = INT_MAX;
|
||||||
uint32_t best = 0, i;
|
uint32_t best = 0, i;
|
||||||
|
float *samples = NULL;
|
||||||
|
|
||||||
for (i = 0; i < MAX_RATES && filenames[i] && filenames[i][0]; i++) {
|
for (i = 0; i < MAX_RATES && filenames[i] && filenames[i][0]; i++) {
|
||||||
fs[i] = sf_open(filenames[i], SFM_READ, &infos[i]);
|
fs[i] = sf_open(filenames[i], SFM_READ, &infos[i]);
|
||||||
if (!fs[i])
|
if (!fs[i]) {
|
||||||
|
pw_log_error("Can't open file %s: %s", filenames[i],
|
||||||
|
sf_strerror(fs[i]));
|
||||||
continue;
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (labs((long)infos[i].samplerate - (long)*rate) < diff) {
|
if (labs((long)infos[i].samplerate - (long)*rate) < diff) {
|
||||||
best = i;
|
best = i;
|
||||||
|
|
@ -698,11 +702,11 @@ static float *read_closest(char **filenames, float gain, int delay, int offset,
|
||||||
pw_log_debug("new closest match: %d", infos[i].samplerate);
|
pw_log_debug("new closest match: %d", infos[i].samplerate);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (fs[best] != NULL) {
|
||||||
pw_log_info("loading best rate:%u %s", infos[best].samplerate, filenames[best]);
|
pw_log_info("loading best rate:%u %s", infos[best].samplerate, filenames[best]);
|
||||||
float *samples = read_samples_from_sf(fs[best], infos[best], gain, delay,
|
samples = read_samples_from_sf(fs[best], infos[best], gain, delay,
|
||||||
offset, length, channel, rate, n_samples);
|
offset, length, channel, rate, n_samples);
|
||||||
|
}
|
||||||
for (i = 0; i < MAX_RATES; i++)
|
for (i = 0; i < MAX_RATES; i++)
|
||||||
if (fs[i])
|
if (fs[i])
|
||||||
sf_close(fs[i]);
|
sf_close(fs[i]);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue