File: //lib64/python3.6/__pycache__/sndhdr.cpython-36.opt-2.pyc
3
  \�  �               @   s.  d dgZ ddlmZ edd�Zdej_dej_dej_d	ej_d
ej	_dd � Z
dd� Zg Zd
d� Z
eje
� dd� Zeje� dd� Zeje� dd� Zeje� dd� Zeje� dd� Zeje� dd� Zeje� dd� Zeje� dd� Zdd � Zd!d"� Zd#d$� Zd%d&� Zd'd(� Zed)k�r*e�  d*S )+�what�whathdr�    )�
namedtuple�
SndHeadersz.filetype framerate nchannels nframes sampwidthz�The value for type indicates the data type
and will be one of the strings 'aifc', 'aiff', 'au','hcom',
'sndr', 'sndt', 'voc', 'wav', '8svx', 'sb', 'ub', or 'ul'.zYThe sampling_rate will be either the actual
value or 0 if unknown or difficult to decode.z^The number of channels or 0 if it cannot be
determined or if the value is difficult to decode.z?The value for frames will be either the number
of frames or -1.zAEither the sample size in bits or
'A' for A-LAW or 'U' for u-LAW.c             C   s   t | �}|S )N)r   )�filename�res� r   �/usr/lib64/python3.6/sndhdr.pyr   4   s    c             C   sH   t | d��4}|jd�}x"tD ]}|||�}|rt|� S qW d S Q R X d S )N�rbi   )�open�read�testsr   )r   �f�hZtfr   r   r   r	   r   :   s    
c             C   s�   dd l }| jd�sd S | dd� dkr,d}n| dd� dkrBd}nd S |jd� y|j|d	�}W n t|jfk
rz   d S X ||j� |j� |j� d|j	�  fS )
Nr   s   FORM�   �   s   AIFC�aifcs   AIFFZaiff�r)
r   �
startswith�seekr   �EOFError�Error�getframerate�getnchannels�
getnframes�getsampwidth)r   r   r   Zfmt�ar   r   r	   �	test_aifcK   s    
r   c       
      C   s�   | j d�rt}n| d d� dkr&t}nd S d}|| dd� �}|| dd� �}|| dd� �}|| dd	� �}|| d	d
� �}d}	|dkr�d}
n$|d
kr�d}
n|dkr�d}
d
}	nd}
|	| }|r�|| }nd}|||||
fS )Ns   .snd�   �    ds.�   dns.Zaur   r   �   �   �   �   �U�   �   �?)r   r    ���)r   �get_long_be�get_long_le)
r   r   �func�filetypeZhdr_sizeZ	data_size�encoding�rate�	nchannelsZsample_sizeZsample_bitsZ
frame_sizeZnframer   r   r	   �test_au`   s2    
r1   c             C   sT   | dd� dks | dd� dkr$d S t | dd� �}|rBd	| }nd
}d|ddd
fS )N�A   �E   s   FSSD�   �   s   HCOM�   �   i"V  r   Zhcomr$   r   r)   )r*   )r   r   Zdivisorr/   r   r   r	   �	test_hcom�   s     
r8   c             C   st   | j d�sd S t| dd� �}d}d|  ko4dk n  rf| | dkrfd| |d   }|rftd	| �}d
|dddfS )
Ns   Creative Voice Filer"