Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2.6 KiB
Orbit TV 0.95.4: plain sound to the TV (no more DTS dropouts)
A small playback fix of its own, approved by Paul on 3 November 2026 ("not sure anything else I can change this end"). No scheduler, artwork or plan changes.
What happened: on Terra (201) at about 22:07 on 3 November, a programme with 6-channel DTS sound cut in and out every couple of seconds. Paul has no amplifier or soundbar: the sound goes to the TV's own speakers. The box's live audio log (22:10:58 to 22:11:40) showed Orbit sending a steady, gap-free DTS bitstream ("stream_type raw") to the TV, which then failed to keep decoding it. The box's own "Surround sound" setting was already off: ExoPlayer reads the HDMI connection's capabilities directly, and the TV claims DTS, so the setting was ignored.
The change: every programme player (full screen, the next programme loaded ahead, and the guide's picture) now builds its sound output through programmeRenderers (AudioOutput.kt). Unless the new Watching setting "Surround sound to an amplifier" is on (off by default), the sound sink may only send PCM undecoded, so Dolby Digital, Dolby Digital Plus and DTS are decoded on the box by its own decoders (c2.amlogic.audio.decoder.ac3, eac3, dts, dtshd) and reach the TV as plain sound. TrueHD, which the box can't decode, still goes out undecoded when the connection accepts it, as before, rather than going silent. With the setting on, everything behaves exactly as in 0.95.3.
Files: AudioOutput.kt (new), Settings.kt (the setting), EmbyPlaybackDialog.kt, Idents.kt, GuidePicture.kt (use the renderers). AudioOutputTest (2 tests). 365 unit tests pass; lint has no errors.
To check on the TV: the same Terra programme (DTS) plays without dropouts; a Dolby programme sounds normal; the box's audio log shows stream_type pcm during a DTS programme. Not yet checked on the box.
Installed 3 November 2026 at about 22:20 with Paul's OK. All 31 committed plans byte-identical before and after. Box check pending: Paul to tune Terra.
Checked on the box at 22:21: Terra's DTS still went out undecoded (HAL stream_type raw, no audio decoder created). DefaultAudioSink.Builder(context) re-reads the HDMI capabilities and overrides setAudioCapabilities. Fixed in 0.95.5. Paul at 22:21: the sound on Terra played fine on 0.95.4, although the log still showed DTS passthrough (stream_type raw, same data rate as during the dropouts). So the dropouts weren't simply DTS passthrough to this TV; likely transient (several players opened within a minute after the 22:05 install). 0.95.5 built but held, not installed, unless dropouts return.