diff --git a/discord/player.py b/discord/player.py index 6243c0417..057a86b68 100644 --- a/discord/player.py +++ b/discord/player.py @@ -37,7 +37,7 @@ import sys import re import io -from typing import Any, Callable, Generic, IO, Optional, TYPE_CHECKING, Tuple, TypeVar, Union +from typing import Any, Callable, Generic, IO, Mapping, Optional, TYPE_CHECKING, Tuple, TypeVar, Union from .enums import SpeakingState from .errors import ClientException @@ -300,6 +300,8 @@ class FFmpegPCMAudio(FFmpegAudio): to the stdin of ffmpeg. Defaults to ``False``. stderr: Optional[:term:`py:file object`] A file-like object to pass to the Popen constructor. + env: Optional[:class:`Mapping[:class:`str`, :class:`str`]`] + A :class:`Mapping` that defines the environment variables for the Popen constructor. before_options: Optional[:class:`str`] Extra command line arguments to pass to ffmpeg before the ``-i`` flag. options: Optional[:class:`str`] @@ -318,11 +320,12 @@ class FFmpegPCMAudio(FFmpegAudio): executable: str = 'ffmpeg', pipe: bool = False, stderr: Optional[IO[bytes]] = None, + env: Optional[Mapping[str, str]] = None, before_options: Optional[str] = None, options: Optional[str] = None, ) -> None: args = [] - subprocess_kwargs = {'stdin': subprocess.PIPE if pipe else subprocess.DEVNULL, 'stderr': stderr} + subprocess_kwargs = {'stdin': subprocess.PIPE if pipe else subprocess.DEVNULL, 'stderr': stderr, 'env': env} if isinstance(before_options, str): args.extend(shlex.split(before_options)) @@ -410,6 +413,8 @@ class FFmpegOpusAudio(FFmpegAudio): to the stdin of ffmpeg. Defaults to ``False``. stderr: Optional[:term:`py:file object`] A file-like object to pass to the Popen constructor. + env: Optional[:class:`Mapping[:class:`str`, :class:`str`]`] + A :class:`Mapping` that defines the environment variables for the Popen constructor. before_options: Optional[:class:`str`] Extra command line arguments to pass to ffmpeg before the ``-i`` flag. options: Optional[:class:`str`] @@ -430,11 +435,12 @@ class FFmpegOpusAudio(FFmpegAudio): executable: str = 'ffmpeg', pipe: bool = False, stderr: Optional[IO[bytes]] = None, + env: Optional[Mapping[str, str]] = None, before_options: Optional[str] = None, options: Optional[str] = None, ) -> None: args = [] - subprocess_kwargs = {'stdin': subprocess.PIPE if pipe else subprocess.DEVNULL, 'stderr': stderr} + subprocess_kwargs = {'stdin': subprocess.PIPE if pipe else subprocess.DEVNULL, 'stderr': stderr, 'env': env} if isinstance(before_options, str): args.extend(shlex.split(before_options))