diff options
Diffstat (limited to 'packages/meshbay-common/src/meshbay_common/__init__.py')
| -rw-r--r-- | packages/meshbay-common/src/meshbay_common/__init__.py | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/packages/meshbay-common/src/meshbay_common/__init__.py b/packages/meshbay-common/src/meshbay_common/__init__.py index c4c4bf4..c5b0279 100644 --- a/packages/meshbay-common/src/meshbay_common/__init__.py +++ b/packages/meshbay-common/src/meshbay_common/__init__.py @@ -201,5 +201,23 @@ __version__ = "0.14.0" # compatibility switch 3.0 refused, because there is no second branch on the # node: a 3.2 node always enumerates, always honours what it is asked for, and # always says which track it used. `MNP_MIN_SUPPORTED` does not move. -MNP_VERSION = "3.2" +# +# **3.3 (2026-09-17): the viewer picks a subtitle track.** +# +# `stream_init` carries `subtitle_tracks` (ordinal, language, title, codec); +# `subtitle_req` asks for one by ordinal and `subtitle_resp` names a cache hash +# to pull through the ordinary `file_req`/`file_chunk` path, exactly as +# `audio_transcode_resp` does. Subtitles travel beside the stream because MSE +# decodes no in-band text track, and whole-file because the extraction is then +# absolute in time: a seek re-extracts nothing and the `<track>` is untouched. +# +# **Additive, MINOR, and for once nothing can be served wrongly.** An +# `audio_track` a 3.2 node ignores is the wrong language played in silence; +# `subtitle_req` has no such failure — a node too old to know the message +# answers `unknown message type` and the client shows no subtitles, which is +# what it showed before. The selector is still drawn from `subtitle_tracks` in +# the node's own `stream_init` and from no version number, so the request is +# never sent to a peer that could not answer it. `MNP_MIN_SUPPORTED` does not +# move. +MNP_VERSION = "3.3" MHP_VERSION = "0.1" |