diff options
| author | Christophe Besson <cbesson@gmail.com> | 2026-10-03 13:59:44 +0200 |
|---|---|---|
| committer | Christophe Besson <cbesson@gmail.com> | 2026-10-03 14:24:55 +0200 |
| commit | d4cd99df1fdecb28d60c10c87f72a93634128db8 (patch) | |
| tree | d0426aea997f804d4b62d1fc329cdea9c2599804 /docs | |
| parent | ab0ba3db76d1accec1ca944e62b325c8d92592a6 (diff) | |
| download | meshbay-d4cd99df1fdecb28d60c10c87f72a93634128db8.tar.gz | |
Player: remote control while casting
Shows the receiver's position with play/pause, ±30 s and a scrubber;
a seek restarts the relay where asked.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/MESHBAY_DESIGN.md | 12 | ||||
| -rw-r--r-- | docs/USERGUIDE.md | 5 |
2 files changed, 16 insertions, 1 deletions
diff --git a/docs/MESHBAY_DESIGN.md b/docs/MESHBAY_DESIGN.md index 58bbbdb..e638f9b 100644 --- a/docs/MESHBAY_DESIGN.md +++ b/docs/MESHBAY_DESIGN.md @@ -3410,6 +3410,18 @@ old film's — the local player never noticed, a relay restarted there did. The local element keeps playing while a cast runs, because its playhead paces the stream, and is muted. +**While a receiver plays the film, the player is its remote.** Phone and +television start apart and drift, so a scrubber on the local playhead lied about +where the film was and a seek from it landed off by the gap. The page polls +`cast:status`, whose `chromecast` carries the receiver's `playerState` and +`position` (stream seconds, zero at the relay's start; the page adds the +stream's start), and shows that over the local picture with play/pause +(`cast:chromecast:pause`/`play`), ±30 s and a scrubber. A seek is the ordinary +seek: it restarts the relay and reloads the receiver there, and until that +lands the target is shown, not the old stream's position. Pausing the receiver +pauses the local element too, which otherwise goes on fetching for nobody. The +copy-URL cast has no receiver to read and keeps the ordinary player. + **Subtitles are rebased onto the relay's clock before they are sent.** The node extracts a track whole, so its cues carry the film's timeline, and the player can use them unchanged because its SourceBuffer is given `timestampOffset = diff --git a/docs/USERGUIDE.md b/docs/USERGUIDE.md index ad51982..1790475 100644 --- a/docs/USERGUIDE.md +++ b/docs/USERGUIDE.md @@ -395,7 +395,10 @@ resume. **The desktop and Android applications.** A film playing in the application can be sent to a cast-capable TV or dongle on the same network: *Cast to device* in the player, pick one from the list. On a phone, the film goes on playing silently -on the phone while the TV shows it, and the screen can be turned off. Devices appear as they answer, usually within a couple +on the phone while the TV shows it, and the screen can be turned off. While a +TV plays the film, the player becomes its remote: the position shown is the +TV's, with play/pause, 30-second jumps and a slider to go anywhere in the film. +Devices appear as they answer, usually within a couple of seconds; the search carries on for a few more, for a TV that is still waking up. |