ASoC: TWL4030: Fix for the constraint handling
authorPeter Ujfalusi <peter.ujfalusi@nokia.com>
Fri, 17 Apr 2009 12:55:08 +0000 (15:55 +0300)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Fri, 17 Apr 2009 15:02:23 +0000 (16:02 +0100)
commit6b87a91f5417226c7fe62100b0e7217e7096b789
tree4982bad86c6346c014028806a0bdc3989fde688d
parent8d98f2246d7c622198ae0b8ca66f1c82b8a25377
ASoC: TWL4030: Fix for the constraint handling

The original implementation of the constraints were good against sane
applications.
If the opening sequence is:
stream1_open, stream1_hw_params, stream2_open, stream2_hw_params -> the
constraints are set correctly for stream2.

But if the sequence is:
stream1_open, stream2_open, stream2_hw_params, stream1_hw_params -> than stream2
would receive constraint rate = 0, sample_bits = 0, since the stream1 has not
yet called hw_params...

The command to trigger this event:
gst-launch-0.10 alsasrc device=hw:0 ! alsasink device=hw:0 sync=false

This patch does some 'black magic' in order to always set the correct
constraints and sets it only when it is needed for the other stream.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
sound/soc/codecs/twl4030.c