On Thu, Nov 05, 2009 at 05:06:22PM +0800, David Härdeman wrote:
On Thu, November 5, 2009 08:47, Wu Fengguang wrote:
On Thu, Nov 05, 2009 at 08:46:55AM +0800, David wrote:
Currently doing some testing with sticky stream id and format.
Could you test the attached patch (applies to alsa git repo, without your patchset) and see if you get the initial 0.5s silence with your receiver?
Yes it worked!
Worked as in you get no 0.5s of initial silence? Or worked as in you at least got some audio and the computer didn't crash? :)
no 0.5s :)
However something is broken when
CONFIG_SND_HDA_POWER_SAVE=y CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1
In the above config, you need to restart playback within 1s to avoid losing the first 0.5s samples. (Otherwise power save will kick in.)
I was kind of expecting my patch to break both power save and suspend/resume given that it expects the stream format and id to survive from pcm_close to pcm_prepare (which they probably won't if power saving
Don't worry, I fixed that in my implementation :)
and/or resume/suspend kicks in). Power save also seems to mess up some other parts of the driver even without my patch (haven't really looked into that yet...power save might be tricky with HDMI from what I've seen so far).
Yes, HDMI power save is inherently not possible given that the sink devices have the more than 1s delays..
The patch was just a test case to see if it was enough to fix the 0.5s silence on receivers which are less picky than mine (it still doesn't fix the 0.5s silence on my receiver but it fixes the silence-for-the-duration-of-a-track problem).
Next up, more testing with VCFG when I have more time. I have actually tried setting that bit but it didn't change anything. Comments in setup_dig_out_stream from hda_codec.c seems to suggest that it's a bit more complex than just setting the right bit.
No worry, I guess that's realtek specific problem (spdif_status_reset is only set by it).
Attached is my updated patchset, which includes the sticky stream/infoframe features.
Thanks, I'll take a look at it as soon as possible.
Thanks, Fengguang