depot/third_party/nixpkgs/pkgs/by-name/mu/music-assistant/ffmpeg.patch

75 lines
2.6 KiB
Diff

diff --git a/music_assistant/server/helpers/audio.py b/music_assistant/server/helpers/audio.py
index 80310604..0a72bcfc 100644
--- a/music_assistant/server/helpers/audio.py
+++ b/music_assistant/server/helpers/audio.py
@@ -74,7 +74,7 @@ async def crossfade_pcm_parts(
await outfile.write(fade_out_part)
args = [
# generic args
- "ffmpeg",
+ "@ffmpeg@",
"-hide_banner",
"-loglevel",
"quiet",
@@ -135,7 +135,7 @@ async def strip_silence(
reverse: bool = False,
) -> bytes:
"""Strip silence from begin or end of pcm audio using ffmpeg."""
- args = ["ffmpeg", "-hide_banner", "-loglevel", "quiet"]
+ args = ["@ffmpeg@", "-hide_banner", "-loglevel", "quiet"]
args += [
"-acodec",
pcm_format.content_type.name.lower(),
@@ -812,7 +812,7 @@ async def get_file_stream(
async def check_audio_support() -> tuple[bool, bool, str]:
"""Check if ffmpeg is present (with/without libsoxr support)."""
# check for FFmpeg presence
- returncode, output = await check_output("ffmpeg", "-version")
+ returncode, output = await check_output("@ffmpeg@", "-version")
ffmpeg_present = returncode == 0 and "FFmpeg" in output.decode()
# use globals as in-memory cache
@@ -866,7 +866,7 @@ async def get_silence(
return
# use ffmpeg for all other encodings
args = [
- "ffmpeg",
+ "@ffmpeg@",
"-hide_banner",
"-loglevel",
"quiet",
diff --git a/music_assistant/server/helpers/ffmpeg.py b/music_assistant/server/helpers/ffmpeg.py
index 0aaa9dcf..88cd9cdb 100644
--- a/music_assistant/server/helpers/ffmpeg.py
+++ b/music_assistant/server/helpers/ffmpeg.py
@@ -200,7 +200,7 @@ def get_ffmpeg_args(
# generic args
generic_args = [
- "ffmpeg",
+ "@ffmpeg@",
"-hide_banner",
"-loglevel",
loglevel,
diff --git a/music_assistant/server/helpers/tags.py b/music_assistant/server/helpers/tags.py
index c60ea526..162c4ab7 100644
--- a/music_assistant/server/helpers/tags.py
+++ b/music_assistant/server/helpers/tags.py
@@ -401,7 +401,7 @@ async def parse_tags(input_file: str, file_size: int | None = None) -> AudioTags
Input_file may be a (local) filename or URL accessible by ffmpeg.
"""
args = (
- "ffprobe",
+ "@ffprobe@",
"-hide_banner",
"-loglevel",
"fatal",
@@ -462,7 +462,7 @@ async def get_embedded_image(input_file: str) -> bytes | None:
Input_file may be a (local) filename or URL accessible by ffmpeg.
"""
args = (
- "ffmpeg",
+ "@ffmpeg@",
"-hide_banner",
"-loglevel",
"error",