On 03/07/2016 07:16 AM, Shuah Khan wrote:
On 03/05/2016 03:00 AM, Mauro Carvalho Chehab wrote:
Em Wed, 2 Mar 2016 09:50:31 -0700 Shuah Khan shuahkh@osg.samsung.com escreveu:
Change ALSA driver to use Media Controller API to share media resources with DVB and V4L2 drivers on a AU0828 media device. Media Controller specific initialization is done after sound card is registered. ALSA creates Media interface and entity function graph nodes for Control, Mixer, PCM Playback, and PCM Capture devices.
snd_usb_hw_params() will call Media Controller enable source handler interface to request the media resource. If resource request is granted, it will release it from snd_usb_hw_free(). If resource is busy, -EBUSY is returned.
Media specific cleanup is done in usb_audio_disconnect().
Signed-off-by: Shuah Khan shuahkh@osg.samsung.com Acked-by: Takashi Iwai tiwai@suse.de
Shuah, by looking at the produced graphs: https://mchehab.fedorapeople.org/mc-next-gen/au0828_test/
I'm noticing the lack of ALSA I/O entities in the diagram (MEDIA_ENT_F_AUDIO_CAPTURE). The mixer there is not connected.
Could you please check what's happening?
Mauro,
Did you pull in this patch that fixes the graph problem:
https://www.mail-archive.com/linux-media@vger.kernel.org/msg95047.html
If you haven't, could you please pull this in.
You do have the above patch in the latest linux_media git. I couldn't reproduce the problem you are seeing.
Here is what I did. - Blacklisted au0828 and forcing snd_usb_audio probe first. Then I generated a graph that shows just the audio nodes. - And then did a modprobe and generated full graph.
https://drive.google.com/folderview?id=0B0NIL0BQg-AlejFpR19Cb1RGYVk&usp=...
I see that in you graph, mixer gets connected to decoder, but the rest of the audio nodes are missing from the graph.
MEDIA_ENT_F_AUDIO_CAPTURE gets created from snd_usb_pcm_open() and gets deleted from free_substream(). Is it possible, for some reason, either snd_usb_pcm_open() fails or free_substream() is called?
thanks, -- Shuah