Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion examples/room_manager/arguments.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ def parse_arguments():
parser.add_argument("--port", type=int, default=5000)
parser.add_argument("--peerless_purge_timeout", type=int, default=None)
parser.add_argument("--webhook_url", type=str, default=None)
parser.add_argument("--enable_simulcast", type=str, default=True)
parser.add_argument("--max_peers", type=str, default=None)
parser.add_argument("--fishjam_id", type=str, required=True)
parser.add_argument("--management_token", type=str, default="development")
Expand Down
9 changes: 3 additions & 6 deletions examples/room_manager/room_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import betterproto

from fishjam import FishjamClient, PeerOptions, Room, RoomOptions
from fishjam._openapi_client.models import RoomConfigRoomType
from fishjam._openapi_client.models import RoomType
from fishjam.events import ServerMessagePeerCrashed as PeerCrashed
from fishjam.events import ServerMessagePeerDeleted as PeerDeleted
from fishjam.events import ServerMessageRoomCrashed as RoomCrashed
Expand Down Expand Up @@ -41,7 +41,7 @@ def get_peer_access(
self,
room_name: str,
username: str,
room_type: RoomConfigRoomType | None,
room_type: RoomType | None,
) -> PeerAccess:
room = self.__find_or_create_room(room_name, room_type)
peer_access = self.peer_name_to_access.get(username)
Expand All @@ -67,9 +67,7 @@ def handle_notification(self, notification: betterproto.Message):
case _:
pass

def __find_or_create_room(
self, room_name: str, room_type: RoomConfigRoomType | None
) -> Room:
def __find_or_create_room(self, room_name: str, room_type: RoomType | None) -> Room:
if room_name in self.room_name_to_room_id:
self.logger.info("Room %s, already exists in the Fishjam", room_name)

Expand All @@ -94,7 +92,6 @@ def __create_peer(self, room_name: str, peer_name: str) -> PeerAccess:
room_id = self.room_name_to_room_id[room_name]

options = PeerOptions(
enable_simulcast=self.config.enable_simulcast,
metadata={"username": peer_name},
)
peer, token = self.fishjam_client.create_peer(room_id, options=options)
Expand Down
4 changes: 2 additions & 2 deletions examples/room_manager/routes.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
from room_service import RoomService

from fishjam import receive_binary
from fishjam.room import RoomConfigRoomType
from fishjam.room import RoomType


def setup_routes(app: Flask, room_service: RoomService):
Expand All @@ -23,7 +23,7 @@ def get_room_query():
return abort(400)

try:
room_type = RoomConfigRoomType(raw_room_type) if raw_room_type else None
room_type = RoomType(raw_room_type) if raw_room_type else None
except ValueError:
return abort(400)

Expand Down
34 changes: 14 additions & 20 deletions fishjam/_openapi_client/models/__init__.py
Original file line number Diff line number Diff line change
@@ -1,32 +1,26 @@
"""Contains all the data models used in inputs/outputs"""

from .add_peer_body import AddPeerBody
from .agent_output import AgentOutput
from .audio_format import AudioFormat
from .audio_sample_rate import AudioSampleRate
from .error import Error
from .peer import Peer
from .peer_details_response import PeerDetailsResponse
from .peer_details_response_data import PeerDetailsResponseData
from .peer_metadata import PeerMetadata
from .peer_options_agent import PeerOptionsAgent
from .peer_options_agent_output import PeerOptionsAgentOutput
from .peer_options_agent_output_audio_format import PeerOptionsAgentOutputAudioFormat
from .peer_options_agent_output_audio_sample_rate import (
PeerOptionsAgentOutputAudioSampleRate,
)
from .peer_options_agent_subscribe_mode import PeerOptionsAgentSubscribeMode
from .peer_options_web_rtc import PeerOptionsWebRTC
from .peer_options_web_rtc_metadata import PeerOptionsWebRTCMetadata
from .peer_options_web_rtc_subscribe_mode import PeerOptionsWebRTCSubscribeMode
from .peer_refresh_token_response import PeerRefreshTokenResponse
from .peer_refresh_token_response_data import PeerRefreshTokenResponseData
from .peer_status import PeerStatus
from .peer_type import PeerType
from .room import Room
from .room_config import RoomConfig
from .room_config_room_type import RoomConfigRoomType
from .room_config_video_codec import RoomConfigVideoCodec
from .room_create_details_response import RoomCreateDetailsResponse
from .room_create_details_response_data import RoomCreateDetailsResponseData
from .room_details_response import RoomDetailsResponse
from .room_type import RoomType
from .rooms_listing_response import RoomsListingResponse
from .stream import Stream
from .stream_config import StreamConfig
Expand All @@ -38,39 +32,37 @@
from .subscribe_tracks_body import SubscribeTracksBody
from .subscriptions import Subscriptions
from .track import Track
from .track_metadata_type_0 import TrackMetadataType0
from .track_metadata import TrackMetadata
from .track_type import TrackType
from .video_codec import VideoCodec
from .viewer import Viewer
from .viewer_status import ViewerStatus
from .viewer_token import ViewerToken
from .web_rtc_metadata import WebRTCMetadata

__all__ = (
"AddPeerBody",
"AgentOutput",
"AudioFormat",
"AudioSampleRate",
"Error",
"Peer",
"PeerDetailsResponse",
"PeerDetailsResponseData",
"PeerMetadata",
"PeerOptionsAgent",
"PeerOptionsAgentOutput",
"PeerOptionsAgentOutputAudioFormat",
"PeerOptionsAgentOutputAudioSampleRate",
"PeerOptionsAgentSubscribeMode",
"PeerOptionsWebRTC",
"PeerOptionsWebRTCMetadata",
"PeerOptionsWebRTCSubscribeMode",
"PeerRefreshTokenResponse",
"PeerRefreshTokenResponseData",
"PeerStatus",
"PeerType",
"Room",
"RoomConfig",
"RoomConfigRoomType",
"RoomConfigVideoCodec",
"RoomCreateDetailsResponse",
"RoomCreateDetailsResponseData",
"RoomDetailsResponse",
"RoomsListingResponse",
"RoomType",
"Stream",
"StreamConfig",
"Streamer",
Expand All @@ -81,9 +73,11 @@
"SubscribeTracksBody",
"Subscriptions",
"Track",
"TrackMetadataType0",
"TrackMetadata",
"TrackType",
"VideoCodec",
"Viewer",
"ViewerStatus",
"ViewerToken",
"WebRTCMetadata",
)
Original file line number Diff line number Diff line change
Expand Up @@ -8,34 +8,24 @@
from attrs import define as _attrs_define
from attrs import field as _attrs_field

from ..models.peer_options_agent_output_audio_format import (
PeerOptionsAgentOutputAudioFormat,
)
from ..models.peer_options_agent_output_audio_sample_rate import (
PeerOptionsAgentOutputAudioSampleRate,
)
from ..models.audio_format import AudioFormat
from ..models.audio_sample_rate import AudioSampleRate
from ..types import UNSET, Unset

T = TypeVar("T", bound="PeerOptionsAgentOutput")
T = TypeVar("T", bound="AgentOutput")


@_attrs_define
class PeerOptionsAgentOutput:
class AgentOutput:
"""Output audio options

Attributes:
audio_format (Union[Unset, PeerOptionsAgentOutputAudioFormat]): The format of the output audio Default:
PeerOptionsAgentOutputAudioFormat.PCM16. Example: pcm16.
audio_sample_rate (Union[Unset, PeerOptionsAgentOutputAudioSampleRate]): The sample rate of the output audio
Default: PeerOptionsAgentOutputAudioSampleRate.VALUE_16000. Example: 16000.
audio_format (Union[Unset, AudioFormat]): The format of the output audio Example: pcm16.
audio_sample_rate (Union[Unset, AudioSampleRate]): The sample rate of the output audio Example: 16000.
"""

audio_format: Union[Unset, PeerOptionsAgentOutputAudioFormat] = (
PeerOptionsAgentOutputAudioFormat.PCM16
)
audio_sample_rate: Union[Unset, PeerOptionsAgentOutputAudioSampleRate] = (
PeerOptionsAgentOutputAudioSampleRate.VALUE_16000
)
audio_format: Union[Unset, AudioFormat] = UNSET
audio_sample_rate: Union[Unset, AudioSampleRate] = UNSET
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)

def to_dict(self) -> dict[str, Any]:
Expand All @@ -61,28 +51,26 @@ def to_dict(self) -> dict[str, Any]:
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
d = dict(src_dict)
_audio_format = d.pop("audioFormat", UNSET)
audio_format: Union[Unset, PeerOptionsAgentOutputAudioFormat]
audio_format: Union[Unset, AudioFormat]
if isinstance(_audio_format, Unset):
audio_format = UNSET
else:
audio_format = PeerOptionsAgentOutputAudioFormat(_audio_format)
audio_format = AudioFormat(_audio_format)

_audio_sample_rate = d.pop("audioSampleRate", UNSET)
audio_sample_rate: Union[Unset, PeerOptionsAgentOutputAudioSampleRate]
audio_sample_rate: Union[Unset, AudioSampleRate]
if isinstance(_audio_sample_rate, Unset):
audio_sample_rate = UNSET
else:
audio_sample_rate = PeerOptionsAgentOutputAudioSampleRate(
_audio_sample_rate
)
audio_sample_rate = AudioSampleRate(_audio_sample_rate)

peer_options_agent_output = cls(
agent_output = cls(
audio_format=audio_format,
audio_sample_rate=audio_sample_rate,
)

peer_options_agent_output.additional_properties = d
return peer_options_agent_output
agent_output.additional_properties = d
return agent_output

@property
def additional_keys(self) -> list[str]:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from enum import Enum


class PeerOptionsAgentOutputAudioFormat(str, Enum):
class AudioFormat(str, Enum):
"""The format of the output audio"""

PCM16 = "pcm16"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from enum import IntEnum


class PeerOptionsAgentOutputAudioSampleRate(IntEnum):
class AudioSampleRate(IntEnum):
VALUE_16000 = 16000
VALUE_24000 = 24000

Expand Down
25 changes: 11 additions & 14 deletions fishjam/_openapi_client/models/peer_options_agent.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@
from attrs import define as _attrs_define
from attrs import field as _attrs_field

from ..models.peer_options_agent_subscribe_mode import PeerOptionsAgentSubscribeMode
from ..models.subscribe_mode import SubscribeMode
from ..types import UNSET, Unset

if TYPE_CHECKING:
from ..models.peer_options_agent_output import PeerOptionsAgentOutput
from ..models.agent_output import AgentOutput


T = TypeVar("T", bound="PeerOptionsAgent")
Expand All @@ -24,15 +24,12 @@ class PeerOptionsAgent:
"""Options specific to the Agent peer

Attributes:
output (Union[Unset, PeerOptionsAgentOutput]): Output audio options
subscribe_mode (Union[Unset, PeerOptionsAgentSubscribeMode]): Configuration of peer's subscribing policy
Default: PeerOptionsAgentSubscribeMode.AUTO.
output (Union[Unset, AgentOutput]): Output audio options
subscribe_mode (Union[Unset, SubscribeMode]): Configuration of peer's subscribing policy
"""

output: Union[Unset, "PeerOptionsAgentOutput"] = UNSET
subscribe_mode: Union[Unset, PeerOptionsAgentSubscribeMode] = (
PeerOptionsAgentSubscribeMode.AUTO
)
output: Union[Unset, "AgentOutput"] = UNSET
subscribe_mode: Union[Unset, SubscribeMode] = UNSET
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)

def to_dict(self) -> dict[str, Any]:
Expand All @@ -56,22 +53,22 @@ def to_dict(self) -> dict[str, Any]:

@classmethod
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
from ..models.peer_options_agent_output import PeerOptionsAgentOutput
from ..models.agent_output import AgentOutput

d = dict(src_dict)
_output = d.pop("output", UNSET)
output: Union[Unset, PeerOptionsAgentOutput]
output: Union[Unset, AgentOutput]
if isinstance(_output, Unset):
output = UNSET
else:
output = PeerOptionsAgentOutput.from_dict(_output)
output = AgentOutput.from_dict(_output)

_subscribe_mode = d.pop("subscribeMode", UNSET)
subscribe_mode: Union[Unset, PeerOptionsAgentSubscribeMode]
subscribe_mode: Union[Unset, SubscribeMode]
if isinstance(_subscribe_mode, Unset):
subscribe_mode = UNSET
else:
subscribe_mode = PeerOptionsAgentSubscribeMode(_subscribe_mode)
subscribe_mode = SubscribeMode(_subscribe_mode)

peer_options_agent = cls(
output=output,
Expand Down

This file was deleted.

Loading