From a98445ce246509b0d2600df14907f72b448a6d10 Mon Sep 17 00:00:00 2001 From: Christophe Besson Date: Thu, 17 Sep 2026 10:12:31 +0200 Subject: feat: let the viewer pick the audio track The streaming path mapped 0:a:0 unconditionally, so a dubbed film played in whichever language was muxed first and the others were unreachable. The node now enumerates the tracks in stream_init and honours audio_track in stream_req; switching is the seek path, since one ffmpeg carries one track. MNP 3.2, additive: the player draws its selector from the node's own list and never from a version number, so an older node is never asked for a track it would ignore. MNP_MIN_SUPPORTED does not move. Co-Authored-By: Claude Opus 5 --- .../meshbay-node/tests/test_stream_video_transcode.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'packages/meshbay-node/tests/test_stream_video_transcode.py') diff --git a/packages/meshbay-node/tests/test_stream_video_transcode.py b/packages/meshbay-node/tests/test_stream_video_transcode.py index 69f4c2d..b165af4 100644 --- a/packages/meshbay-node/tests/test_stream_video_transcode.py +++ b/packages/meshbay-node/tests/test_stream_video_transcode.py @@ -191,10 +191,10 @@ async def test_probe_video_reports_raw_codec_name_for_hevc(tmp_path): clip = tmp_path / "clip.mkv" _make_hevc_clip(clip) - codec, duration, has_audio, width, height, raw_codec = await _probe_video(str(clip)) + probe = await _probe_video(str(clip)) - assert raw_codec == "hevc" - assert codec is not None and codec.startswith("hev1.") + assert probe.raw_codec_name == "hevc" + assert probe.codec is not None and probe.codec.startswith("hev1.") @needs_mp3 @@ -206,13 +206,13 @@ async def test_probe_video_reports_no_codec_string_for_mpeg4(tmp_path): clip = tmp_path / "clip.avi" _make_mpeg4_clip(clip) - codec, duration, has_audio, width, height, raw_codec = await _probe_video(str(clip)) + probe = await _probe_video(str(clip)) - assert raw_codec == "mpeg4" - assert codec is None, ( + assert probe.raw_codec_name == "mpeg4" + assert probe.codec is None, ( "a codec string for MPEG-4 Part 2 would be one no browser can act on") - assert has_audio is True - assert (width, height) == (320, 240) + assert probe.has_audio is True + assert (probe.width, probe.height) == (320, 240) @needs_mp3 -- cgit v1.2.3