From 753653b4df62723b82d32799825135822886eac7 Mon Sep 17 00:00:00 2001 From: Christophe Besson Date: Thu, 3 Sep 2026 16:20:23 +0200 Subject: refactor(node): platform abstraction for Windows portability (W1-W2-W5-W6-W7) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Platform directories, signal handling, chmod guards, ffmpeg discovery, and platform-conditional CLI messages — all testable on Linux. See docs/WINDOWS-PORT.md §5 for the plan these implement. Co-Authored-By: Claude Opus 4.6 --- packages/meshbay-node/src/meshbay_node/transport/webrtc_server.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'packages/meshbay-node/src/meshbay_node/transport/webrtc_server.py') diff --git a/packages/meshbay-node/src/meshbay_node/transport/webrtc_server.py b/packages/meshbay-node/src/meshbay_node/transport/webrtc_server.py index 0154319..e333ae8 100644 --- a/packages/meshbay-node/src/meshbay_node/transport/webrtc_server.py +++ b/packages/meshbay-node/src/meshbay_node/transport/webrtc_server.py @@ -100,7 +100,7 @@ from meshbay_common.protocol import MNP, chunk_ciphertext, file_chunk_wire from meshbay_node.transport.wire import index_sync_message from meshbay_node.indexer import GroupIndex from meshbay_node.indexer.indexer import DirectoryIndexer -from meshbay_node import linkpreview, ops +from meshbay_node import linkpreview, ops, platform # Re-imported under its original name: every call site and existing test in # this module still refers to it as `_probe_video`. The implementation lives # in media_probe.py so the indexer package (imported just above) can call it @@ -3441,7 +3441,7 @@ class WebRTCPeerSession: try: async with sem: proc = await asyncio.create_subprocess_exec( - "ffmpeg", "-hide_banner", "-loglevel", "error", + platform.ffmpeg_cmd(), "-hide_banner", "-loglevel", "error", "-ss", str(segment_index * segment_duration), "-i", str(file_path), "-t", str(segment_duration), @@ -4360,7 +4360,7 @@ class WebRTCPeerSession: # forced out of its MediaSource with no further explanation. codec_args += ["-c:a", "aac", "-ac", "2", "-b:a", "192k"] proc = await asyncio.create_subprocess_exec( - "ffmpeg", "-hide_banner", "-loglevel", "error", + platform.ffmpeg_cmd(), "-hide_banner", "-loglevel", "error", *seek_args, "-i", str(file_path), *map_args, @@ -4556,7 +4556,7 @@ async def _transcode_audio_to_aac(file_path: Path) -> bytes: tmp_path = Path(tmp_name) try: proc = await asyncio.create_subprocess_exec( - "ffmpeg", "-hide_banner", "-loglevel", "error", "-y", + platform.ffmpeg_cmd(), "-hide_banner", "-loglevel", "error", "-y", "-i", str(file_path), "-vn", "-c:a", "aac", "-ac", "2", "-b:a", "192k", "-f", "ipod", str(tmp_path), -- cgit v1.2.3