mò
­fIc           @   s  d  k  l Z e i d ƒ d k l Z l Z l Z l Z d k Z d k	 Z	 d k
 Z
 d k Z d k Z d k Z d k Z d k Z d k Z y d k
 l Z Wn9 e j
 o- e i d j o e
 i Z q× e
 i Z n Xd Z d „  Z d „  Z d	 „  Z d
 „  Z d „  Z  e  ƒ  d S(   (   s   test_supportt   audio(   s   verboses   findfiles
   TestFaileds   TestSkippedN(   s   AFMT_S16_NEt   littlei   c         C   s   t  |  d ƒ } t i | ƒ \ } } } } } | i
 ƒ  } | i ƒ  | t j o d GHd  Sn t i | d ƒ } | | d | f S(   Nt   rbs)   Expect .au file with 8-bit mu-law samplesi   i   (   t   opent   patht   fpt   sunaudiot   gethdrt   sizet   enct   ratet	   nchannelst   extrat   readt   datat   closet   SND_FORMAT_MULAW_8t   audioopt   ulaw2lin(   R   R   R	   R   R   R   R
   R   (    (    t2   /mit/python/lib/python2.4/test/test_ossaudiodev.pyt   read_sound_file   s    
c         C   sô   y t  i d ƒ } WnT t j
 oH } | d t i t i t i t i	 f j o t
 | ‚ n t | ‚ n X| i ƒ  | i ƒ  | i ƒ  | i ƒ  | i ƒ  | i t | | ƒ t i ƒ  } d GH| i |  ƒ | i ƒ  t i ƒ  } d | | GHd  S(   Nt   wi    s   playing test sound file...s   elapsed time: %.1f sec(   t   ossaudiodevR   t   dspt   IOErrort   msgt   errnot   EACCESt   ENOENTt   ENODEVt   EBUSYt   TestSkippedt
   TestFailedt   bufsizet	   obufcountt   obuffreet   getptrt   filenot   setparameterst   AFMT_S16_NER   R
   t   timet   t1t   writeR   R   t   t2(   R   R
   t   ssizeR   R+   R   R)   R   (    (    R   t   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 ƒ } | | | | f j p t d | | ‚ |  i | | | t ƒ } | | | | f j p t d | | ‚ 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_U8t   config1R'   t   config2t   configt   fmtt   channelsR
   R   t   setfmtt   speedt   RuntimeErrorR&   t   Falset   resultt   AssertionErrort   True(   R   R1   R2   R3   R
   R8   R/   R0   (    (    R   t   test_setparametersD   s     B	(c         C   sÑ   t  } d } d } x¸ | d | f | d | f | | d f g D]Œ } | \ } } } |  i | | | t ƒ } | | j p
 t	 d ‚ y( |  i | | | t
 ƒ } t	 d ƒ ‚ Wq= t i j
 o } d GHq= Xq= Wd  S(	   NiD¬  i   i,  iûÿÿÿiÎÿÿÿs7   setparameters: unexpectedly got requested configurations%   setparameters: expected OSSAudioErrors,   setparameters: got OSSAudioError as expected(   R'   R2   R
   R3   R1   R   R&   R7   R8   R9   R:   R   t   OSSAudioErrort   err(   R   R=   R2   R3   R
   R8   R1   (    (    R   t   test_bad_setparametersa   s    + c          C   s`   t  t d ƒ ƒ \ } } } }  t | | | |  ƒ t i d ƒ } z t
 | ƒ Wd  | i ƒ  Xd  S(   Ns   audiotest.auR   (   R   t   findfileR   R
   R,   R   R-   R   R   R   R;   R   (   R   R   R
   R   R,   (    (    R   t   testz   s     (   R@   t   test_supportt   requirest   test.test_supportt   verboseR?   R    R   R   t   fcntlR   t   ost   syst   selectR   R(   R   R'   t   ImportErrort	   byteordert   AFMT_S16_LEt   AFMT_S16_BER   R   R-   R;   R>   (   RA   R-   R>   RD   R   RG   RH   R?   R   R@   R   R   RE   R   R;   R   R    R'   R   R(   RF   (    (    R   t   ?   s0   														