Policy for choosing the playback chain in the living room.
The purpose of the chain is narrow:
play Blu-ray remuxes correctly
keep Dolby Vision when it is actually available
keep lossless and object audio when the route allows it
avoid silent downgrades
avoid debugging the same failure twice
Comfort features come after that.
TV: LG C5
Audio: Samsung HW-Q600C
Boxes:
Shield Pro
Xiaomi Box S 3rd Gen
Google TV Streamer
Players:
Kodi
Plex
Stremio
VLC
A: box → LG C5 → eARC → HW-Q600C
B: box → HW-Q600C → LG C5
Route A is the reference route.
The LG gets first claim on video negotiation because Dolby Vision failure is easy to hide and annoying to diagnose. If a chain falls back to HDR10 and still looks good, that is exactly the kind of failure this policy is supposed to catch.
Route B is a tested exception, not an alternate default. It can win for audio. It does not get trusted for video until it proves itself with the file class being played.
video:
DV P5
DV P8
DV P7 MEL
DV P7 FEL
audio:
TrueHD Atmos
DD+ Atmos
DTS-HD MA
DTS:X
subs:
PGS
These are not all equal.
DV P5/P8 common risk: fallback hidden by the UI
DV P7 MEL acceptable if stable
DV P7 FEL do not pretend full correctness without proof
TrueHD Atmos high value, fragile path
DD+ Atmos easy mode
DTS-HD MA should not collapse to core if this is a remux test
DTS:X object metadata matters only if the route preserves it
PGS must work without forcing a server-side burn-in
score(device, player, route, file) =
dv_correctness
+ lossless_audio_preservation
+ object_audio_preservation
+ remux_compatibility
+ subtitle_compatibility
+ sustained_network_stability
- hdr10_fallback
- atmos_or_dtsx_loss
- dts_core_fallback
- server_transcode
- app_unpredictability
best_setup = argmax score(device, player, route, file)
The weighting is intentionally biased.
silent fallback costs more than missing a nice UI
known boring behavior beats newer hardware
one file playing once does not promote a device
Shield Pro
Kodi
Shield Pro → LG C5 → eARC → HW-Q600C
wired network if available
That is the starting point.
It is not always the winner. It is the chain I test against.
Kodi first
Plex second
Stremio for convenience
VLC for diagnosis
Kodi gets the reference slot because it exposes the least ambiguity in this setup. It gives enough control over passthrough, decode behavior, refresh rate, subtitle handling, and local or network file playback.
Plex is allowed when it direct plays the file cleanly. The moment subtitles trigger burn-in, audio gets transcoded, or the server becomes part of the explanation, Plex loses that file.
Stremio is not used to establish correctness. It is a convenience app.
VLC is useful when something is broken and I want to separate “bad file” from “bad player path.” It is not the main path for remux playback.
Shield Pro > Xiaomi Box S 3rd Gen > Google TV Streamer
The Shield remains first because it wastes the least time.
Use it for:
large 4K remuxes
TrueHD Atmos
DTS-HD MA
DTS:X
PGS subtitles
uncertain Dolby Vision behavior
Kodi-first playback
It is old hardware, but this job rewards predictable behavior more than novelty.
The Xiaomi is the second box, not the experimental box.
Use it when:
Shield is unavailable
Dolby Vision works on the sample being played
audio behavior is acceptable for the file
Kodi is still the player
It stays ahead of the Google TV Streamer for remux use because remux playback is usually audio-limited before it is UI-limited.
The Google TV Streamer is useful for the wrong side of this policy.
Use it for:
streaming apps
AV1
Google TV integration
fast UI
DD+ Atmos
non-remux files
casual playback
Do not use it as the reference box for:
TrueHD Atmos
DTS-HD MA
DTS:X
Blu-ray remux correctness
format preservation tests
If the reason for keeping the file is the Blu-ray audio track, the Google TV Streamer starts behind.
box → LG C5 → eARC → HW-Q600C
Default for Dolby Vision.
This route gives the TV the cleanest path to identify and display the video format. That matters more than it sounds, because bad chains often fail politely. They show a picture, maybe even a good picture, and quietly remove the thing being tested.
Use Route A for:
DV P5
DV P8
DV P7 MEL
DV P7 FEL tests
unknown HDMI behavior
first playback of a new encode class
box → HW-Q600C → LG C5
Use when audio forces the question.
Test it for:
TrueHD Atmos
DTS-HD MA
DTS:X
HDR10 titles with lossless audio
Dolby Vision titles where audio preservation matters enough to risk the route
Keep Route B only if the soundbar passes the video mode cleanly.
Check the actual thing:
Does the LG report Dolby Vision?
Does the frame rate stay correct?
Does the app behave the same after stop/start?
Does CEC change the route?
Does the same file work with subtitles on?
Does another DV profile also work?
If the answer depends on the app, write that down. App-specific success does not become chain-level success.
DV success means DV output, not “the movie looked good”
Handling:
P5: expect Dolby Vision
P8: expect Dolby Vision, accept HDR10 fallback only as a logged fallback
P7 MEL: accept if stable and repeatable
P7 FEL: treat as a risk class
P7 FEL does not get rounded up.
If FEL plays, log what happened. Do not convert that into “FEL support” unless the whole chain actually preserves what needs preserving. Most of the time the useful answer is simpler:
it played
it fell back
it used the base layer
it did not crash
it looked acceptable
Those are different results.
DD+ Atmos is low drama.
Use passthrough when supported. Do not let DD+ Atmos decide the box unless everything else is tied.
TrueHD Atmos matters more.
Start here:
Shield Pro
Kodi
Shield Pro → LG C5 → eARC → HW-Q600C
If TrueHD Atmos fails or gets downgraded, test:
Shield Pro → HW-Q600C → LG C5
Then choose per file.
DV title + TrueHD Atmos:
start TV-first
move soundbar-first only if DV survives
HDR10 title + TrueHD Atmos:
soundbar-first can win
casual watch:
do not spend the evening optimizing a track nobody in the room cares about
The last line is part of the policy. Correctness is the goal when correctness is the goal.
The LG route is not trusted for DTS passthrough.
For the TV-first route:
DTS-HD MA → decode to LPCM
DTS:X → decode to LPCM unless soundbar-first preserves the metadata
DTS core → log as fallback
DTS core is not a success condition for a remux test. It is a compromise.
If DTS:X is the point of the file, test the soundbar-first route. If Dolby Vision breaks there, pick which feature matters for that file and stop trying to make the route universal.
PGS is part of the remux.
A chain that only works with subtitles off is not a clean chain.
Kodi gets priority because it is less likely to turn subtitles into a server problem.
For Plex:
video must direct play
audio should direct play when possible
PGS must not trigger burn-in unless accepted for that file
subtitle timing must be checked after seeking
If subtitles cause a transcode, that player/device combination loses the file.
The network test is the movie, not the speed test.
Priority:
wired Ethernet
stable 5 GHz or 6 GHz Wi-Fi
everything else
Failure signs:
buffering after high-bitrate peaks
audio dropout
subtitle delay after seek
app recovers by lowering quality
server starts transcoding
file works only after reboot
A better codec box with worse sustained network behavior loses. Menu speed does not count.
File Default path
---------------------------------------------------------------------------
DV P5/P8 + DD+ Atmos Kodi, Shield or Xiaomi, TV-first
DV P5/P8 + TrueHD Atmos Kodi, Shield, test TV-first first
DV P7 MEL + TrueHD Atmos Kodi, Shield, TV-first unless audio fails
DV P7 FEL Kodi, Shield, log exact behavior
HDR10 + TrueHD Atmos Kodi, Shield, soundbar-first can win
HDR10 + DTS-HD MA Kodi, Shield, LPCM or soundbar-first test
HDR10 + DTS:X Kodi, Shield, soundbar-first if metadata matters
PGS subtitles Kodi first
Streaming DD+ Atmos any stable box
AV1 streaming Google TV Streamer
Casual playback do not overfit the chain
Default box:
Shield Pro
Default player:
Kodi
Default route:
box → LG C5 → eARC → HW-Q600C
Default exception:
soundbar-first for audio tests
Default DTS handling through LG:
decode to LPCM
Default Google TV Streamer use:
streaming, AV1, UI, DD+ Atmos
Default Plex use:
direct-play cases only
A useful result includes the full chain.
device
player
route
file class
audio track
subtitle state
refresh rate
network path
result
Bad log:
Movie played fine.
Useful log:
Shield Pro
Kodi
Shield → LG C5 → eARC → HW-Q600C
DV P7 MEL
TrueHD Atmos
PGS enabled
23.976 Hz
wired Ethernet
result: DV triggered, audio passed, subtitles rendered, no buffering
Failures to name directly:
HDR10 fallback
DD+ fallback
stereo fallback
DTS core fallback
lost Atmos flag
lost DTS:X metadata
server transcode
PGS burn-in
audio delay
frame-rate mismatch
CEC route change
app-specific success
1. Shield Pro + Kodi + TV-first
reference chain for Dolby Vision remux playback
2. Shield Pro + Kodi + soundbar-first
use when audio preservation is the point and DV survives the route
3. Xiaomi Box S 3rd Gen + Kodi + TV-first
second path, useful when Shield is unavailable or unnecessary
4. Google TV Streamer + Plex/Kodi + TV-first
good for streaming, AV1, UI, DD+ Atmos, and non-reference playback
5. Stremio
convenience path
6. VLC
diagnostic path
A device or route does not move up because one title worked.
Promotion requires repeated clean results across the things that usually break:
DV P5
DV P8
DV P7 MEL
DV P7 FEL
TrueHD Atmos
DD+ Atmos
DTS-HD MA
DTS:X
PGS subtitles
wired playback
wireless playback
TV-first route
soundbar-first route
Until those tests exist, the defaults stay boring:
Kodi is the reference player.
Shield Pro is the reference box.
TV-first is the Dolby Vision route.
Soundbar-first is conditional.
Google TV Streamer is not the lossless-remux reference.
Unresolved items stay unresolved:
exact Q600C Dolby Vision pass-through behavior by profile
repeatability of soundbar-first route across apps
DTS:X value versus LPCM compromise
FEL handling across real library samples
whether Xiaomi earns more trust after repeated tests
No global winner is needed. The file decides the chain.