o
    *i                     @   sl   d dl Z d dlmZmZmZmZ d dlZd dlmZ ddl	m
Z
 ddlmZ ddlmZ G dd	 d	eZdS )
    N)BinaryIOOptionalTupleUnion)CodecConfig   )soundfile_backend)Backend)AudioMetaDatac                   @   s"  e Zd Zeddeeeejf de	e de
defddZe				
	
		ddeeeejf de
de
dedede	e de
deeje
f fddZe	
					ddeeeejf dejde
dede	e de	e de	e
 de
de	eeee
f  ddfddZedefddZedefddZdS ) SoundfileBackend   uriformatbuffer_sizereturnc                 C   s   t | |S N)r   info)r   r   r    r   l/var/www/html/eduruby.in/lip-sync/lip-sync-env/lib/python3.10/site-packages/torchaudio/_backend/soundfile.pyr      s   zSoundfileBackend.infor   TNframe_offset
num_frames	normalizechannels_firstc                 C   s   t | |||||S r   )r   load)r   r   r   r   r   r   r   r   r   r   r      s   
zSoundfileBackend.loadsrcsample_rateencodingbits_per_samplecompressionc	           	   	   C   s(   |rt dtj| ||||||d d S )Nz:soundfile backend does not support argument `compression`.)r   r   r   )
ValueErrorr   save)	r   r   r   r   r   r   r   r   r   r   r   r   r!      s
   
zSoundfileBackend.savec                 C      dS NTr   r   r   r   r   r   
can_decode0      zSoundfileBackend.can_decodec                 C   r"   r#   r   r$   r   r   r   
can_encode4   r&   zSoundfileBackend.can_encode)r   )r   r   TTNr   )TNNNr   N)__name__
__module____qualname__staticmethodr   r   strosPathLiker   intr
   r   boolr   torchZTensorr   r   floatr!   r%   r'   r   r   r   r   r      sv    .	
r   )r-   typingr   r   r   r   r1   Ztorchaudio.ior    r   backendr	   commonr
   r   r   r   r   r   <module>   s    