Your IP : 3.22.217.176


Current Path : /opt/alt/python36/lib64/python3.6/__pycache__/
Upload File :
Current File : //opt/alt/python36/lib64/python3.6/__pycache__/sunau.cpython-36.opt-2.pyc

3

��2a�F�@s�ddlmZedd�ZdZdZdZdZdZd	Zd
Z	dZ
dZd
ZdZ
dZdZdZeeeeeegZGdd�de�Zdd�Zdd�ZGdd�d�ZGdd�d�Zddd�ZeZdS) �)�
namedtuple�
_sunau_paramsz7nchannels sampwidth framerate nframes comptype compnameidns.������������l��c@seZdZdS)�ErrorN)�__name__�
__module__�__qualname__�rr�*/opt/alt/python36/lib64/python3.6/sunau.pyr�srcCs<d}x2td�D]&}|jd�}|s$t�|dt|�}qW|S)Nrrr�)�range�read�EOFError�ord)�file�x�iZbyterrr�	_read_u32�s
rcCsJg}x2td�D]&}t|d�\}}|jdt|��|}qW|jt|��dS)Nrrr)r�divmod�insert�int�write�bytes)rr�datar�d�mrrr�
_write_u32�sr'c@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)S)*�Au_readcCs@t|�td�kr,ddl}|j|d�}d|_nd|_|j|�dS)N�r�rbTF)�type�builtins�open�_opened�initfp)�self�fr,rrr�__init__�szAu_read.__init__cCs|jr|j�dS)N)�_file�close)r0rrr�__del__�szAu_read.__del__cCs|S)Nr)r0rrr�	__enter__�szAu_read.__enter__cGs|j�dS)N)r4)r0�argsrrr�__exit__�szAu_read.__exit__cCs�||_d|_tt|��}|tkr(td��tt|��|_|jdkrHtd��|jdkrZtd��t|�|_|jtkrzt|j�|_tt|��|_	|j	t
kr�td��|j	ttfkr�d|_
d	|_nj|j	tkr�d	|_|_
nR|j	tkr�d|_|_
n:|j	tkr�d
|_|_
n"|j	tk�rd|_|_
ntd��tt|��|_tt|��|_|j|j|_|jdk�r~|j|jd�|_|jjd
�\|_}}nd|_y|j�|_Wn ttfk
�r�d|_YnXdS)Nrzbad magic numberrzheader size too small�dzheader size ridiculously largezencoding not (yet) supportedrrrrzunknown encoding��)r3�	_soundposr!r�AUDIO_FILE_MAGICrZ	_hdr_size�
_data_size�AUDIO_UNKNOWN_SIZE�	_encoding�_simple_encodings�AUDIO_FILE_ENCODING_MULAW_8�AUDIO_FILE_ENCODING_ALAW_8�
_sampwidth�
_framesize�AUDIO_FILE_ENCODING_LINEAR_8�AUDIO_FILE_ENCODING_LINEAR_16�AUDIO_FILE_ENCODING_LINEAR_24�AUDIO_FILE_ENCODING_LINEAR_32�
_framerate�
_nchannelsr�_info�	partition�tell�	_data_pos�AttributeError�OSError)r0r�magic�_rrrr/�sP







zAu_read.initfpcCs|jS)N)r3)r0rrr�getfp�sz
Au_read.getfpcCs|jS)N)rK)r0rrr�getnchannels�szAu_read.getnchannelscCs|jS)N)rD)r0rrr�getsampwidth�szAu_read.getsampwidthcCs|jS)N)rJ)r0rrr�getframerate�szAu_read.getframeratecCs(|jtkrtS|jtkr$|j|jSdS)Nr)r>r?r@rArE)r0rrr�
getnframes�s


zAu_read.getnframescCs$|jtkrdS|jtkrdSdSdS)N�ULAW�ALAW�NONE)r@rBrC)r0rrr�getcomptype�s


zAu_read.getcomptypecCs$|jtkrdS|jtkrdSdSdS)NzCCITT G.711 u-lawzCCITT G.711 A-lawznot compressed)r@rBrC)r0rrr�getcompname�s


zAu_read.getcompnamecCs*t|j�|j�|j�|j�|j�|j��S)N)rrUrVrWrXr\r])r0rrr�	getparamsszAu_read.getparamscCsdS)Nr)r0rrr�
getmarkersszAu_read.getmarkerscCstd��dS)Nzno marks)r)r0�idrrr�getmarkszAu_read.getmarkcCsp|jtkrl|tkr|jj�}n|jj||j�}|jt|�|j7_|jtkrhddl	}|j
||j�}|SdS)Nr)r@rAr?r3rrEr<�lenrB�audioopZulaw2linrD)r0�nframesr$rcrrr�
readframess

zAu_read.readframescCs*|jdkrtd��|jj|j�d|_dS)Nzcannot seekr)rOrQr3�seekr<)r0rrr�rewinds
zAu_read.rewindcCs|jS)N)r<)r0rrrrNszAu_read.tellcCsP|dks||j�krtd��|jdkr.td��|jj|j||j�||_dS)Nrzposition not in rangezcannot seek)rXrrOrQr3rfrEr<)r0�posrrr�setpos!s
zAu_read.setposcCs"|j}|rd|_|jr|j�dS)N)r3r.r4)r0rrrrr4)s
z
Au_read.closeN)rrrr2r5r6r8r/rTrUrVrWrXr\r]r^r_rarergrNrir4rrrrr(�s(	,
r(c@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3S)4�Au_writecCs@t|�td�kr,ddl}|j|d�}d|_nd|_|j|�dS)Nr)r�wbTF)r+r,r-r.r/)r0r1r,rrrr22szAu_write.__init__cCs|jr|j�d|_dS)N)r3r4)r0rrrr5;szAu_write.__del__cCs|S)Nr)r0rrrr6@szAu_write.__enter__cGs|j�dS)N)r4)r0r7rrrr8CszAu_write.__exit__cCsF||_d|_d|_d|_d|_t|_d|_d|_d|_	d|_
d|_dS)Nrr;rY)r3rJrKrDrEr?�_nframes�_nframeswritten�_datawritten�_datalengthrL�	_comptype)r0rrrrr/FszAu_write.initfpcCs(|jrtd��|dkrtd��||_dS)Nz0cannot change parameters after starting to writerrrz"only 1, 2, or 4 channels supported)rrr)rmrrK)r0�	nchannelsrrr�setnchannelsSs
zAu_write.setnchannelscCs|jstd��|jS)Nznumber of channels not set)rKr)r0rrrrUZszAu_write.getnchannelscCs(|jrtd��|dkrtd��||_dS)Nz0cannot change parameters after starting to writerrrrzbad sample width)rrrr)rmrrD)r0�	sampwidthrrr�setsampwidth_s
zAu_write.setsampwidthcCs|jstd��|jS)Nzsample width not specified)rJrrD)r0rrrrVfszAu_write.getsampwidthcCs|jrtd��||_dS)Nz0cannot change parameters after starting to write)rmrrJ)r0�	frameraterrr�setframeratekszAu_write.setframeratecCs|jstd��|jS)Nzframe rate not set)rJr)r0rrrrWpszAu_write.getframeratecCs(|jrtd��|dkrtd��||_dS)Nz0cannot change parameters after starting to writerz# of frames cannot be negative)rmrrl)r0rdrrr�
setnframesus
zAu_write.setnframescCs|jS)N)rm)r0rrrrX|szAu_write.getnframescCs|dkr||_ntd��dS)Nr[rYzunknown compression type)r[rY)rpr)r0r+�namerrr�setcomptypeszAu_write.setcomptypecCs|jS)N)rp)r0rrrr\�szAu_write.getcomptypecCs$|jdkrdS|jdkrdSdSdS)NrYzCCITT G.711 u-lawrZzCCITT G.711 A-lawznot compressed)rp)r0rrrr]�s


zAu_write.getcompnamecCsH|\}}}}}}|j|�|j|�|j|�|j|�|j||�dS)N)rrrtrvrwry)r0�paramsrqrsrurdZcomptypeZcompnamerrr�	setparams�s



zAu_write.setparamscCs*t|j�|j�|j�|j�|j�|j��S)N)rrUrVrWrXr\r])r0rrrr^�szAu_write.getparamscCs|jS)N)rm)r0rrrrN�sz
Au_write.tellcCs~t|ttf�st|�jd�}|j�|jdkrDddl}|j||j	�}t
|�|j}|jj
|�|j||_|jt
|�|_dS)N�BrYr)�
isinstancer#�	bytearray�
memoryview�cast�_ensure_header_writtenrprcZlin2ulawrDrbrEr3r"rmrn)r0r$rcrdrrr�writeframesraw�s
zAu_write.writeframesrawcCs.|j|�|j|jks"|j|jkr*|j�dS)N)r�rmrlrorn�_patchheader)r0r$rrr�writeframes�s
zAu_write.writeframescCs^|jrZz6|j�|j|jks(|j|jkr0|j�|jj�Wd|j}d|_|jrX|j	�XdS)N)
r3r�rmrlrornr��flushr.r4)r0rrrrr4�szAu_write.closecCs<|js8|jstd��|js"td��|js0td��|j�dS)Nz# of channels not specifiedzsample width not specifiedzframe rate not specified)rmrKrrDrJ�
_write_header)r0rrrr��szAu_write._ensure_header_writtenc
Cs�|jdkrl|jdkr t}d|_q�|jdkr6t}d|_q�|jdkrLt}d|_q�|jdkrbt}d|_q�td��n|jdkr�t}d|_ntd��|j|j	|_t
|jt�dt
|j�}|d	d@}t
|j|�|jtkr�t}n|j|j}y|jj�|_Wn ttfk
�rd|_YnXt
|j|�||_t
|j|�t
|j|j�t
|j|j	�|jj|j�|jjd
|t
|j�d�dS)
Nr[rrrrzinternal errorrYr
r
r:ri����)rprDrFrErGrHrIrrBrKr'r3r=rbrLrlr?rN�_form_length_posrPrQrorJr")r0�encodingZheader_sizeZlengthrrrr��sJ







zAu_write._write_headercCsH|jdkrtd��|jj|j�t|j|j�|j|_|jjdd�dS)Nzcannot seekrr)r�rQr3rfr'rnro)r0rrrr��s
zAu_write._patchheaderN)rrrr2r5r6r8r/rrrUrtrVrvrWrwrXryr\r]r{r^rNr�r�r4r�r�r�rrrrrj0s2	

*rjNcCsJ|dkrt|d�r|j}nd}|dkr.t|�S|dkr>t|�Std��dS)	N�moder*�r�wrkz$mode must be 'r', 'rb', 'w', or 'wb')r�r*)r�rk)�hasattrr�r(rjr)r1r�rrrr-s
r-)N)�collectionsrrr=rBrFrGrHrIZAUDIO_FILE_ENCODING_FLOATZAUDIO_FILE_ENCODING_DOUBLEZAUDIO_FILE_ENCODING_ADPCM_G721ZAUDIO_FILE_ENCODING_ADPCM_G722Z AUDIO_FILE_ENCODING_ADPCM_G723_3Z AUDIO_FILE_ENCODING_ADPCM_G723_5rCr?rA�	Exceptionrrr'r(rjr-Zopenfprrrr�<module>js>	Q


?>