ÿØÿà 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
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     U
    e5d                     @   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e dd Zee dd Zee dd Zee dd Zee dd Zee dd Zee dd Ze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.8/sndhdr.pyr   4   s    c              
   C   s^   t | dJ}|d}tD ]*}|||}|rt|   W  5 Q R  S qW 5 Q R  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 }| dsd S | dd dkr,d}n| dd dkrBd}nd S |d z||d	}W n t|jfk
r|   Y d S X || | | d|	  fS )
Nr      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   |  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   )s    ds.s   dns.Zaur   r               U      ?)r   get_long_beget_long_le)r   r   funcfiletypeZhdr_size	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   |  dsd S t| dd }d}d|  kr6dk rfn n,| | 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 }| dr2| dd dks2| dd dkr6d S |d z||d}W n t|jfk
rl   Y d S X d	| | | d|	  fS )
Nr   s   RIFFr   r   s   WAVEr    s   fmt r   Zwav)
waver   r   r   r   r   r   r   r   r   )r   r   r>   wr   r   r	   test_wav   s    *
 
r@   c                 C   s"   |  dr| dd dkrd S dS )Nr   r   r   s   8SVX)Z8svxr   r#   r   r   )r   )r   r   r   r   r	   	test_8svx   s    rA   c                 C   s<   |  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    
rB   c                 C   sD   |  dr@t| dd }d|  kr.dkr@n n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    
rC   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   rD   r   r   r	   r*      s    r*   c                 C   s   | d d> | d B S )Nr   r   r#   r   rD   r   r   r	   get_short_be   s    rF   c                 C   s   | d d> | d B S )Nr#   r   r   r   rD   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}z8| jdd  r`t| jdd  |d ntdg|d W n* tk
r   | jd | 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}| D ]}|j|r~t|d dd |s<|rttd dd l}||j||d}t||d qtd qt|d dd |j	
  ztt| W q tk
r   td	 Y qX qd S )
Nr   z/: )endzrecursing down:*z*** directory (use -r) ***:z*** not found ***)rH   ospathisdirprintglobjoinescaperJ   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@   rA   rB   rC   r)   r*   rF   r;   rP   rJ   __name__r   r   r   r	   <module>!   sH   



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