Ñò
‘à"Ic           @   s  d  d k  l Z e i d ƒ d  d k l Z l Z d  d k Z d  d k Z d  d k Z d  d k	 Z	 d  d k
 Z
 d  d k Z d  d k Z y d  d k l Z Wn9 e j
 o- e i d j o e i Z q× e i Z n Xd „  Z d e i f d	 „  ƒ  YZ d
 „  Z e d j o e ƒ  n d S(   iÿÿÿÿ(   t   test_supportt   audio(   t   findfilet   TestSkippedN(   t   AFMT_S16_NEt   littlec         C   s·   t  |  d ƒ i i ƒ  } zV | ~ } t i  | ƒ } | i ƒ  } | i ƒ  } | i } | i d ƒ | i ƒ  } Wd  QX| t i	 j o t
 d ƒ ‚ n t i | d ƒ } | | d | f S(   Nt   rbi    s)   Expect .au file with 8-bit mu-law samplesi   i   (   t   opent   __exit__t	   __enter__t   sunaut   getframeratet   getnchannelst	   _encodingt   seekt   readt   AUDIO_FILE_ENCODING_MULAW_8t   RuntimeErrort   audioopt   ulaw2lin(   t   patht   _[1]t   fpt   aut   ratet	   nchannelst   encodingt   data(    (    s2   /mit/python/lib/python2.6/test/test_ossaudiodev.pyt   read_sound_file   s    &	t   OSSAudioDevTestsc           B   s5   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   så  y t  i d ƒ } WnQ t j
 oE } | d t i t i t i t i f j o t | ƒ ‚ n ‚  n X| i	 ƒ  | i
 ƒ  | i ƒ  | i ƒ  | i ƒ  |  i | i ƒ |  i | i d ƒ |  i | i d d | i ƒ xI d D]A } y t | | d ƒ Wn t j
 o qà X|  i d	 | ƒ qà Wt t | ƒ ƒ | d
 | | } | i t | | ƒ |  i t | d ƒ d j  | ƒ t i ƒ  }	 | i | ƒ | i ƒ  t i ƒ  }
 |
 |	 } t | | ƒ | d } |  i | d j d ƒ d  S(   Nt   wi    s   /dev/dsps   bad dsp.mode: %rt   closedt   namet   modei*   s   dsp.%s not read-onlyi   g…ëQ¸…@g{®Gáz„?id   g      $@s'   elapsed time > 10% off of expected time(   s   closeds   names   mode(    t   ossaudiodevR   t   IOErrort   errnot   EACCESt   ENOENTt   ENODEVt   EBUSYR   t   bufsizet	   obufcountt   obuffreet   getptrt   filenot   failIfR   t   assertEqualR    R!   t   setattrt	   TypeErrort   failt   floatt   lent   setparametersR   t
   assertTruet   abst   timet   writet   closet
   failUnless(   t   selfR   R   t   ssizeR   t   dspt   msgt   attrt   expected_timet   t1t   t2t   elapsed_timet   percent_diff(    (    s2   /mit/python/lib/python2.6/test/test_ossaudiodev.pyt   play_sound_file+   s@    )




 " 

c   	      C   s  t  i d d f } t d d f } xv | | g D]\ } | \ } } } | i | ƒ | j o1 | i | ƒ | j o | i | ƒ | j o Pq. q. Wt d ƒ ‚ | i | | | t ƒ } |  i	 | | | | f d | | f ƒ | i | | | t
 ƒ } |  i	 | | | | f d | | f ƒ d  S(   Ni   i@  i   iD¬  sR   unable to set audio sampling parameters: you must have really weird audio hardwares   setparameters%r: returned %r(   R"   t   AFMT_U8R   t   setfmtt   channelst   speedR   R5   t   FalseR/   t   True(	   R<   R>   t   config1t   config2t   configt   fmtRI   R   t   result(    (    s2   /mit/python/lib/python2.6/test/test_ossaudiodev.pyt   set_parametersX   s      	c      	   C   sÉ   t  } d } d } x° | d | f | d | f | | d f g D]„ } | \ } } } | i | | | t ƒ } |  i | | d ƒ y | i | | | t ƒ } Wn t i j
 o	 } q= X|  i d ƒ q= Wd  S(   NiD¬  i   i,  iûÿÿÿiÎÿÿÿs(   unexpectedly got requested configurations   expected OSSAudioError(   R   R5   RK   t   failIfEqualRL   R"   t   OSSAudioErrorR2   (   R<   R>   RP   R   RI   RO   RQ   t   err(    (    s2   /mit/python/lib/python2.6/test/test_ossaudiodev.pyt   set_bad_parametersv   s      c         C   s#   t  t d ƒ ƒ } |  i | Œ  d  S(   Ns   audiotest.au(   R   R   RF   (   R<   t
   sound_info(    (    s2   /mit/python/lib/python2.6/test/test_ossaudiodev.pyt   test_playback   s    c         C   sB   t  i d ƒ } z |  i | ƒ Wd  | i ƒ  |  i | i ƒ Xd  S(   NR   (   R"   R   RR   R:   R;   R   (   R<   R>   (    (    s2   /mit/python/lib/python2.6/test/test_ossaudiodev.pyt   test_set_parameters“   s
    
(   t   __name__t
   __module__RF   RR   RV   RX   RY   (    (    (    s2   /mit/python/lib/python2.6/test/test_ossaudiodev.pyR   )   s
   	-			c          C   s‹   y t  i d ƒ }  WnZ t  i t f j
 oE } | d t i t i t i t i f j o t	 | ƒ ‚ n ‚  n X|  i
 ƒ  t i t ƒ d  S(   NR   i    (   R"   R   t   errorR#   R$   R%   R&   R'   R(   R   R:   R    t   run_unittestRZ   (   R>   R?   (    (    s2   /mit/python/lib/python2.6/test/test_ossaudiodev.pyt	   test_main    s    )
t   __main__(   t   testR    t   requirest   test.test_supportR   R   R$   R"   t   sysR
   R8   R   t   unittestR   t   ImportErrort	   byteordert   AFMT_S16_LEt   AFMT_S16_BER   t   TestCaseR   R^   RZ   (    (    (    s2   /mit/python/lib/python2.6/test/test_ossaudiodev.pyt   <module>   s(   	w	
