Thread (52 messages) 52 messages, 5 authors, 2014-12-02

Re: [alsa-devel] [PATCH v7.1 00/19] Rework OMAP4+ HDMI audio support

From: Jean-Francois Moine <hidden>
Date: 2014-11-14 10:59:16
Also in: alsa-devel, linux-omap

On Thu, 13 Nov 2014 17:44:38 +0200
Tomi Valkeinen [off-list ref] wrote:
	[snip]
quoted
quoted
a) Always keep the audio device operational, no matter what is the
status of the video side. How should this work if the HDMI videomode or
the HDMI monitor does not support audio? Is it desirable that the
userspace has no idea that the audio is not actually going anywhere?

b) Remove the audio device when audio support is not available. This
kind of makes sense, as, well, there's no possibility for audio output.
But maybe this is not how linux sound devices are supposed to behave?

c) Return errors when playback is attempted when audio support is not
available. Again, this kind of makes sense, as audio playback is not
possible. But maybe this is also not how audio devices generally work.

Jyri, were there some other options we discussed?

Currently, the OMAP HDMI version does c). It's the easiest solution for us.  
Same for me, but checking the audio capability is done on audio streaming
start only.  
Hmm, I understood you have option a)? You said "I even let audio
streaming start when the HDMI cable is
disconnected".
The option a) is the one of the patch, but I am moving towards option c).
With "audio support is not available" I mean also the case when the
cable is not connected, as then we don't have EDID information, and thus
we don't have a HDMI monitor with audio support on the other end.
What I was saying is: when the cable is connected, all audio/video
parameters are known. Then, when the cable is disconnected, there is
no reason, a priori, to change these parameters, and audio/video
streaming may continue. The problem might be raised later when an other
monitor with different parameters will be connected.
So to clarify, our driver only has "audio support available" if:
- we successfully read EDID
- EDID shows it's a HDMI monitor
- EDID shows it has audio support for the format we support (this we
don't actually do yet)

Otherwise we default to DVI, which means no audio.

If, at any point, the situation changes to "no audio support available",
the audio playback is aborted and starting new audio playback fails.
	[snip]

So, to summarize, you need the information 'audio support available' on
the audio side.

It should not be difficult to export a function in the generic HDMI
driver for this job. This function would have the following arguments:

- device (child device of the HDMI transmitter)
- pin (output widget name)
- status (enable/disable)

and would:

- set the pin status so that the HDMI output would be included or not
  in the audio path, and

- abort audio streaming on disabling audio.

-- 
Ken ar c'hentañ	|	      ** Breizh ha Linux atav! **
Jef		|		http://moinejf.free.fr/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help