• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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@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