
    h#                     t    S SK r S SKJrJrJrJrJrJrJrJ	r	J
r
JrJr  SSKJr  SSKJr  Sr  " S S\5      rg)	    N)RoomCompositeEgressRequestWebEgressRequestParticipantEgressRequestTrackCompositeEgressRequestTrackEgressRequestUpdateLayoutRequestUpdateStreamRequestListEgressRequestStopEgressRequest
EgressInfoListEgressResponse   )Service)VideoGrantsEgressc                      ^  \ rS rSrSrS\R                  S\S\S\4U 4S jjrS\	S	\
4S
 jrS\S	\
4S jrS\S	\
4S jrS\S	\
4S jrS\S	\
4S jrS\S	\
4S jrS\S	\
4S jrS\S	\4S jrS\S	\
4S jrSrU =r$ )EgressService   zClient for LiveKit Egress Service API

Recommended way to use this service is via `livekit.api.LiveKitAPI`:

```python
from livekit import api
lkapi = api.LiveKitAPI()
egress = lkapi.egress
```

Also see https://docs.livekit.io/home/egress/overview/
sessionurlapi_key
api_secretc                 &   > [         TU ]  XX45        g )N)super__init__)selfr   r   r   r   	__class__s        L/var/www/html/env/lib/python3.13/site-packages/livekit/api/egress_service.pyr   EgressService.__init__$   s    w;    startreturnc                    #    U R                   R                  [        SUU R                  [	        SS95      [
        5      I Sh  vN $  N7f)z'Starts a composite recording of a room.StartRoomCompositeEgressTroom_recordN_clientrequestSVC_auth_headerr   r   r   r!   s     r   start_room_composite_egress)EgressService.start_room_composite_egress'   sE     \\))&kd;<
 
 	
 
   AA
AA
c                    #    U R                   R                  [        SUU R                  [	        SS95      [
        5      I Sh  vN $  N7f)z!Starts a recording of a web page.StartWebEgressTr%   Nr'   r,   s     r   start_web_egressEgressService.start_web_egress1   sE     \\))kd;<
 
 	
 
r/   c                    #    U R                   R                  [        SUU R                  [	        SS95      [
        5      I Sh  vN $  N7f)z$Starts a recording of a participant.StartParticipantEgressTr%   Nr'   r,   s     r   start_participant_egress&EgressService.start_participant_egress;   sE     \\))$kd;<
 
 	
 
r/   c                    #    U R                   R                  [        SUU R                  [	        SS95      [
        5      I Sh  vN $  N7f)z9Starts a composite recording with audio and video tracks.StartTrackCompositeEgressTr%   Nr'   r,   s     r   start_track_composite_egress*EgressService.start_track_composite_egressE   sE     \\))'kd;<
 
 	
 
r/   c                    #    U R                   R                  [        SUU R                  [	        SS95      [
        5      I Sh  vN $  N7f)z%Starts a recording of a single track.StartTrackEgressTr%   Nr'   r,   s     r   start_track_egress EgressService.start_track_egressO   sE     \\))kd;<
 
 	
 
r/   updatec                    #    U R                   R                  [        SUU R                  [	        SS95      [
        5      I Sh  vN $  N7f)z,Updates the layout of a composite recording.UpdateLayoutTr%   Nr'   r   r@   s     r   update_layoutEgressService.update_layoutY   E     \\))kd;<
 
 	
 
r/   c                    #    U R                   R                  [        SUU R                  [	        SS95      [
        5      I Sh  vN $  N7f)zEUpdates the stream of a RoomComposite, Web, or Participant recording.UpdateStreamTr%   Nr'   rC   s     r   update_streamEgressService.update_streamc   rF   r/   listc                    #    U R                   R                  [        SUU R                  [	        SS95      [
        5      I Sh  vN $  N7f)a0  Lists all active egress and recently completed recordings.

Args:
    list (ListEgressRequest): arg contains optional filters:
        - room_name: str - List all egresses for a specific room
        - egress_id: str - Only list egress with matching ID
        - active: bool - Only list active egresses

ListEgressTr%   N)r(   r)   r*   r+   r   r   )r   rK   s     r   list_egressEgressService.list_egressm   sG      \\))kd;<
 
 	
 
r/   stopc                    #    U R                   R                  [        SUU R                  [	        SS95      [
        5      I Sh  vN $  N7f)z!Stops an active egress recording.
StopEgressTr%   Nr'   )r   rP   s     r   stop_egressEgressService.stop_egress~   sE     \\))kd;<
 
 	
 
r/    )__name__
__module____qualname____firstlineno____doc__aiohttpClientSessionstrr   r   r   r-   r   r2   r   r6   r   r:   r   r>   r   rD   r	   rI   r
   r   rN   r   rS   __static_attributes____classcell__)r   s   @r   r   r      s    < 5 5 <C <# <[^ <
7Q 
V` 

,< 
 

4L 
Q[ 

8S 
Xb 

.@ 
Z 

*= 
* 

*= 
* 

&7 
<N 
"
&7 
J 
 
r    r   )r[   livekit.protocol.egressr   r   r   r   r   r   r	   r
   r   r   r   _servicer   access_tokenr   r*   r   rU   r    r   <module>rc      s:         % p
G p
r    