a
    h                     @   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eeeejf e	e e
edddZedeeeejf e
e
eee	e e
eeje
f d	d
dZedeeeejf eje
ee	e e	e e	e
 e
e	eeee
f  dd
ddZeedddZeedddZdS )SoundfileBackend   )uriformatbuffer_sizereturnc                 C   s   t | |S N)r   info)r   r   r    r   K/var/www/auris/lib/python3.9/site-packages/torchaudio/_backend/soundfile.pyr      s    zSoundfileBackend.infor   TN)r   frame_offset
num_frames	normalizechannels_firstr   r   r   c                 C   s   t | |||||S r   )r   load)r   r   r   r   r   r   r   r   r   r   r      s    
zSoundfileBackend.load)
r   srcsample_rater   r   encodingbits_per_sampler   compressionr   c	           	   	   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.save)r   c                 C   s   dS NTr   r   r   r   r   r   
can_decode0   s    zSoundfileBackend.can_decodec                 C   s   dS r"   r   r#   r   r   r   
can_encode4   s    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      sT   (            r   )r+   typingr   r   r   r   r/   Ztorchaudio.ior    r   backendr	   commonr
   r   r   r   r   r   <module>   s   