
    h*                         S SK r S SKJrJrJrJr  S SKrS SKrSSKJ	r	  SSK
Jr  \R                  R                  5       r " S S\	5      rg)    N)BinaryIOOptionalTupleUnion   )Backend)AudioMetaDatac                   B   \ rS rSr\SS\\\\R                  4   S\
\   S\S\4S jj5       r\      SS\\\\R                  4   S\S	\S
\S\S\
\   S\S\\R"                  \4   4S jj5       r\      SS\\\\R                  4   S\R"                  S\S\S\
\   S\
\   S\
\   S\S\
\\R(                  R*                  \\4      SS4S jj5       r\S\\\\R                  4   S\
\   S\4S j5       r\S\\\\R                  4   S\
\   S\4S j5       rSrg)
SoXBackend   uriformatbuffer_sizereturnc                     [        U S5      (       a  [        SS5      e[        R                  X5      nU(       a  [	        U6 $ [        SU  S35      e)Nreadz=SoX backend does not support reading from file-like objects. z`Please use an alternative backend that does support reading from file-like objects, e.g. FFmpeg.zFailed to fetch metadata for .)hasattr
ValueErrorsox_extget_infor	   RuntimeError)r   r   r   sinfos       O/var/www/auris/envauris/lib/python3.13/site-packages/torchaudio/_backend/sox.pyinfoSoXBackend.info   sW    3Or 
 $$S1E$e,,"%B3%q#IJJ    Nframe_offset
num_frames	normalizechannels_firstc                     [        U S5      (       a  [        SS5      e[        R                  [	        U 5      XX4U5      nU(       d  [        SU  S35      eU$ )Nr   z=SoX backend does not support loading from file-like objects. z`Please use an alternative backend that does support loading from file-like objects, e.g. FFmpeg.zFailed to load audio from r   )r   r   r   load_audio_filestrr   )r   r   r   r    r!   r   r   rets           r   loadSoXBackend.load   s^     3Or 
 ))#c(LiiopC"%?uA#FGGJr   srcsample_rateencodingbits_per_samplecompressionc	           
         [        U[        [        [        S 5      45      (       d  [	        SS[        U5       35      e[        U S5      (       a  [	        SS5      e[        R                  [        U 5      UUUUUUU5        g )NzISoX backend expects non-`None` value for argument `compression` to be of z2type `float` or `int`, but received value of type writez;SoX backend does not support writing to file-like objects. z^Please use an alternative backend that does support writing to file-like objects, e.g. FFmpeg.)	
isinstancefloatinttyper   r   r   save_audio_filer$   )	r   r(   r)   r!   r   r*   r+   r   r,   s	            r   saveSoXBackend.save1   s     +sDJ'?@@[DT+EVDWX  3  Mp 
 ##C	r   c                 $    [        U S5      (       + $ )Nr   r   r   r   s     r   
can_decodeSoXBackend.can_decodeS   s     3'''r   c                 $    [        U S5      (       + $ )Nr.   r7   r8   s     r   
can_encodeSoXBackend.can_encodeX   s     3(((r    )   )r   TTNr?   )TNNNr?   N)__name__
__module____qualname____firstlineno__staticmethodr   r   r$   osPathLiker   r1   r	   r   boolr   torchTensorr&   
torchaudioioCodecConfigr0   r4   r9   r<   __static_attributes__r>   r   r   r   r      s"   K%#r{{23 KXc] KY\ Khu K K  # $8S"++-.  	
    
u||S 	! ( 
  $ $"&)-NR8S"++-.\\  	
  3- "#  eJMM$=$=uc$IJK 
 B (hR[[89 (8C= (UY ( ( )hR[[89 )8C= )UY ) )r   r   )rF   typingr   r   r   r   rI   rK   backendr   commonr	   
_extensionlazy_import_sox_extr   r   r>   r   r   <module>rT      s<    	 3 3    !



3
3
5N) N)r   