From c07a56b47d80b594eea64a2e8d7effc05c16b185 Mon Sep 17 00:00:00 2001 From: ScreenTinker Date: Wed, 5 Aug 2026 14:11:48 -0500 Subject: [PATCH] Tizen declares what it can do, and volume and blanking now work MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The dashboard offered every control to every display, so on a Tizen panel the volume slider and screen_off did nothing and read as bugs. Two of them were genuinely dead: - set_volume fell through STDeviceControl.run()'s default case and was answered "unknown command". It is not a Samsung fleet action and must work on every build, so it is handled in app.js instead: tizen.tvaudiocontrol where the TV profile provides it (that is the TV's own volume, the only thing that reaches AVPlay video on the hardware plane), otherwise the media elements. The level is remembered and re-applied on 'play' — media elements are created per item, so a one-shot set lasted only until the playlist advanced. - screen_off was a z-index overlay, which covers the web layer only. Portrait and flipped video runs through AVPlay on a separate hardware plane the DOM cannot draw over, so the overlay went up and the video played straight through it. It now tears the AVPlay session down as well; screen_on re-mounts via playCurrent(), because a torn-down session cannot be resumed and gotoIndex() early-returns on an unchanged index. js/capabilities.js declares the rest at runtime rather than from a static table, because on Tizen the answer varies by build: reboot exists only through the B2B surface injected on a partner-signed .wgt, and tizen.tvaudiocontrol is absent in a browser context. Against the server baseline this adds display.power, remote.screenshot and remote.stream (all backed by real handlers) and drops offline.cache — the payload is cached, but media bytes are still fetched from the network, so content does not survive an outage and claiming it would overstate. Adds the tv.audio privilege; without it tvaudiocontrol throws SecurityError. --- tizen/config.xml | 4 ++ tizen/index.html | 1 + tizen/js/app.js | 94 +++++++++++++++++++++++++++++++++++++--- tizen/js/capabilities.js | 94 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 186 insertions(+), 7 deletions(-) create mode 100644 tizen/js/capabilities.js diff --git a/tizen/config.xml b/tizen/config.xml index 4c5f02c..d3cb150 100644 --- a/tizen/config.xml +++ b/tizen/config.xml @@ -23,6 +23,10 @@ + +