[pulseaudio-discuss] [RFC PATCH 2/3] alsa: Allow "fallback" configuration for mappings and profiles
Tanu Kaskinen
tanu.kaskinen at linux.intel.com
Tue Jul 29 02:07:52 PDT 2014
On Tue, 2014-07-29 at 11:57 +0300, Tanu Kaskinen wrote:
> On Fri, 2014-07-25 at 15:31 +0200, David Henningsson wrote:
> > @@ -4337,6 +4370,8 @@ void pa_alsa_profile_set_probe(
> > unsigned default_fragment_size_msec) {
> >
> > void *state;
> > + bool tryfallback = false;
> > + int profilesfound = 0;
> > pa_alsa_profile *p, *last = NULL;
> > pa_alsa_mapping *m;
> > pa_hashmap *broken_inputs, *broken_outputs, *used_paths;
> > @@ -4352,9 +4387,13 @@ void pa_alsa_profile_set_probe(
> > broken_outputs = pa_hashmap_new(pa_idxset_trivial_hash_func, pa_idxset_trivial_compare_func);
> > used_paths = pa_hashmap_new(pa_idxset_trivial_hash_func, pa_idxset_trivial_compare_func);
> >
> > +again:
>
> Alexander already complained about the goto, and you said that you
> probably will anyway need to improve this code. You didn't say how you
> plan to improve it, so here's my suggestion:
>
> When you encounter a fallback profile, add it to a temporary dynarray.
> Then after the first loop is finished, and no supported profiles have
> been found, loop over the dynarray that has the fallback profiles. That
> way the goto is avoided, and probing non-fallback profiles twice is
> avoided too.
Sorry, I realized that your patch already avoids probing non-fallback
profiles twice, so that was a moot point.
--
Tanu
More information about the pulseaudio-discuss
mailing list