ó {G_Tc@sddlmZejdƒddlmZejdƒZddlZddlZddl Z ddl Z ddl Z ddl Z yddlm Z Wn5ek rÏejdkrÃejZ qÐejZ nXd„Zd e jfd „ƒYZd „Zed kreƒndS( iÿÿÿÿ(t test_supporttaudio(tfindfilet ossaudiodevN(t AFMT_S16_NEtlittlecCs¡t|dƒP}tj|ƒ}|jƒ}|jƒ}|j}|jdƒ|jƒ}WdQX|tjkrtdƒ‚nt j |dƒ}||d|fS(Ntrbis)Expect .au file with 8-bit mu-law samplesii( topentsunaut getframeratet getnchannelst _encodingtseektreadtAUDIO_FILE_ENCODING_MULAW_8t RuntimeErrortaudiooptulaw2lin(tpathtfptautratet nchannelstencodingtdata((s1/usr/local/lib/python2.7/test/test_ossaudiodev.pytread_sound_files    tOSSAudioDevTestscBs5eZd„Zd„Zd„Zd„Zd„ZRS(c Csåytjdƒ}WnStk rh}|jdtjtjtjtjfkrbt j |ƒ‚n‚nX|j ƒ|j ƒ|j ƒ|jƒ|jƒ|j|jƒ|j|jdƒ|j|jdd|jƒxGdD]?}yt||dƒWntk rqâX|jd |ƒqâWtt|ƒƒ|d ||}|jt||ƒ|jt|d ƒd k|ƒtjƒ} |j|ƒ|j ƒtjƒ} | | } t| |ƒ|d } |j| dkdƒdS(Ntwis/dev/dspsbad dsp.mode: %rtclosedtnametmodei*sdsp.%s not read-onlyig®Gáz @g{®Gáz„?idg$@s'elapsed time > 10% off of expected time(sclosedsnamesmode(!RRtIOErrortargsterrnotEACCEStENOENTtENODEVtEBUSYtunittesttSkipTesttbufsizet obufcounttobuffreetgetptrtfilenot assertFalseRt assertEqualRRtsetattrt TypeErrortfailtfloattlent setparametersRt assertTruetabsttimetwritetclose( tselfRRtssizeRtdsptmsgtattrt expected_timett1tt2t elapsed_timet percent_diff((s1/usr/local/lib/python2.7/test/test_ossaudiodev.pytplay_sound_file,s@       "      c Cstjddf}tddf}xr||gD]X}|\}}}|j|ƒ|kr.|j|ƒ|kr.|j|ƒ|kr.Pq.q.Wtdƒ‚|j|||tƒ}|j ||||fd||fƒ|j|||t ƒ}|j ||||fd||fƒdS(Nii@iiD¬sRunable to set audio sampling parameters: you must have really weird audio hardwaressetparameters%r: returned %r( RtAFMT_U8RtsetfmttchannelstspeedRR4tFalseR.tTrue( R:R<tconfig1tconfig2tconfigtfmtRGRtresult((s1/usr/local/lib/python2.7/test/test_ossaudiodev.pytset_parametersZs cCsÇt}d}d}x®|d|f|d|f||dfgD]‚}|\}}}|j|||tƒ}|j||dƒy|j|||tƒ}Wntjk r±}q=X|jdƒq=WdS(NiD¬ii,iûÿÿÿiÎÿÿÿs(unexpectedly got requested configurationsexpected OSSAudioError(RR4RItassertNotEqualRJRt OSSAudioErrorR1(R:R<RNRRGRMROterr((s1/usr/local/lib/python2.7/test/test_ossaudiodev.pytset_bad_parametersxs  cCs#ttdƒƒ}|j|ŒdS(Ns audiotest.au(RRRD(R:t sound_info((s1/usr/local/lib/python2.7/test/test_ossaudiodev.pyt test_playback‘scCsBtjdƒ}z|j|ƒWd|jƒ|j|jƒXdS(NR(RRRPR9R5R(R:R<((s1/usr/local/lib/python2.7/test/test_ossaudiodev.pyttest_set_parameters•s  (t__name__t __module__RDRPRTRVRW(((s1/usr/local/lib/python2.7/test/test_ossaudiodev.pyR*s  .   cCsytjdƒ}Wn\tjtfk rq}|jdtjtjtjtj fkrkt j |ƒ‚n‚nX|j ƒt jtƒdS(NRi(RRterrorRR R!R"R#R$R%R&R'R9Rt run_unittestRX(R<R=((s1/usr/local/lib/python2.7/test/test_ossaudiodev.pyt test_main¢s t__main__(ttestRtrequiresttest.test_supportRt import_moduleRR!tsysRR7RR&Rt ImportErrort byteordert AFMT_S16_LEt AFMT_S16_BERtTestCaseRR\RX(((s1/usr/local/lib/python2.7/test/test_ossaudiodev.pyts(           x