Commit 883e31d5 authored by Max Kellermann's avatar Max Kellermann

mvp: moved code to mvp_find_sample_rate()

Moved the table lookup code to a separate function.
parent b4c65cac
...@@ -83,6 +83,21 @@ static const unsigned mvp_sample_rates[][3] = { ...@@ -83,6 +83,21 @@ static const unsigned mvp_sample_rates[][3] = {
{15, 96000, 48000} {15, 96000, 48000}
}; };
/**
* Translate a sample rate to a MVP sample rate.
*
* @param sample_rate the sample rate in Hz
*/
static unsigned
mvp_find_sample_rate(unsigned sample_rate)
{
for (unsigned i = 0; i < G_N_ELEMENTS(mvp_sample_rates); ++i)
if (mvp_sample_rates[i][1] == sample_rate)
return mvp_sample_rates[i][0];
return (unsigned)-1;
}
static bool static bool
mvp_output_test_default_device(void) mvp_output_test_default_device(void)
{ {
...@@ -121,7 +136,6 @@ mvp_output_finish(void *data) ...@@ -121,7 +136,6 @@ mvp_output_finish(void *data)
static bool static bool
mvp_set_pcm_params(struct mvp_data *md, struct audio_format *audio_format) mvp_set_pcm_params(struct mvp_data *md, struct audio_format *audio_format)
{ {
unsigned iloop;
unsigned mix[5]; unsigned mix[5];
switch (audio_format->channels) { switch (audio_format->channels) {
...@@ -165,14 +179,8 @@ mvp_set_pcm_params(struct mvp_data *md, struct audio_format *audio_format) ...@@ -165,14 +179,8 @@ mvp_set_pcm_params(struct mvp_data *md, struct audio_format *audio_format)
/* /*
* if there is an exact match for the frequency, use it. * if there is an exact match for the frequency, use it.
*/ */
for (iloop = 0; iloop < G_N_ELEMENTS(mvp_sample_rates); iloop++) { mix[2] = mvp_find_sample_rate(audio_format->sample_rate);
if (audio_format->sample_rate == mvp_sample_rates[iloop][1]) { if (mix[2] == (unsigned)-1) {
mix[2] = mvp_sample_rates[iloop][0];
break;
}
}
if (iloop >= G_N_ELEMENTS(mvp_sample_rates)) {
g_warning("Can not find suitable output frequency for %u\n", g_warning("Can not find suitable output frequency for %u\n",
audio_format->sample_rate); audio_format->sample_rate);
return false; return false;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment