From 0524af6e26475665c1bf9fb5159186b30b75aadf Mon Sep 17 00:00:00 2001 From: benexl Date: Wed, 31 Dec 2025 15:47:43 +0300 Subject: [PATCH] fix(ipc): add checks for Unix domain socket availability in MPVIPCClient and MpvIPCPlayer --- viu_media/cli/service/player/ipc/mpv.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/viu_media/cli/service/player/ipc/mpv.py b/viu_media/cli/service/player/ipc/mpv.py index ba25ce0..d4a5e6f 100644 --- a/viu_media/cli/service/player/ipc/mpv.py +++ b/viu_media/cli/service/player/ipc/mpv.py @@ -57,6 +57,9 @@ class MPVIPCClient: def connect(self, timeout: float = 5.0) -> None: """Connect to MPV IPC socket and start the reader thread.""" + if not hasattr(socket, "AF_UNIX"): + raise MPVIPCError("Unix domain sockets are unavailable on this platform") + start_time = time.time() while time.time() - start_time < timeout: try: @@ -299,6 +302,10 @@ class MpvIPCPlayer(BaseIPCPlayer): def _play_with_ipc(self, player: BasePlayer, params: PlayerParams) -> PlayerResult: """Play media using MPV IPC.""" try: + if not hasattr(socket, "AF_UNIX"): + raise MPVIPCError( + "MPV IPC requires Unix domain sockets, which are unavailable on this platform." + ) self._start_mpv_process(player, params) self._connect_ipc() self._setup_event_handling()