mirror of
https://github.com/gesellix/Bose-SoundTouch.git
synced 2026-09-07 15:07:17 +00:00
docs(player): record what hardware testing settled about TUNEIN and ALEXA
TUNEIN was routed like RADIO_BROWSER on the strength of stations.ResolveContentItem handling them identically, without a hardware check. Resuming it from Recents has since been confirmed to play the station as intended, so the comment no longer presents it as inferred. ALEXA cannot be tested on the hardware available, so it is not a pending question but a standing decision: leave it unlisted rather than guess at its behaviour and risk breaking a source that works today. isStubNowPlaying covers it, reporting a failure if a bare select does strand it. Comments and documentation only. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
fee9fa76ad
commit
5d8db18ba4
@@ -24,6 +24,10 @@ need a station **ContentItem carrying a `Location`** (see
|
||||
`stations.ResolveContentItem`, which sets `type="stationurl"`). There is
|
||||
nothing for the speaker to resume from the source name alone.
|
||||
|
||||
All three are confirmed on hardware: `RADIO_BROWSER` and
|
||||
`LOCAL_INTERNET_RADIO` by the stub described below, `TUNEIN` by its resume
|
||||
path playing the station as intended.
|
||||
|
||||
`STORED_MUSIC` is a third case: one entry per media server, its
|
||||
`sourceAccount` being a server UDN. Selecting it identifies no track or
|
||||
container.
|
||||
@@ -74,8 +78,9 @@ URL's `bmx.BuildOrionLocation`, but it also carries CLI URL playback, and any
|
||||
future audio-injecting feature would have to remember to stay clear of it.
|
||||
Opening Play URL does not depend on classifying what is in Recents.
|
||||
|
||||
`ALEXA` is advertised `READY` too and is left alone, because whether a bare
|
||||
select resumes anything for it has not been verified.
|
||||
`ALEXA` is advertised `READY` too and is deliberately left alone: it cannot be
|
||||
tested on the hardware available, and guessing at its behaviour risks breaking
|
||||
a source that works today. The backstop below covers it instead.
|
||||
|
||||
### The backstop
|
||||
|
||||
|
||||
@@ -24,11 +24,15 @@ const SOURCE_READBACK_DELAYS_MS = [2000, 5000, 10000];
|
||||
// playing. The speaker then reports that stub indefinitely, so the player
|
||||
// shows a source the speaker is not actually playing.
|
||||
//
|
||||
// Verified against real hardware for RADIO_BROWSER and LOCAL_INTERNET_RADIO:
|
||||
// both produce the byte-identical stub. TUNEIN is listed because
|
||||
// ResolveContentItem treats it identically to RADIO_BROWSER (both need a
|
||||
// Location). ALEXA is also advertised READY but is NOT listed: whether a bare
|
||||
// select resumes anything for it is unverified, so it keeps today's behaviour.
|
||||
// Verified against real hardware: RADIO_BROWSER and LOCAL_INTERNET_RADIO both
|
||||
// produce the byte-identical stub, and resuming TUNEIN from its Recents plays
|
||||
// the station as intended.
|
||||
//
|
||||
// ALEXA is advertised READY as well but is deliberately NOT listed. It cannot
|
||||
// be tested on the hardware available, so listing it would mean guessing at
|
||||
// its behaviour, and guessing wrong would break a source that works today.
|
||||
// The stub check in isStubNowPlaying covers it instead: if a bare select does
|
||||
// strand it, that is reported as a failure rather than confirmed.
|
||||
//
|
||||
// `page` is the browser to open for the source: the page in this app that
|
||||
// produces content for it. `resume` says whether clicking may first replay
|
||||
|
||||
Reference in New Issue
Block a user