[alsa-devel] Correct use of ak4114.c?

Takashi Iwai tiwai at suse.de
Mon Apr 2 11:55:13 CEST 2007


At Mon, 02 Apr 2007 11:52:45 +0200 (CEST),
dustin at seznam.cz wrote:
> 
> >  > Uff, that is a lot of background knowledge. Would it be possible to
> >  > put this explanation into ice1724.c code? It would definitely help
> >  > newcomers. Thanks a lot. 
> >  
> >  A patch is welcome ;)
> 
> Sure, I will make one.
>   
> >  Then the problem is that it passed the playback substream to
> >  snd_ak4114_build().  I guess passing NULL there instead should work.
> 
> Sounds like a perfectly simple solution. I am just wondering if the following code in ak4114.c is correct:
> 
> if (!strstr(kctl->id.name, "Playback")) {
> 	if (ply_substream == NULL) {
> 		snd_ctl_free_one(kctl);
> 		ak4114->kctls[idx] = NULL;
> 		continue;
> 	}
> 	kctl->id.device = ply_substream->pcm->device;
> 	kctl->id.subdevice = ply_substream->number;
> } else {
> 	kctl->id.device = cap_substream->pcm->device;
> 	kctl->id.subdevice = cap_substream->number;
> }
> 
> If control name does NOT contain "Playback", playback stream is
> used. Should not be the check reversed?

Yeah, obviously.  Thanks for pointing out.


Takashi


More information about the Alsa-devel mailing list