2014-03-13, 08:36
(2014-02-28, 09:10)fritsch Wrote:Quote:For these reasons, I ask: is it possible to perform an output channel override/hack (in a config file somewhere) that will change ActiveAE behaviour only in the event of 4.0/4.1 input channels ? And use the native sample rate as found in the file ?
No.
Been trying to work with the advice offered last week (ie: switch to Fixed Audio Output), and if I had a dollar for every time I've been to the Settings screens, well... I could buy some really fancy A/V gear !
But seriously, I think I've asked the wrong question above. Better stated:
Request: Can you please change the xbmc audio output behaviour for 4.0/4.1 PCM audio, to match the current behaviour for 3.0 PCM.
That's all... just do the same thing as you do with 3.0 audio.
This should close the loophole which many/most HDMI-equipped ARVs now suffer: PCM audio over HDMI is either 2-CH, or movie-style 5.1/7.1-CH, and other configs are not recognized. We need to send 4.0/4.1 in a 5.1 "wrapper".
xbmc does this today with 3.0 audio, as seen in the following log excerpt:
Code:
INFO: CActiveAESink::OpenSink - initialize sink
DEBUG: CActiveAESink::OpenSink - trying to open device ALSA:hdmi:CARD=PCH,DEV=1
DEBUG: CAESinkALSA::GetChannelLayout - Input Channel Count: 3 Output Channel Count: 5
DEBUG: CAESinkALSA::GetChannelLayout - Requested Layout: FL,FR,FC
DEBUG: CAESinkALSA::GetChannelLayout - Got Layout: FL,FR,BL,BR,FC
INFO: CAESinkALSA::Initialize - Attempting to open device "hdmi:CARD=PCH,DEV=1"
INFO: CAESinkALSA::Initialize - Opened device "hdmi:CARD=PCH,DEV=1,AES0=0x04,AES1=0x82,AES2=0x00,AES3=0x0a"
INFO: CAESinkALSA::InitializeHW - Your hardware does not support AE_FMT_FLOAT, trying other formats
INFO: CAESinkALSA::InitializeHW - Using data format AE_FMT_S32NE
DEBUG: CAESinkALSA::InitializeHW - Request: periodSize 682, bufferSize 2730
DEBUG: CAESinkALSA::InitializeHW - Got: periodSize 910, bufferSize 2730
DEBUG: CAESinkALSA::InitializeHW - Setting timeout to 29 ms
DEBUG: CAESinkALSA::GetChannelLayout - Input Channel Count: 3 Output Channel Count: 6
DEBUG: CAESinkALSA::GetChannelLayout - Requested Layout: FL,FR,FC
DEBUG: CAESinkALSA::GetChannelLayout - Got Layout: FL,FR,BL,BR,FC,LFE
DEBUG: CActiveAESink::OpenSink - ALSA Initialized:
DEBUG: Output Device : HDA Intel PCH
DEBUG: Sample Rate : 96000
DEBUG: Sample Format : AE_FMT_S32NE
DEBUG: Channel Count : 6
DEBUG: Channel Layout: FL,FR,BL,BR,FC,LFE
DEBUG: Frames : 910
DEBUG: Frame Samples : 5460
DEBUG: Frame Size : 24
The change/fix seems simple enough to me (who has no insight into xbmc audio internals), when you get 4.0/4.1, do what you already do with 3.0 - wrap it.
Am I missing some fatal flaw in this approach ?
Thank you again, for the huge effort in building the ActiveAE engine - I hope this observation will lead to making xbmc just a little more effective as a one-stop media center solution.
Cheers,
Grant