] @ sp d d g Z d d l m Z e d d Z 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 rle d% S)&whatwhathdr )
namedtuple
SndHeadersz.filetype framerate nchannels nframes sampwidthc C s t | } | S)N)r )filenameres r +/opt/alt/python35/lib64/python3.5/sndhdr.pyr ( s c C s` t | d J } | j d } x- t D]% } | | | } | r( t | Sq( Wd SWd QRXd S)Nrbi )openreadtestsr )r fhZtfr 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 r] d } n d S| j d y | j | d } Wn t | j f k
r d SYn X| | j | j | j d | j f S)
Nr s FORM s AIFCaifcs AIFFZaiffr)
r
startswithseekr EOFErrorErrorgetframerategetnchannels
getnframesgetsampwidth)r r r fmtar r r test_aifc? s
r c
C s6 | j d r t } n# | d d d k r7 t } n d Sd } | | d d } | | d d } | | d d } | | d d } | | d d
} d } | d k r d }
n6 | d
k r d }
n! | d k r d }
d
} n d }
| | } | r| | } n d } | | | | |
f S)Ns .snd ds. dns.Zaur r U ?)r r! )r get_long_beget_long_le)
r r funcZfiletypeZhdr_sizeZ data_sizeencodingrateZ nchannelsZsample_sizeZsample_bits
frame_sizeZnframer r r test_auT s2
r1 c C sr | d d d k s, | d d d k r0 d St | d d } | rY d | } n d
} d | d d d
f S)NA E s FSSD s HCOM i"V r Zhcomr% r r* )r+ )r r Zdivisorr/ r r r test_hcomu s ,
r8 c C s | j d s d St | d d } d } d | k oF d k n r | | d k r d | | d } | r t d | } d
| d d d f S)
Ns Creative Voice Filer# r i r% r g .AZvocr r* )r get_short_leint)r r Zsbseekr/ Zratecoder r r test_voc s ,r= c C s d d l } | j d sH | d d d k sH | d d d k rL d S| j d y | j | d } Wn t | j f k
r d SYn Xd | j | j | j d | j f S)
Nr s RIFFr r s WAVEr" s fmt r Zwav)
waver r Zopenfpr r r r r r )r r r> wr r r test_wav s <
r@ c C s. | j d s&