Re: [PATCH] control, hw, rawmidi: accept control device node as card identifier when opening

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 12.05.09 14:42, Jaroslav Kysela (perex@xxxxxxxx) wrote:

> 
> On Tue, 12 May 2009, Lennart Poettering wrote:
> 
> > With my original patch there are no superfluous opens.
> 
> If application uses more *open() calls from alsa-lib for one card (for 
> example to open ctl handle and pcm handle), it's better to obtain card 
> index at first, because each conversion requires one or more (card id) 
> open/close sequence for control device to get card_info. Providing direct 
> card index eliminates this conversion. It's just suggested optimization.

I think if apps want to open ctl and hw at the same time the most
elegant way would be this:

<snip>
snd_pcm_open(&pcm, "hw:/dev/snd/by-path/yaddayadda", ...);
snd_pcm_info(pcm, &info);
snd_ctl_open(&ctl, snprint("hw:%i", snd_pcm_info_get_card(info)));
</snip>

With my patch that costs exactly two open() calls. It's also more
flexible since it will handle arbitrary device strings, doesn't need
to hardcode "hw:".

You seem to suggest this:

<snip>
i = snd_card_index("hw:/dev/snd/by-path/yaddayadda");
snd_hw_open(&hw, snprint("hw:%i", i));
snd_ctl_open(&ctl, snprint("hw:%i", i));
</snip>

Which your patch that costs three open()s. And hardcodes "hw". 

I really would like to know why my patch was so bad?

Lennart

-- 
Lennart Poettering                        Red Hat, Inc.
lennart [at] poettering [dot] net
http://0pointer.net/lennart/           GnuPG 0x1A015CC4
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux