Your IP : 3.129.210.36


Current Path : /opt/alt/python310/lib64/python3.10/__pycache__/
Upload File :
Current File : //opt/alt/python310/lib64/python3.10/__pycache__/sunau.cpython-310.opt-2.pyc

o

6��f�F�@s�	ddlmZedd�ZdZdZdZdZdZd	Zd
Z	dZ
dZd
ZdZ
dZdZdZeeeeeegZGdd�de�Zdd�Zdd�ZGdd�d�ZGdd�d�Zddd�ZdS) �)�
namedtuple�
_sunau_paramsz7nchannels sampwidth framerate nframes comptype compnameidns.������������l��c@seZdZdS)�ErrorN)�__name__�
__module__�__qualname__�rr�,/opt/alt/python310/lib64/python3.10/sunau.pyr�srcCs8d}td�D]}|�d�}|st�|dt|�}q|S)Nrrr�)�range�read�EOFError�ord)�file�x�iZbyterrr�	_read_u32�s
rcCsFg}td�D]}t|d�\}}|�dt|��|}q|�t|��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_readcC�@t|�td�krddl}|�|d�}d|_nd|_|�|�dS)N�r�rbTF��type�builtins�open�_opened�initfp��self�fr.rrr�__init__��zAu_read.__init__cCs|jr	|��dSdS�N��_file�close�r3rrr�__del__�s�zAu_read.__del__cC�|Sr7rr;rrr�	__enter__��zAu_read.__enter__cG�|��dSr7�r:�r3�argsrrr�__exit__��zAu_read.__exit__c	Cs�||_d|_tt|��}|tkrtd��tt|��|_|jdkr$td��|jdkr-td��t|�|_|jtkr=t|j�|_tt|��|_	|j	t
vrMtd��|j	ttfvr[d|_
d	|_n4|j	tkrgd	|_|_
n(|j	tkrsd|_|_
n|j	tkrd
|_|_
n|j	tkr�d|_|_
ntd��tt|��|_tt|��|_|js�td
��|j|j|_|jdkr�|�|jd�|_|j�d�\|_}}nd|_z|��|_WdSttfy�d|_YdSw)Nrzbad magic numberrzheader size too small�dzheader size ridiculously largezencoding not (yet) supportedrrrrzunknown encodingzbad # of channels��)r9�	_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)r3r�magic�_rrrr1�sX




�




�zAu_read.initfpcC�|jSr7)r9r;rrr�getfp��z
Au_read.getfpcCrar7)rXr;rrr�getnchannels�rczAu_read.getnchannelscCrar7)rQr;rrr�getsampwidth�rczAu_read.getsampwidthcCrar7)rWr;rrr�getframerate�rczAu_read.getframeratecCs(|jtkrtS|jtvr|j|jSdS�Nr)rKrLrMrNrRr;rrr�
getnframes�s


zAu_read.getnframescC� |jtkrdS|jtkrdSdS)N�ULAW�ALAW�NONE�rMrOrPr;rrr�getcomptype��


zAu_read.getcomptypecCri)N�CCITT G.711 u-law�CCITT G.711 A-law�not compressedrmr;rrr�getcompname�rozAu_read.getcompnamecC�*t|��|��|��|��|��|���Sr7�rrdrerfrhrnrsr;rrr�	getparams��zAu_read.getparamscCsdSr7rr;rrr�
getmarkersr?zAu_read.getmarkerscCstd��)Nzno marks)r)r3�idrrr�getmarkszAu_read.getmarkcCsp|jtvr6|tkr|j��}n	|j�||j�}|jt|�|j7_|jtkr4ddl	}|�
||j�}|SdSrg)rMrNrLr9rrRrI�lenrO�audioopZulaw2linrQ)r3�nframesr$r|rrr�
readframess

zAu_read.readframescCs*|jdur	td��|j�|j�d|_dS)N�cannot seekr)r\r^r9�seekrIr;rrr�rewinds

zAu_read.rewindcCrar7)rIr;rrrr[!rczAu_read.tellcCsP|dks
||��krtd��|jdurtd��|j�|j||j�||_dS)Nrzposition not in ranger)rhrr\r^r9r�rRrI)r3�posrrr�setpos$s

zAu_read.setposcCs*|j}|rd|_|jr|��dSdSdSr7)r9r0r:�r3rrrrr:,s�z
Au_read.closeN)rrrr5r<r>rDr1rbrdrerfrhrnrsrvrxrzr~r�r[r�r:rrrrr(�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_writecCr))Nr*r�wbTFr,r2rrrr55r6zAu_write.__init__cCs|jr|��d|_dSr7r8r;rrrr<>�
zAu_write.__del__cCr=r7rr;rrrr>Cr?zAu_write.__enter__cGr@r7rArBrrrrDFrEzAu_write.__exit__cCsF||_d|_d|_d|_d|_t|_d|_d|_d|_	d|_
d|_dS)NrrHrj)r9rWrXrQrRrL�_nframes�_nframeswritten�_datawritten�_datalengthrY�	_comptyper�rrrr1Is
zAu_write.initfpcC�(|jrtd��|dvrtd��||_dS)N�0cannot change parameters after starting to write)rrrz"only 1, 2, or 4 channels supported)r�rrX)r3�	nchannelsrrr�setnchannelsV�

zAu_write.setnchannelscC�|jstd��|jS)Nznumber of channels not set)rXrr;rrrrd]�zAu_write.getnchannelscCr�)Nr�)rrrrzbad sample width)r�rrQ)r3�	sampwidthrrr�setsampwidthbr�zAu_write.setsampwidthcCs|jstd��|jS)N�sample width not specified)rWrrQr;rrrreir�zAu_write.getsampwidthcCs|jrtd��||_dS)Nr�)r�rrW)r3�	frameraterrr�setframeratenr�zAu_write.setframeratecCr�)Nzframe rate not set)rWrr;rrrrfsr�zAu_write.getframeratecCs(|jrtd��|dkrtd��||_dS)Nr�rz# of frames cannot be negative)r�rr�)r3r}rrr�
setnframesxr�zAu_write.setnframescCrar7�r�r;rrrrhrczAu_write.getnframescCs|dvr	||_dStd��)N)rlrjzunknown compression type)r�r)r3r-�namerrr�setcomptype�s
zAu_write.setcomptypecCrar7�r�r;rrrrn�rczAu_write.getcomptypecCs |jdkrdS|jdkrdSdS)Nrjrprkrqrrr�r;rrrrs�rozAu_write.getcompnamecCsH|\}}}}}}|�|�|�|�|�|�|�|�|�||�dSr7)r�r�r�r�r�)r3�paramsr�r�r�r}ZcomptypeZcompnamerrr�	setparams�s



zAu_write.setparamscCrtr7rur;rrrrv�rwzAu_write.getparamscCrar7r�r;rrrr[�rcz
Au_write.tellcCs~t|ttf�st|��d�}|��|jdkr"ddl}|�||j	�}t
|�|j}|j�
|�|j||_|jt
|�|_dS)N�Brjr)�
isinstancer#�	bytearray�
memoryview�cast�_ensure_header_writtenr�r|Zlin2ulawrQr{rRr9r"r�r�)r3r$r|r}rrr�writeframesraw�s
zAu_write.writeframesrawcCs2|�|�|j|jks|j|jkr|��dSdSr7)r�r�r�r�r��_patchheader)r3r$rrr�writeframes�s

�zAu_write.writeframescCs�|jr>z+|��|j|jks|j|jkr|��|j��W|j}d|_|jr-|�	�dSdS|j}d|_|jr=|�	�wwdSr7)
r9r�r�r�r�r�r��flushr0r:r�rrrr:�s$��
��zAu_write.closecCs@|js|js
td��|jstd��|jstd��|��dSdS)Nz# of channels not specifiedr�zframe rate not specified)r�rXrrQrW�
_write_headerr;rrrr��s�zAu_write._ensure_header_writtenc	Cs||jdkr5|jdkrt}d|_n4|jdkrt}d|_n)|jdkr&t}d|_n|jdkr1t}d|_ntd��|jdkr@t}d|_ntd��|j|j	|_t
|jt�dt
|j�}|d	d
@}t
|j|�|jtkrlt}n|j|j}z|j��|_Wnttfy�d|_Ynwt
|j|�||_t
|j|�t
|j|j�t
|j|j	�|j�|j�|j�d|t
|j�d�dS)
Nrlrrrrzinternal errorrjr
r
i����rGr)r�rQrSrRrTrUrVrrOrXr'r9rJr{rYr�rLr[�_form_length_posr]r^r�rWr")r3�encoding�header_sizeZlengthrrrr��sL







�"zAu_write._write_headercCsH|jdur	td��|j�|j�t|j|j�|j|_|j�dd�dS)Nrrr)r�r^r9r�r'r�r�r;rrrr��s
zAu_write._patchheaderN)rrrr5r<r>rDr1r�rdr�rer�rfr�rhr�rnrsr�rvr[r�r�r:r�r�r�rrrrr�3s4	

*r�NcCsF|durt|d�r
|j}nd}|dvrt|�S|dvrt|�Std��)N�moder+)�rr+)�wr�z$mode must be 'r', 'rb', 'w', or 'wb')�hasattrr�r(r�r)r4r�rrrr/s
r/r7)�collectionsrrrJrOrSrTrUrVZAUDIO_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_5rPrLrN�	Exceptionrrr'r(r�r/rrrr�<module>sDi��	Q

?>