
    q	hq                         S SK JrJr  S SKrSSKJrJr  SSKJr	  SSKJ
r  SSKJr  SSKJrJrJr   " S	 S
5      r " S S\5      r " S S\5      rg)    )OptionalcastN   )	FfiHandle	FfiClient)e2ee_pb2)ffi_pb2)	track_pb2)Track
LocalTrackRemoteTrackc                      \ rS rSrS\R
                  4S jr\S\\	   4S j5       r
\S\4S j5       r\S\4S j5       r\S\R                  R                  4S j5       r\S\R"                  R                  4S	 j5       r\S\4S
 j5       r\S\4S j5       r\S\4S j5       r\S\4S j5       r\S\4S j5       r\S\R6                  R                  4S j5       rSrg)TrackPublication   
owned_infoc                 |    UR                   U l        S U l        [        UR                  R
                  5      U l        g N)info_info_trackr   handleid_ffi_handle)selfr   s     O/var/www/html/env/lib/python3.13/site-packages/livekit/rtc/track_publication.py__init__TrackPublication.__init__   s-    __
'+$Z%6%6%9%9:    returnc                     U R                   $ r   )r   r   s    r   trackTrackPublication.track   s    {{r   c                 .    U R                   R                  $ r   )r   sidr!   s    r   r%   TrackPublication.sid#   s    zz~~r   c                 .    U R                   R                  $ r   )r   namer!   s    r   r(   TrackPublication.name'       zzr   c                 .    U R                   R                  $ r   )r   kindr!   s    r   r,   TrackPublication.kind+   r*   r   c                 .    U R                   R                  $ r   )r   sourcer!   s    r   r/   TrackPublication.source/       zz   r   c                 .    U R                   R                  $ r   )r   simulcastedr!   s    r   r3   TrackPublication.simulcasted3   s    zz%%%r   c                 .    U R                   R                  $ r   )r   widthr!   s    r   r6   TrackPublication.width7       zzr   c                 .    U R                   R                  $ r   )r   heightr!   s    r   r:   TrackPublication.height;   r1   r   c                 .    U R                   R                  $ r   )r   	mime_typer!   s    r   r=   TrackPublication.mime_type?   s    zz###r   c                 .    U R                   R                  $ r   )r   mutedr!   s    r   r@   TrackPublication.mutedC   r8   r   c                 .    U R                   R                  $ r   )r   encryption_typer!   s    r   rC    TrackPublication.encryption_typeG   s    zz)))r   )r   r   r   N)__name__
__module____qualname____firstlineno__proto_trackOwnedTrackPublicationr   propertyr   r   r"   strr%   r(   	TrackKind	ValueTyper,   TrackSourcer/   boolr3   intr6   r:   r=   r@   
proto_e2eeEncryptionTyperC   __static_attributes__ r   r   r   r      se   ;;#D#D ;
 x   S   c   k++55   !//99 ! ! &T & &  s     ! ! ! $3 $ $  t     *!:!:!D!D * *r   r   c                   z   ^  \ rS rSrS\R
                  4U 4S jjr\S\\	   4S j5       r
S	S jrS\4S jrSrU =r$ )
LocalTrackPublicationL   r   c                 X   > [         TU ]  U5        [        R                  " 5       U l        g r   )superr   asyncioFuture_first_subscriptionr   r   	__class__s     r   r   LocalTrackPublication.__init__M   s    $9@9I r   r   c                 D    [        [        [           U R                  5      $ r   )r   r   r   r   r!   s    r   r"   LocalTrackPublication.trackQ   s    HZ($++66r   c                 `   #    [         R                  " U R                  5      I S h  vN   g  N7fr   )r[   shieldr]   r!   s    r   wait_for_subscription+LocalTrackPublication.wait_for_subscriptionU   s     nnT55666s   $.,.c           	      p    SU R                    SU R                   SU R                   SU R                   S3	$ )Nzrtc.LocalTrackPublication(sid=, name=, kind=	, source=)r%   r(   r,   r/   r!   s    r   __repr__LocalTrackPublication.__repr__X   s=    /z7SWS\S\R]]fgkgrgrfsstuur   )r]   )r   N)rE   rF   rG   rH   rI   rJ   r   rK   r   r   r"   re   rL   rm   rT   __classcell__r_   s   @r   rW   rW   L   sP    J;#D#D J 7x
+ 7 77v# v vr   rW   c                      ^  \ rS rSrS\R
                  4U 4S jjr\S\\	   4S j5       r
\S\4S j5       rS\4S jrS\4S	 jrS
rU =r$ )RemoteTrackPublication\   r   c                 2   > [         TU ]  U5        SU l        g )NF)rZ   r   _subscribedr^   s     r   r   RemoteTrackPublication.__init__]   s    $ r   r   c                 D    [        [        [           U R                  5      $ r   )r   r   r   r   r!   s    r   r"   RemoteTrackPublication.tracka   s    H[)4;;77r   c                     U R                   $ r   ru   r!   s    r   
subscribed!RemoteTrackPublication.subscribede   s    r   r{   c                     [         R                  " 5       nXR                  l        U R                  R
                  UR                  l        [        R                  R                  U5        g r   )
	proto_ffi
FfiRequestset_subscribed	subscriber   r   publication_handler   instancerequest)r   r{   reqs      r   r   %RemoteTrackPublication.set_subscribedi   sJ    ""$'1$040@0@0G0G-""3'r   c           	      p    SU R                    SU R                   SU R                   SU R                   S3	$ )Nzrtc.RemoteTrackPublication(sid=rh   ri   rj   rk   rl   r!   s    r   rm   RemoteTrackPublication.__repr__o   s=    0
'$))GTXT]T]S^^ghlhshsgttuvvr   rz   )rE   rF   rG   rH   rI   rJ   r   rK   r   r   r"   rP   r{   r   rL   rm   rT   ro   rp   s   @r   rr   rr   \   sp    !;#D#D ! 8x, 8 8  D    ( (w# w wr   rr   )typingr   r   r[   _ffi_clientr   r   _protor   rR   r	   r~   r
   rI   r"   r   r   r   r   rW   rr   rU   r   r   <module>r      sH    "  - * ( , 1 10* 0*fv, v w- wr   