Multichannel audio incorrectly mapped

Thank you @Brozzie @swrobel @Chillbo for the feedback (and patience). There are a few variables here but as I understand it:

  1. All channels were mapped as expected (number and layout) prior to 2017.06-1 upgrade.
  2. After 2017.06-1 (early July) they weren’t
  3. Changing the AML-M8AUDIO.conf to the version posted above by Sam (2b2b23d) corrects this
  4. Brozzie confirms it doesn’t break passthrough, BUT
  5. Vero is sending all 8 channels through HDMI even if only 6 or 2 are present in the signal, thus fooling AVRs (reported by Brozzie and Wuschel but not by swrobel)
  6. channel mapping is wrong only when sending a 5.1 signal over 8 channels
  7. The fix Sam posted here didn’t work: Multichannel (non-passthrough) surround sound stopped working after June update - #40 by sam_nazarko

Everyone so far seems to be using Best Match or Optimised.

There does seem to be a bug in the drivers which I’m trying to track down. It may have nothing to do with this issue but while I’m in there I’ll use your feedback to see if I can see what’s going on.

I cannot comment on that, because I haven’t tested that…

Yep!

I do, too!

There’s an inconsistent observation here - sry to point that out: 2 channel PCM sources are always passed as a stereo signal! Only PCM sources with more than two channels are only sent to the receiver with the channel layout set under settings/audio/HDMI - 7.1 for all of us here in the thread.

Never tested that fix after others already posted that it’s not working and because I was on vacation during that time…

So, @grahamh, you’re saying that this should actually already work and you’re saying that it’s not clear why it isn’t? Or is there no implementation of true-to-source-channel playback of PCM files yet (except the distinction between stereo and multichannel PCM)?

Hi Graham. On point 6, channel mapping being incorrect.

Media info on a 5.1 file is Front: L C R, Side: L R, LFE

But displayed in Vero as FL,FR,FC,LFE,BL,BR. But then BL and BR do come out of what would correctly be my Surround left and rights.

On a 7.1 source, surrounds and back surrounds seem to be labelled Visa Vera’s too, but are still coming out of the correct speakers.

7.1 shows as FL,FR,FC,LFE,BL,BR,SL,SR on the Vero

OK, thanks. It was something Sam said above which I took at face value.[quote=“Chillbo, post:66, topic:37846”]
you’re saying that this should actually already work and you’re saying that it’s not clear why it isn’t
[/quote]

Well, it’s not clear to me yet, but I’m just a hacker trying to help out.

Right. So there’s actually no problem with channel mapping, only your receiver is not getting the opportunity to upmix to 7.1

Because 5.1 is being sent as 7.1

The “basic” channel mapping is correct now, but 5.1 mapped to 5.1+2 blank channels is not perfect mapping. So, the advanced mapping: 2.0->2.0, 5.1->5.1, 7.1->7.1 is not working as expected, but only like this: 2.0->2.0, 5.1->7.1, 7.1->7.1… So, the mapping is better now, but still flawed.

That would be my conclusion for the moment. :wink:

1 Like

Hi guys,

Thanks for the feedback. I’m currently travelling a few days but will be looking on the forums periodically.

@Brozzie I spoke to @fritsch_xbmc today, and he says that he wants to see OpenSink debug lines from the log so that we can see further details. Unfortunately your Kodi log is still not a debug log. You can turn on debug logging here: http://kodi.wiki/view/Log_file/Advanced.

Sam

Apologies Sam, thankfully it’s been a while since I had to create debug logs - forgotten how. There are OpenSink entries in this one.

Http://paste.osmc.tv/polavujano

Regards.

23:31:51.328 T:4074763248    INFO: CActiveAESink::OpenSink - initialize sink
23:31:51.328 T:4074763248   DEBUG: CActiveAESink::OpenSink - trying to open device ALSA:hdmi:CARD=AMLM8AUDIO,DEV=0
23:31:51.328 T:4074763248    INFO: CAESinkALSA::Initialize - Attempting to open device "@:CARD=AMLM8AUDIO,DEV=0"
23:31:51.332 T:4074763248    INFO: CAESinkALSA::Initialize - Opened device "sysdefault:CARD=AMLM8AUDIO"
23:31:51.333 T:4074763248    INFO: CAESinkALSA::InitializeHW - Your hardware does not support AE_FMT_FLOAT, trying other formats
23:31:51.334 T:4074763248    INFO: CAESinkALSA::InitializeHW - Using data format AE_FMT_S32NE
23:31:51.334 T:4074763248   DEBUG: CAESinkALSA::InitializeHW - Request: periodSize 4096, bufferSize 16384
23:31:51.335 T:4074763248   DEBUG: CAESinkALSA::InitializeHW - Got: periodSize 4096, bufferSize 16384
23:31:51.335 T:4074763248   DEBUG: CAESinkALSA::InitializeHW - Setting timeout to 372 ms
23:31:51.335 T:4074763248   DEBUG: CAESinkALSA::GetChannelLayout - Input Channel Count: 2 Output Channel Count: 2
23:31:51.339 T:4074763248   DEBUG: CAESinkALSA::GetChannelLayout - Requested Layout: FL,FR
23:31:51.339 T:4074763248   DEBUG: CAESinkALSA::GetChannelLayout - Got Layout: FL,FR (ALSA: none)
23:31:51.339 T:4074763248   DEBUG: CActiveAESink::OpenSink - ALSA Initialized:
23:31:51.339 T:4074763248   DEBUG:   Output Device : AML-M8AUDIO
23:31:51.339 T:4074763248   DEBUG:   Sample Rate   : 44100
23:31:51.339 T:4074763248   DEBUG:   Sample Format : AE_FMT_S32NE
23:31:51.339 T:4074763248   DEBUG:   Channel Count : 2
23:31:51.339 T:4074763248   DEBUG:   Channel Layout: FL,FR
23:31:51.339 T:4074763248   DEBUG:   Frames        : 4096
23:31:51.339 T:4074763248   DEBUG:   Frame Size    : 8

Thanks a lot. It looks OK.

But because @Chillbo says:

I don’t think it’s going to show us the problem. You seem to be playing a stereo track.
If anyone can chime in with logs of 5.1 output as 7.1 it would be helpful

Thanks

Sam

Hi Sam, I was definitely trying to open a 5.1 stream

Your episode of Narcos was the last one I saw, and it only had 2 channels.

I see you also tried to play Central Intelligence 2016 now. Was that the film with the 5.1 track?

I think:

23:33:20.232 T:4074763248    INFO: CAESinkALSA::Initialize - Attempting to open device "@:CARD=AMLM8AUDIO,DEV=0"
23:33:20.240 T:4074763248    INFO: CAESinkALSA - Unable to open device "surround51:CARD=AMLM8AUDIO,DEV=0" for playback
23:33:20.240 T:4074763248    INFO: CAESinkALSA - Unable to open device "surround71:CARD=AMLM8AUDIO,DEV=0" for playback
23:33:20.242 T:4074763248    INFO: CAESinkALSA::Initialize - Opened device "sysdefault:CARD=AMLM8AUDIO"
23:33:20.248 T:4074763248    INFO: CAESinkALSA::InitializeHW - Your hardware does not support AE_FMT_FLOAT, trying other formats
23:33:20.248 T:4074763248    INFO: CAESinkALSA::InitializeHW - Using data format AE_FMT_S32NE
23:33:20.248 T:4074763248   DEBUG: CAESinkALSA::InitializeHW - Request: periodSize 2048, bufferSize 16384
23:33:20.278 T:4074763248   DEBUG: CAESinkALSA::InitializeHW - Got: periodSize 2048, bufferSize 16384
23:33:20.278 T:4074763248   DEBUG: CAESinkALSA::InitializeHW - Setting timeout to 342 ms
23:33:20.279 T:4074763248   DEBUG: CAESinkALSA::GetChannelLayout - Input Channel Count: 6 Output Channel Count: 8
23:33:20.279 T:4074763248   DEBUG: CAESinkALSA::GetChannelLayout - Requested Layout: FL,FR,FC,LFE,BL,BR
23:33:20.279 T:4074763248   DEBUG: CAESinkALSA::GetChannelLayout - Got Layout: FL,FR,LFE,FC,BL,BR,UNKNOWN1,UNKNOWN1 (ALSA: FL FR LFE FC RL RR NA NA)
23:33:20.279 T:4074763248   DEBUG: CActiveAESink::OpenSink - ALSA Initialized:
23:33:20.280 T:4074763248   DEBUG:   Output Device : AML-M8AUDIO
23:33:20.280 T:4074763248   DEBUG:   Sample Rate   : 48000
23:33:20.280 T:4074763248   DEBUG:   Sample Format : AE_FMT_S32NE
23:33:20.280 T:4074763248   DEBUG:   Channel Count : 8
23:33:20.280 T:4074763248   DEBUG:   Channel Layout: FL,FR,LFE,FC,BL,BR,UNKNOWN1,UNKNOWN1
23:33:20.280 T:4074763248   DEBUG:   Frames        : 2048
23:33:20.280 T:4074763248   DEBUG:   Frame Size    : 32

show the crucial lines.

Sam

I’m not sure why you would want to do this though. It can be argued that it’s beneficial for music (ProLogic) but not for movies.

I’ll see what can be done. In the interim, I will push the fix for channel mapping in the next stable update.

Sam

Yes Sam, that was the file.

When it says my hardware does not support AE_FMT_FLOAT, is that the Vero or my AVR?

I also see it’s adding 2 channels to the GOT layout for some reason.

It’s an Auto Surround feature on my receiver that I like to enable to fill my back surrounds, when they are not been used by files with 7.1 audio.

Honestly, one can argue as well: Why would one want the Vero 4k to send sound channels that simply don’t exist?
I’d just very much like my Vero to play exactly what I feed it with… And not have it alter the channel layout. :wink:

And for me, we’re talking about music here that is being sent as surround PCM to the receiver.

2 Likes

Well, I understand where you are coming from and I’m not giving up.

1 Like

So are eight channels being opened when you expect Vero 4K to open two?

Sam

No, but 8 are opened when I expect 6 to be opened. I’d like 2 opened when I expect 2, 6 when I expect 6 and 8 when I expect 8…
For me it’s like this atm: 2.0->2.0, 5.1->7.1, 7.1->7.1. And I don’t know yet what the Vero makes out of 3 channel music or quadrophonic music files. I guess it would pass those as 7.1, too :wink:

@sam_nazarko didn’t see anything in the September release notes. Safe to update?

Fix an issue where multi-channel audio would not be output correctly on Vero 4K

Should be