From 4614d8b7939679ea4d6ae9c32241d7607e2b136c Mon Sep 17 00:00:00 2001 From: Chad Wagner Date: Thu, 30 May 2024 14:55:14 -0700 Subject: [PATCH] fix decode of stderr lines --- ffmpeg/asyncio/ffmpeg.py | 9 +++++---- ffmpeg/ffmpeg.py | 9 +++++---- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/ffmpeg/asyncio/ffmpeg.py b/ffmpeg/asyncio/ffmpeg.py index 6bedec9..d104d2f 100644 --- a/ffmpeg/asyncio/ffmpeg.py +++ b/ffmpeg/asyncio/ffmpeg.py @@ -255,11 +255,12 @@ async def _read_stdout(self) -> bytes: async def _handle_stderr(self) -> str: assert self._process.stderr is not None - line = b"" - async for line in readlines(self._process.stderr): - self.emit("stderr", line.decode()) + line = "" + async for line_bytes in readlines(self._process.stderr): + line = line_bytes.decode(errors="backslashreplace") + self.emit("stderr", line) - return line.decode() + return line def _reraise_exception(self, exception: Exception): raise exception diff --git a/ffmpeg/ffmpeg.py b/ffmpeg/ffmpeg.py index 36a8c73..940c953 100644 --- a/ffmpeg/ffmpeg.py +++ b/ffmpeg/ffmpeg.py @@ -251,9 +251,10 @@ def _read_stdout(self) -> bytes: def _handle_stderr(self) -> str: assert self._process.stderr is not None - line = b"" - for line in readlines(self._process.stderr): - self.emit("stderr", line.decode()) + line = "" + for line_bytes in readlines(self._process.stderr): + line = line_bytes.decode(errors="backslashreplace") + self.emit("stderr", line) self._process.stderr.close() - return line.decode() + return line