Chromecast XML file edited for AC3 6 Channels, but Chromecast is only recieving DD 2.0

chromecast

#1

Long time reader, first time asker…Maybe this shouldn’t be in this thread, but I notice a bunch of people bringing up problems from the Chromecast update, so here goes.

I used to have this working, and from what I’ve seen here, the last update made a change, where it ignores the XML? Do I understand that right?

My setup is:

Chromecast Ultra — HMDI Audio Extractor ---- TV (HMDI)
…|---- SONOS Playbar (Toslink)

Prior to this update, I would edit the Chromecast XML file to remove codec the Playbar doesn’t support, and set a 6 channel audio limit.

PMS is using the profile I’ve made, I can see in the transcoder that it is converting the audio to AC3, but when I look into the transcoder logs, no matter what I do or change, the Audio Channels is ALWAYS 2. The SONOS recieves a DD 2.0 signal.

If I change the XML back to AAC, the SONOS receives STEREO

Here are the relevant entries in the XML:

VideoProfile protocol=“http” container=“matroska” codec=“h264,h265,hevc” audioCodec=“ac3,mp3” context=“streaming”

VideoProfile container=“mp4” codec=“Hevc,mpeg1video,mpeg2video,h264,mpeg4” audioCodec=“ac3,mp3,mp2”

VideoProfile container=“mkv” codec=“vp9,hevc,h265,mpeg1video,mpeg2video,h264,mpeg4” audioCodec=“ac3,mp3,mp2,pcm,flac,alac” subtitleFormat=“srt,ass”/

UpperBound name=“audio.channels” value=“6”/

And here is the part of the transcoder log I’m seeing:
audioDecision=“transcode” protocol=“http” container=“mkv” videoCodec=“h264” audioCodec=“ac3” audioChannels=“2”

Here is a picture showing the transcoder doing what it’s supposed to be doing:

What is going on here? This used to work just fine.


#2

Hi, if you have right and working audio extractor there are no problem with my attach Chromecast.xml for 5.1 channel at least with AAC 5.1 and AC3 5.1 audio codec. I have same setup of audio extractor and Chromecast. Try my Chromecast.xml.

only difference I don’t have sonos, I have old cheap sony cinema theater with DD/DTS toslink spdif input.

Magic, but my audio extractor with PLEX can contain even some EAC3 (DOLBY DIGITAL PLUS) files to AC3 and transfer it to old CINEMA THEATER without EAC3.

In the appstore you don’t find player with big Chromecast support.

But only problem that channel (plugins) doesn’t work from March, 20 with Chromecast and I can see IPTV via CHROMECAST using PLEX.

Also check EDID management on audio extractor to passthrough or 5.1 sound, but I think EDID doesn’t metter.

But with standart CHROMECAST.XML I had same problem like you. Only 2 channel AC3 audio with AC3 5.1 or AAC 5.1 or some EAC 5.1 sources.


#3

Thanks for uploading your profile. I get the same result though. My audio extractor appears to be working for other devices properly.

audioDecision=“transcode” protocol=“http” container=“mkv” videoCodec=“h264” audioCodec=“ac3” audioChannels=“2”

I had to move AC3 in front of MP3 (because for some reason it defaulted to using the MP3 profile), and remove AAC (Since SONOS doesn’t support that)

It makes no difference if I set my extractor to 5.1 or passthrough, I get the same 2 channel result. So I don’t think that the EDID is causing the problem, since setting the extractor to 5.1 should override anything coming from the TV.

This was not an issue until recently. Exact date it started? Dunno. Just sat down to watch some movies this weekend and thought ‘Huh, that sounds not right’ and stumbled into all this mess.

Another thing to note, even if the file HAS an AC3 6CH audio track, PMS still transcodes it down to 2 channels.

If anyone is interested, I’ve attached the whole profile that I’m using. (the profile I started the day with looked a whole lot like yours though) I pulled a bunch of info off various threads regarding profiles for Ultra, but I don’t see any reason in here why the audio won’t work as 5.1.


#4

Thanks for the info. We hope that hand editing the XML is no longer required since the Chromecast itself should be aware of what can/can’t be played. We’ll look into why this is occurring.


#5

@sgirhiny said:
Thanks for uploading your profile. I get the same result though. My audio extractor appears to be working for other devices properly.

audioDecision=“transcode” protocol=“http” container=“mkv” videoCodec=“h264” audioCodec=“ac3” audioChannels=“2”

I had to move AC3 in front of MP3 (because for some reason it defaulted to using the MP3 profile), and remove AAC (Since SONOS doesn’t support that)

It makes no difference if I set my extractor to 5.1 or passthrough, I get the same 2 channel result. So I don’t think that the EDID is causing the problem, since setting the extractor to 5.1 should override anything coming from the TV.

This was not an issue until recently. Exact date it started? Dunno. Just sat down to watch some movies this weekend and thought ‘Huh, that sounds not right’ and stumbled into all this mess.

Another thing to note, even if the file HAS an AC3 6CH audio track, PMS still transcodes it down to 2 channels.

If anyone is interested, I’ve attached the whole profile that I’m using. (the profile I started the day with looked a whole lot like yours though) I pulled a bunch of info off various threads regarding profiles for Ultra, but I don’t see any reason in here why the audio won’t work as 5.1.

sgirhiny, did you already try my chromecast.xml ?
My chromecast.xml has a very little changes between standart file.

I use Chromecast 2nd generation. Did you have Chromecast 2nd gen also?

Does version of the software on your Chromecast is up to date?

May be your audio extractor differ then my.
Some audio extractor have ARC mode, need to switch it off in this case.

I try to use different EDID and it’s working fine.

If Chromecast playing surround sound after you try to change volume text appears at the ap near Chromecast volume bar on your TV playing your video:

“Surround sound is switch on, you can’t change volume on Chromecast. Please use TV remote control”. Did you see such text on the your tv near volume bar, when you trying to play video with surround sound ?
If you don’t have text - your problem before audio extractor!


#6

@“Dom C” said:
Thanks for the info. We hope that hand editing the XML is no longer required since the Chromecast itself should be aware of what can/can’t be played. We’ll look into why this is occurring.
DOM C, but for now changes in Chromecast.xml is required for AAC 5.1 channel and AC3 6 channel, and EAC3 5.1 channel pass throw to Chromecast at least with audio extractor.

DOM C, your standart Chromecast.xml now is very poor and contain only 2 channel output even it is DD.

So, you can make software visual constructor for such xml setup ( including xml for DLNA) or make all settings inside the clients! But don’t forget about 5.1 sound from Chromecast in passthrow mode, because some of Chromecast users works with audio extractor with optical output to receiver.
As you know optical output doesn’t support AAC 5.1, EAC3 5.1 and LPCM sound and Chromecast need to be played in AC3 passthrough mode as I think.
Chromecast support AC3 and EAC3 only like passthrough, doesn’t it?


#7

DOM C, your standart Chromecast.xml now is very poor and contain only 2 channel output even it is DD.

Direct play decision are made purely on the receiver side. When we do need to DS or transcode, we provide extra capabilities and constraints from the receiver with the assumption it knows best about what it’s plugged into. This is likely not perfect, but feels a better place for these changes.

Chromecast support AC3 and EAC3 only like passthrough, doesn’t it?

I think you posted https://developers.google.com/cast/docs/media already - but yes:

Audio passthrough

  • AC-3 (Dolby® Digital™ audio technology)
  • E-AC-3 (EC-3, Dolby® Digital Plus™ audio technology)

#8

Direct play decision are made purely on the receiver side. When we do need to DS or transcode, we provide extra capabilities and constraints from the receiver with the assumption it knows best about what it’s plugged into. This is likely not perfect, but feels a better place for these changes.

Dom C, of course I know that Chromecast better to set via HDMI to audio receiver or to TV with ARC working with 5.1 sound.

But

  1. My Panasonic TVset can’t made 5.1 passthrow from external HDMI devices. And many TVset in the world also can’t.
  2. My cheap home theater doesn’t have hdmi input, it has only optical input. And many users have same problem. And for know I am not ready to change my home cinema theater to professional 5.1 receiver with new 8 Ohm audio speakers.

So, you can make everything with Chromecast connection throw HDMI, but don’t forget users which want to use 5.1 audio from Chromecast with audio extractors to optical input. For us Plex have to stay Chromecast AC3 passthrow feature, AAC 5.1 to AC3 5.1 feature and EAC3 to AC3 feature and so on. Now your plex is the best from this point of view even with dificult to edit Chromecast.xml

But from DLNA point of view as I told before many TVset beed to change corresponding Xml files and it will be good to make visual constructor to make changes of XML to different devices, for now I see that it is more difficult to make new DLNA for two my tv, which has a problems with DLNA , then modify Chromecast.XML.

So, trancscoding functionality on the fly for Chromecast needed, now we can use Chomecast.XML, I wish that PLEX will not restricted transcoding functionality if even PLEX will not use XML for change settings.


#9

I’m having problems following @Deniska77 - the Chromecast ONLY supports AC3/E-AC3 in passthrough mode - because otherwise Google would have had to pay licenses to Dolby. Passthrough means that the stream is sent directly to the connected equipment - the Chromecast does not decode the stream. In your case the connected equipment is the HDMI extractor, and you do need to rewrite the EDID header because otherwise the TV will tell the Chromecast whether it can support more than stereo, you want the HDMI audio extractor to be the one to tell the Chromecast what it supports.

For what it’s worth, my Chromecast is connected to a Denon surround sound receiver via HDMI, and plays 5.1 channel sound without issues, using an unedited Chromecast.xml profile. If Plex is transcoding to 2 channel sound - then it’s being told that you don’t have more than 2 speakers by the Chromecast. Also note that AAC will be transcoded now by Plex because Google dropped AAC support for all Chromecasts except the Gen1.

All this being said - maybe @“Dom C” should speak to the team about a way for users to debug these issues - maybe in the web interface Plex could tell us what the connected client reports it can support?


#10

@asjmcguireplex said:
I’m having problems following @Deniska77 - the Chromecast ONLY supports AC3/E-AC3 in passthrough mode - because otherwise Google would have had to pay licenses to Dolby. Passthrough means that the stream is sent directly to the connected equipment - the Chromecast does not decode the stream. In your case the connected equipment is the HDMI extractor, and you do need to rewrite the EDID header because otherwise the TV will tell the Chromecast whether it can support more than stereo, you want the HDMI audio extractor to be the one to tell the Chromecast what it supports.

For what it’s worth, my Chromecast is connected to a Denon surround sound receiver via HDMI, and plays 5.1 channel sound without issues, using an unedited Chromecast.xml profile. If Plex is transcoding to 2 channel sound - then it’s being told that you don’t have more than 2 speakers by the Chromecast. Also note that AAC will be transcoded now by Plex because Google dropped AAC support for all Chromecasts except the Gen1.

All this being said - maybe @“Dom C” should speak to the team about a way for users to debug these issues - maybe in the web interface Plex could tell us what the connected client reports it can support?

asjmcguireplex, yes you right

and see my previous attached Chromecast.xml.
I only change maximum channels for all codecs from 2 to 6.


VideoAudioCodec name="*"
Limitations
UpperBound name=“audio.channels” value=“6” /
/Limitations
/VideoAudioCodec


As I understand, Chromecast xml language has a rules for manage EDID (force delete and etc), but we don’t have description of this language.
It is good, that PLEX has many features for all cases.
EDID is not working right in some cases
For example if Chromecast connect to receiver directly - no way to tell to Chromecast that receiver has 2 channels. ok in this case edid is right.
But if Chromecast for example connect to TVset with ARC feature. And TVset connect to 5.1 receiver via ARC, TVset send to Chromecast always 2 channels, because of fool TVset developers!!

and in this cases some times need to manage EDID!!

So, need to full description of CHROMECAST.XML and need from Chromecast.xml manage EDID and setup priority between EDID and TRANSCODING without EDID.

And flexibility for TRANSCODING without see of EDID also can be stay.
Even Audio Extracror help to manage EDID, but it is difficult to understand working audio extractor or not with Chromecast.

I check audio extractor edid with Blu-ray player, but for Chromecast standart audio extractor works strange from EDID point of view


#11

Hello,

here is something similar I’m trying to solve : https://forums.plex.tv/discussion/314967/truehd-7-1audio-passtrough-to-googles-chromecast-ultra#latest

https://productforums.google.com/forum/#!topic/chromecast/65SAJaELT60

Google’s support response :
All Chromecast devices already support Dolby Atmos passthrough, which means that Chromecast Ultra supports Dolby Atmos as well. With that being said, note that the only officially supported setup of Chromecast Ultra is to plug it directly into the HDMI port of your TV. If the sound is coming out through your TVs speakers, then the Chromecast Ultra is working as intended. There’s no guarantee as to how and if your external audio devices will work when added to your setup.

Regards,
Stanislav


#12

Yes - because the HDMI handshake is the important part. The Chromecast asks the TV what it supports when it handshakes. The TV tells the Chromecast what it’s resolution is and how many speakers it has. If you connect the TV to an amplifier via ARC - the TV doesn’t necessarily tell the Chromecast it now has more speakers, the TV only tells the Chromecast how many speakers the TV has. The only way around this is to fudge the response with EDID rewriting. Even TVs that have an officially supported sound bar accessory connected - still don’t seem to report this fact to the Chromecast (or any other HDMI equipment).


#13

I appreciate all the focus on the audio extractor, I know that there are problems with some not doing what they should, but the thing is, this did work before. I know that 5.1 still worked from plex after the last sonos update, I’m fairly confident this issue started after the plex update.

Is there any way to tell PMS to ignore the override that the Chromecast sends it?


#14

sgirhiny, answer the question:

If Chromecast playing surround sound after you try to change volume text appears at the ap near Chromecast volume bar on your TV playing your video:
“Surround sound is switch on, you can’t change volume on Chromecast. Please use TV remote control”.

Did you see such text on the your tv near volume bar, when you trying to play video with surround sound ?

If you don’t have text - your problem before audio extractor!


#15

There is text when I try to turn the volume down yes. BUT how does this mean the problem is after the Chromecast? The PMS is reporting that it is only sending 2 channel audio out. (From the transcoder log) When I try to turn the volume down in the plex app it tells me surround sound is enabled, I when I look at what the sonos is getting, I am seeing DD2.0.

I said earlier that I think the extractor is working fine because I get 5.1 from other devices on the sonos.


#16

sgirhiny.
ok. i am wrong.
in your case it means that you have DD 2.0. because of DD you have text.
so in your case the problem inside the PLEX or inside the content!!
In today morning I had same problem like you (check it special), but I fix it using Chromecast.xls.

you need to find sample of AC3 sound and check it.
Try to download it from this site and play it one by one:

May be your content doesn’t have DD 5.1 and have only DD 2.1 or DD 2.0.
In this case PLEX show you that you have DD 5.1 content.

or may be you need to test another model of audio extractor… I don’t know.


#17

@sgirhiny said:
There is text when I try to turn the volume down yes. BUT how does this mean the problem is after the Chromecast? The PMS is reporting that it is only sending 2 channel audio out. (From the transcoder log) When I try to turn the volume down in the plex app it tells me surround sound is enabled, I when I look at what the sonos is getting, I am seeing DD2.0.

I said earlier that I think the extractor is working fine because I get 5.1 from other devices on the sonos.

There is definitely something very screwed up there, I can’t see why Plex would be sending Dolby Digital stereo - if Plex believes the receiver is only capable of stereo - it should be sending stereo not Dolby? Can you upload a 2 minute sample of the video you are trying to play somewhere and give me a link and I’ll see how my 2 servers cope with it - both direct to the TV and via the Denon AVR and see if I can see anything obvious. I don’t have an edited Chromecast.xml I’ve never touched my file. If you don’t have the tools to create a sample of the video file, do a Google search for “avi demux”


#18

I won’t be able to run test files or upload a sample until this evening sometime.

But, it isn’t just one file this is happening with, nor is it one type of audio track that the transcoder is having problems with. The original file can have AAC, AC3, DTS, etc, and the output is the same. DD2.0.

The files do have 5.1 audio, some of the files I tested I know were working with 5.1 before.

I’m starting to think that the problem is that the Chromecast won’t decode the AC3 audio. (Not that this is new) But I suspect that before, PMS was sending the decoded signal to the Chromecast (because I was telling it to… I think?) and now that PMS is deferring to what Chromecast says it can do, it will only send 2 channel audio, because the Chromecast can’t decode the signal? The SONOS also can not decode the signal, so this doesn’t help anything. Am I making sense?


#19

The Chromecast can’t decode AC3 and never has (with the exception of Netflix - which has been given special treatment, and built their decoder in Javascript). Because otherwise Google would have had to pay for licenses. The Chromecast passes the AC3 signal undecoded to the connected equipment and it’s up to the equipment to decode the AC3 stream. The Chromecast however will only send this stream to the equipment if the equipment says it can support it. This is the reason for the “Surround Sound enabled” message appearing when you try and change the volume - because the Chromecast can’t change the volume without first decoding the stream.

This however seems to be unrelated - the Chromecast is obviously reporting to Plex that the connected equipment can decode Dolby - but the question is - is the Chromecast telling Plex that the connected equipment only has 2 speakers or is Plex doing something odd.

Another option for you to try if you want - is I can give you temporary access to my server with it’s unmodified Chromecast.xml profile and you can see what happens when you play a 5.1 file from my server?

(EDIT - it may also be related - the Chromecast used to happily play AAC 5.1 sound, however Google have decided that since AAC 5.1 is another proprietary format, they have dropped support for it on all Chromecasts except the Gen1. They recommend people use AC3/E-AC3 or OPUS for multi channel audio now)


#20

If your Chromecast file is unmodified, then 5.1 definitely won’t work for me. An unmodified file has a reference to AAC, which my SONOS can’t deal with. Thanks for the offer though.

I’m seeing a couple other AC3 5.1 issues on the forums here, so maybe I’m not alone, lol