ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     3

  \                 @   s.  d dgZ ddlmZ eddZdej_dej_dej_d	ej_d
ej	_dd  Z
dd Zg Zdd Zeje dd Zeje dd Zeje dd Zeje dd Zeje dd Zeje dd Zeje dd Zeje dd Zdd  Zd!d" Zd#d$ Zd%d& Zd'd( Zed)kr*e  d*S )+whatwhathdr    )
namedtuple
SndHeadersz.filetype framerate nchannels nframes sampwidthzThe 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}|jd}x"tD ]}|||}|rt| S qW d S Q R X d S )Nrbi   )openreadtestsr   )r   fhZtfr   r   r   r	   r   :   s    


c             C   s   dd l }| jdsd S | dd dkr,d}n| dd dkrBd}nd S |jd y|j|d	}W n t|jfk
rz   d S X ||j |j |j d|j	  fS )
Nr   s   FORM      s   AIFCaifcs   AIFFZaiffr)
r   
startswithseekr   EOFErrorErrorgetframerategetnchannels
getnframesgetsampwidth)r   r   r   Zfmtar   r   r	   	test_aifcK   s    

r   c             C   s   | j drt}n| d d dkr&t}nd S d}|| dd }|| dd }|| dd }|| dd	 }|| d	d
 }d}	|dkrd}
n$|dkrd}
n|dkrd}
d}	nd}
|	| }|r|| }nd}|||||
fS )Ns   .snd       ds.   dns.Zaur   r               U      ?)r   r    )r   get_long_beget_long_le)r   r   funcfiletypeZhdr_sizeZ	data_sizeencodingrate	nchannelsZsample_sizeZsample_bitsZ
frame_sizeZnframer   r   r	   test_au`   s2    

r1   c             C   sT   | dd dks | dd dkr$d S t | dd }|rBd	| }nd
}d|dddfS )NA   E   s   FSSD      s   HCOM      i"V  r   Zhcomr$   r   r)   )r*   )r   r   Zdivisorr/   r   r   r	   	test_hcom   s     
r8   c             C   st   | j dsd S t| dd }d}d|  ko4dk n  rf| | dkrfd| |d   }|rftd	| }d
|dddfS )Ns   Creative Voice Filer"      r   i  r$      r   g    .AZvocr   r)   )r   get_short_leint)r   r   Zsbseekr/   Zratecoder   r   r	   test_voc   s    
$r=   c             C   s   dd l }| jd s4| dd dks4| dd dkr8d S |jd y|j|d}W n t|jfk
rl   d S X d	|j |j |j d|j	  fS )
Nr   s   RIFFr   r   s   WAVEr!   s   fmt r   Zwav)
waver   r   Zopenfpr   r   r   r   r   r   )r   r   r>   wr   r   r	   test_wav   s    ,
r@   c             C   s$   | j d s| dd dkr d S dS )	Ns   FORMr   r   s   8SVX8svxr   r$   )rA   r   r$   r   r   )r   )r   r   r   r   r	   	test_8svx   s    rB   c             C   s<   | j dr8t| dd }t| dd }d|d|dfS d S )Ns   SOUNDr   r   r"   r9   Zsndtr$   )r   r+   r;   )r   r   Znsamplesr/   r   r   r	   	test_sndt   s    
rC   c             C   sD   | j dr@t| dd }d|  ko,dkn  r@d|dd	dfS d S )
Ns     r&   r   i  ia  Zsndrr$   r   r)   )r   r;   )r   r   r/   r   r   r	   	test_sndr   s    
rD   c             C   s,   | d d> | d d> B | d d> B | d B S )Nr   r#   r$   r!   r&   r   r'   r   )br   r   r	   r*      s    r*   c             C   s,   | d d> | d d> B | d d> B | d B S )Nr'   r#   r&   r!   r$   r   r   r   )rE   r   r   r	   r+      s    r+   c             C   s   | d d> | d B S )Nr   r   r$   r   )rE   r   r   r	   get_short_be   s    rF   c             C   s   | d d> | d B S )Nr$   r   r   r   )rE   r   r   r	   r;      s    r;   c              C   s   dd l } d}| jdd  r8| jd dkr8| jdd= d}y8| jdd  r`t| jdd  |d ntdg|d W n* tk
r   | jjd | jd Y nX d S )Nr   r$   z-rr&   .z
[Interrupted]
)sysargvtestallKeyboardInterruptstderrwriteexit)rH   	recursiver   r   r	   test   s    rP   c             C   s   dd l }dd l}x| D ]}|jj|rzt|d dd |s>|rptd dd l}|j|jj|d}t||d qtd qt|d dd |jj	  ytt
| W q tk
r   td	 Y qX qW d S )
Nr   z/: )endzrecursing down:*z*** directory (use -r) ***:z*** not found ***)rH   ospathisdirprintglobjoinrJ   stdoutflushr   OSError)listrO   ZtoplevelrH   rU   r   rY   namesr   r   r	   rJ      s"    


rJ   __main__N)__all__collectionsr   r   r-   __doc__Z	framerater0   ZnframesZ	sampwidthr   r   r   r   appendr1   r8   r=   r@   rB   rC   rD   r*   r+   rF   r;   rP   rJ   __name__r   r   r   r	   <module>!   sF   









