jellyfin / jellyfin-webos

WebOS Client for Jellyfin
https://jellyfin.org
Mozilla Public License 2.0
623 stars 60 forks source link

Add DTS and TrueHD support detection #221

Closed dmitrylyzo closed 2 months ago

dmitrylyzo commented 2 months ago

It looks like tv.model.edidType isn't supported by the webOS 1/3/5 emulator. So I can't really test this.

Changes

Issues https://github.com/jellyfin/jellyfin-webos/issues/190#issuecomment-2054107367

sundermann commented 2 months ago

It looks good from a first glance. However, you have to remove the TrueHD part completely. TrueHD is not support on any TV for internal apps. tv.model.edidType is supposed to signal the capabilities of the eARC port. I think the TVs can passthrough TrueHD from an external HDMI source to a connected soundbar which is the intention behind this field. As I said earlier this detection only works properly for webOS 5 and later devices because on older webOS it was only possible to passthrough dts to a connected AVR or soundbar. dts via internal speakers (and external device) is only possible on select webOS 23+ models. The webOS < 5 case was broken before anyway since the presence of dts support was just assumed based on the browser version so I guess the behaviour is still as it was before.

dmitrylyzo commented 2 months ago

tv.model.edidType is supposed to signal the capabilities of the eARC port.

Does it depend on the device (soundbar) connected to it? Or if device is disconnected?

dts via internal speakers (and external device) is only possible on select webOS 23+ models.

I believe DTS can be remuxed to stereo by TV itself if it supports (can decode) it.

sundermann commented 2 months ago

Does it depend on the device (soundbar) connected to it? Or if device is disconnected?

AFAIK no, it only signals if the TV could technically support dts. Independent if a soundbar is connected or not.

I believe DTS can be remuxed to stereo by TV itself if it supports (can decode) it.

Yes, but only on selected webOS 23+. On 4.x it was possible to passthrough dts to a connected soundbar but it was not possible to play via internal speakers.

hmonteiro commented 2 months ago

According to LG specs, this 4.x TV has a dts decoder: https://www.lg.com/uk/tvs-soundbars/nanocell/49sk8500pla/

sundermann commented 2 months ago

I wouldn't trust the specifications. Those often have errors. That said, this PR isn't going to change anything for webOS 4 and below as it will still always enable dts support as it was before.

dmitrylyzo commented 2 months ago

Since this method is unreliable, delegate the responsibility to the user. Superseded by https://github.com/jellyfin/jellyfin-web/pull/5391

hmonteiro commented 2 months ago

I just tested a file with dts audio on the above mentioned model and it worked fine with direct play.