Your IP : 3.145.152.146


Current Path : /opt/alt/python35/lib64/python3.5/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/__pycache__/sunau.cpython-35.opt-2.pyc



���]�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@seZdZdS)�ErrorN)�__name__�
__module__�__qualname__�rr�*/opt/alt/python35/lib64/python3.5/sunau.pyr�srcCsPd}xCtd�D]5}|jd�}|s4t�|dt|�}qW|S)Nrrr�)�range�read�EOFError�ord)�file�x�iZbyterrr�	_read_u32�srcCseg}xEtd�D]7}t|d�\}}|jdt|��|}qW|jt|��dS)Nrrr)r�divmod�insert�int�write�bytes)rr�datar�d�mrrr�
_write_u32�s
r'c@seZdZdd�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�krBddl}|j|d�}d|_n	d|_|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__�s	zAu_read.__del__cCs|S)Nr)r0rrr�	__enter__�szAu_read.__enter__cGs|j�dS)N)r4)r0�argsrrr�__exit__�szAu_read.__exit__cCso||_d|_tt|��}|tkr<td��tt|��|_|jdkrltd��|jdkr�td��t|�|_|jtkr�t|j�|_tt|��|_	|j	t
kr�td��|j	ttfkrd|_
d	|_n�|j	tkr3d	|_|_
nr|j	tkrUd|_|_
nP|j	tkrwd
|_|_
n.|j	tkr�d|_|_
ntd��tt|��|_tt|��|_|j|j|_|jdkr+|j|jd�|_|jjd
�\|_}}n	d|_y|j�|_Wn!ttfk
rjd|_YnXdS)Nrzbad magic numberrzheader size too small�dzheader size ridiculously largezencoding not (yet) supportedrrrrzunknown encodings�)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)rJ)r0rrr�getnchannels�szAu_read.getnchannelscCs|jS)N)rC)r0rrr�getsampwidth�szAu_read.getsampwidthcCs|jS)N)rI)r0rrr�getframerate�szAu_read.getframeratecCs4|jtkrtS|jtkr0|j|jSdS)Nr)r=r>r?r@rD)r0rrr�
getnframes�s
zAu_read.getnframescCs.|jtkrdS|jtkr&dSdSdS)N�ULAW�ALAW�NONE)r?rArB)r0rrr�getcomptype�s
zAu_read.getcomptypecCs.|jtkrdS|jtkr&dSdSdS)NzCCITT G.711 u-lawzCCITT G.711 A-lawznot compressed)r?rArB)r0rrr�getcompname�s
zAu_read.getcompnamecCs=t|j�|j�|j�|j�|j�|j��S)N)rrTrUrVrWr[r\)r0rrr�	getparamsszAu_read.getparamscCsdS)Nr)r0rrr�
getmarkersszAu_read.getmarkerscCstd��dS)Nzno marks)r)r0�idrrr�getmarkszAu_read.getmarkcCs�|jtkr�|tkr-|jj�}n|jj||j�}|jt|�|j7_|jtkr�ddl	}|j
||j�}|SdS)Nr)r?r@r>r3rrDr;�lenrA�audioopZulaw2linrC)r0�nframesr$rbrrr�
readframesszAu_read.readframescCs;|jdkrtd��|jj|j�d|_dS)Nzcannot seekr)rNrPr3�seekr;)r0rrr�rewindszAu_read.rewindcCs|jS)N)r;)r0rrrrMszAu_read.tellcCsp|dks||j�kr*td��|jdkrEtd��|jj|j||j�||_dS)Nrzposition not in rangezcannot seek)rWrrNrPr3rerDr;)r0�posrrr�setpos!szAu_read.setposcCs/|j}|r+d|_|jr+|j�dS)N)r3r.r4)r0rrrrr4)s
			z
Au_read.closeN)rrrr2r5r6r8r/rSrTrUrVrWr[r\r]r^r`rdrfrMrhr4rrrrr(�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�krBddl}|j|d�}d|_n	d|_|j|�dS)Nr)r�wbTF)r+r,r-r.r/)r0r1r,rrrr22s	zAu_write.__init__cCs |jr|j�d|_dS)N)r3r4)r0rrrr5;s	
zAu_write.__del__cCs|S)Nr)r0rrrr6@szAu_write.__enter__cGs|j�dS)N)r4)r0r7rrrr8CszAu_write.__exit__cCsg||_d|_d|_d|_d|_t|_d|_d|_d|_	d|_
d|_dS)Nrr:rX)r3rIrJrCrDr>�_nframes�_nframeswritten�_datawritten�_datalengthrK�	_comptype)r0rrrrr/Fs										zAu_write.initfpcCs:|jrtd��|dkr-td��||_dS)Nz0cannot change parameters after starting to writerrrz"only 1, 2, or 4 channels supported)rrr)rlrrJ)r0�	nchannelsrrr�setnchannelsSs
	zAu_write.setnchannelscCs|jstd��|jS)Nznumber of channels not set)rJr)r0rrrrTZs	zAu_write.getnchannelscCs:|jrtd��|dkr-td��||_dS)Nz0cannot change parameters after starting to writerrrrzbad sample width)rrrr)rlrrC)r0�	sampwidthrrr�setsampwidth_s
	zAu_write.setsampwidthcCs|jstd��|jS)Nzsample width not specified)rIrrC)r0rrrrUfs	zAu_write.getsampwidthcCs"|jrtd��||_dS)Nz0cannot change parameters after starting to write)rlrrI)r0�	frameraterrr�setframerateks	zAu_write.setframeratecCs|jstd��|jS)Nzframe rate not set)rIr)r0rrrrVps	zAu_write.getframeratecCs:|jrtd��|dkr-td��||_dS)Nz0cannot change parameters after starting to writerz# of frames cannot be negative)rlrrk)r0rcrrr�
setnframesus
	zAu_write.setnframescCs|jS)N)rl)r0rrrrW|szAu_write.getnframescCs(|dkr||_ntd��dS)NrZrXzunknown compression type)rZrX)ror)r0r+�namerrr�setcomptypeszAu_write.setcomptypecCs|jS)N)ro)r0rrrr[�szAu_write.getcomptypecCs.|jdkrdS|jdkr&dSdSdS)NrXzCCITT G.711 u-lawrYzCCITT G.711 A-lawznot compressed)ro)r0rrrr\�s
zAu_write.getcompnamecCs`|\}}}}}}|j|�|j|�|j|�|j|�|j||�dS)N)rqrsrurvrx)r0�paramsrprrrtrcZcomptypeZcompnamerrr�	setparams�s



zAu_write.setparamscCs=t|j�|j�|j�|j�|j�|j��S)N)rrTrUrVrWr[r\)r0rrrr]�szAu_write.getparamscCs|jS)N)rl)r0rrrrM�sz
Au_write.tellcCs�t|ttf�s*t|�jd�}|j�|jdkrdddl}|j||j	�}t
|�|j}|jj
|�|j||_|jt
|�|_dS)N�BrXr)�
isinstancer#�	bytearray�
memoryview�cast�_ensure_header_writtenrorbZlin2ulawrCrarDr3r"rlrm)r0r$rbrcrrr�writeframesraw�s
zAu_write.writeframesrawcCs?|j|�|j|jks1|j|jkr;|j�dS)N)r�rlrkrnrm�_patchheader)r0r$rrr�writeframes�s
zAu_write.writeframescCs|jr{zI|j�|j|jks:|j|jkrD|j�|jj�Wd|j}d|_|jrz|j	�XdS)N)
r3r�rlrkrnrmr��flushr.r4)r0rrrrr4�s	

			zAu_write.closecCsV|jsR|jstd��|js3td��|jsHtd��|j�dS)Nz# of channels not specifiedzsample width not specifiedzframe rate not specified)rlrJrrCrI�
_write_header)r0rrrr��s				zAu_write._ensure_header_writtenc
Cs|jdkr�|jdkr0t}d|_q�|jdkrQt}d|_q�|jdkrrt}d|_q�|jdkr�t}d|_q�td��n-|jdkr�t}d|_ntd��|j|j	|_t
|jt�dt
|j�}|d	d@}t
|j|�|jtkr;t}n|j|j}y|jj�|_Wn!ttfk
r�d|_YnXt
|j|�||_t
|j|�t
|j|j�t
|j|j	�|jj|j�|jjd
|t
|j�d�dS)
NrZrrrrzinternal errorrXr
r
sri����)rorCrErDrFrGrHrrArJr'r3r<rarKrkr>rM�_form_length_posrOrPrnrIr")r0�encodingZheader_size�lengthrrrr��sJ		zAu_write._write_headercCsd|jdkrtd��|jj|j�t|j|j�|j|_|jjdd�dS)Nzcannot seekrr)r�rPr3rer'rmrn)r0rrrr��szAu_write._patchheaderN)rrrr2r5r6r8r/rqrTrsrUrurVrvrWrxr[r\rzr]rMr�r�r4r�r�r�rrrrri0s2	

*riNcCsi|dkr-t|d�r'|j}nd}|dkrCt|�S|dkrYt|�Std��dS)	N�moder*�r�wrjz$mode must be 'r', 'rb', 'w', or 'wb')r�r*)r�rj)�hasattrr�r(rir)r1r�rrrr-s

r-)�collectionsrrr<rArErFrGrHZAUDIO_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_5rBr>r@�	Exceptionrrr'r(rir-Zopenfprrrr�<module>js:			��

?>