On Sun, 3 Sep 2017, at 04:27 PM, Tanu Kaskinen wrote: > On Sun, 2017-09-03 at 11:32 +0530, Arun Raghavan wrote: > > On Tue, 29 Aug 2017, at 04:19 AM, Pierre-Louis Bossart wrote: > > > A race condition prevents the AES non-audio bit from being set > > > when enabling IEC61937 passthrough on resume with no sink-input > > > connected (pa_sink_is_passthrough returns false). The non-audio > > > bit should really be set when opening the sink. > > > > > > Force the sink to suspend/resume when actually entering passthrough > > > mode, and likewise force a suspend-resume on leaving passthrough mode. > > > > > > Tested with E-AC3 streams which do need the AES bit set for my > > > Onkyon receiver to detect the format instead of playing it as > > > PCM. > > > > > > Signed-off-by: Pierre-Louis Bossart > > > <pierre-louis.bossart at linux.intel.com> > > > --- > > > > Looks good. Pushed to next. > > I propose reverting this. In the off-list discussion we've been having, > I raised a concern regarding the approach used here. I'll copy the > relevant text here: > > Reopening the device again in pa_sink_enter_passthrough() like you > do in your patch may seem like a simple workaround, but it's only > simple because you're ignoring the case where pa_sink_suspend() > fails. I would guess that suspending can never fail (I didn't > check), but unsuspending definitely can. I don't think it's a good > idea to ignore failures, but not ignoring the failure also means > that pa_sink_input_put() should fail, and currently that function > can't fail, and changing that is not simple. > > The bug about setting the AES bit can be fixed by moving the > pa_sink_update_rate() to happen a bit later, after the sink input has > been added to pa_sink.inputs. As we discussed, pa_sink_input_rate() > will then have to be called every time when entering or leaving the > passthrough mode, even when the sink rate doesn't have to be changed. I'm working on a patch to replace update_rate() with reconfigure(). In this, I force reconfigure to happen when either rate or passthrough status changes. Should be able to send this out soon. -- Arun