Home | History | Annotate | Download | only in nto
      1 /*
      2     SDL - Simple DirectMedia Layer
      3     Copyright (C) 1997-2012 Sam Lantinga
      4 
      5     This library is free software; you can redistribute it and/or
      6     modify it under the terms of the GNU Library General Public
      7     License as published by the Free Software Foundation; either
      8     version 2 of the License, or (at your option) any later version.
      9 
     10     This library is distributed in the hope that it will be useful,
     11     but WITHOUT ANY WARRANTY; without even the implied warranty of
     12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     13     Library General Public License for more details.
     14 
     15     You should have received a copy of the GNU Library General Public
     16     License along with this library; if not, write to the Free
     17     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
     18 
     19     Sam Lantinga
     20     slouken (at) libsdl.org
     21 */
     22 #include "SDL_config.h"
     23 
     24 #ifndef __SDL_NTO_AUDIO_H__
     25 #define __SDL_NTO_AUDIO_H__
     26 
     27 #include <sys/asoundlib.h>
     28 
     29 #include "../SDL_sysaudio.h"
     30 
     31 /* Hidden "this" pointer for the audio functions */
     32 #define _THIS	SDL_AudioDevice *this
     33 
     34 struct SDL_PrivateAudioData
     35 {
     36     /* The audio device handle */
     37     int cardno;
     38     int deviceno;
     39     snd_pcm_t* audio_handle;
     40 
     41     /* The audio file descriptor */
     42     int audio_fd;
     43 
     44     /* The parent process id, to detect when application quits */
     45     pid_t parent;
     46 
     47     /* Raw mixing buffer */
     48     Uint8* pcm_buf;
     49     Uint32 pcm_len;
     50 
     51     /* QSA parameters */
     52     snd_pcm_channel_status_t cstatus;
     53     snd_pcm_channel_params_t cparams;
     54     snd_pcm_channel_setup_t  csetup;
     55 };
     56 
     57 #define cardno          (this->hidden->cardno)
     58 #define deviceno        (this->hidden->deviceno)
     59 #define audio_handle    (this->hidden->audio_handle)
     60 #define audio_fd        (this->hidden->audio_fd)
     61 #define parent          (this->hidden->parent)
     62 #define pcm_buf         (this->hidden->pcm_buf)
     63 #define pcm_len         (this->hidden->pcm_len)
     64 #define cstatus         (this->hidden->cstatus)
     65 #define cparams         (this->hidden->cparams)
     66 #define csetup          (this->hidden->csetup)
     67 
     68 #endif /* __SDL_NTO_AUDIO_H__ */
     69