zenilib  0.5.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
alBuffer.h
Go to the documentation of this file.
1 #ifndef _AL_BUFFER_H_
2 #define _AL_BUFFER_H_
3 
4 #include "alMain.h"
5 
6 #ifdef __cplusplus
7 extern "C" {
8 #endif
9 
10 /* User formats */
25 };
31  UserFmtX51 = AL_5POINT1_SOFT, /* (WFX order) */
32  UserFmtX61 = AL_6POINT1_SOFT, /* (WFX order) */
33  UserFmtX71 = AL_7POINT1_SOFT, /* (WFX order) */
34 };
35 
38 static __inline ALuint FrameSizeFromUserFmt(enum UserFmtChannels chans,
39  enum UserFmtType type)
40 {
41  return ChannelsFromUserFmt(chans) * BytesFromUserFmt(type);
42 }
43 
44 
45 /* Storable formats */
46 enum FmtType {
50 };
59 };
60 
63 static __inline ALuint FrameSizeFromFmt(enum FmtChannels chans, enum FmtType type)
64 {
65  return ChannelsFromFmt(chans) * BytesFromFmt(type);
66 }
67 
68 
69 typedef struct ALbuffer
70 {
72 
76 
79 
83 
86 
87  /* Number of times buffer was attached to a source (deletion can only occur when 0) */
89 
91 
92  /* Self ID */
94 } ALbuffer;
95 
97 
98 #ifdef __cplusplus
99 }
100 #endif
101 
102 #endif
struct ALbuffer ALbuffer
ALvoid * data
Definition: alBuffer.h:71
void ALvoid
Definition: al.h:74
ALuint RefCount
Definition: alMain.h:288
#define AL_STEREO_SOFT
Definition: alext.h:210
#define AL_6POINT1_SOFT
Definition: alext.h:214
GLint GLenum GLsizei GLsizei GLsizei GLint GLenum GLenum type
Definition: gl2ext.h:845
enum FmtType FmtType
Definition: alBuffer.h:78
enum FmtChannels FmtChannels
Definition: alBuffer.h:77
#define AL_REAR_SOFT
Definition: alext.h:211
Definition: alMain.h:292
RWLock lock
Definition: alBuffer.h:90
ALuint BytesFromFmt(enum FmtType type)
Definition: alBuffer.c:2109
int ALsizei
Definition: al.h:62
enum UserFmtChannels OriginalChannels
Definition: alBuffer.h:80
ALsizei Frequency
Definition: alBuffer.h:73
#define AL_UNSIGNED_INT_SOFT
Definition: alext.h:223
ALsizei SampleLen
Definition: alBuffer.h:75
#define AL_INT_SOFT
Definition: alext.h:222
#define AL_DOUBLE_SOFT
Definition: alext.h:225
ALsizei LoopStart
Definition: alBuffer.h:84
#define AL_5POINT1_SOFT
Definition: alext.h:213
#define AL_SHORT_SOFT
Definition: alext.h:220
#define AL_UNSIGNED_BYTE_SOFT
Definition: alext.h:219
#define AL_FLOAT_SOFT
Definition: alext.h:224
FmtType
Definition: alBuffer.h:46
enum UserFmtType OriginalType
Definition: alBuffer.h:81
#define AL_7POINT1_SOFT
Definition: alext.h:215
#define AL_BYTE3_SOFT
Definition: alext.h:226
static __inline ALuint FrameSizeFromUserFmt(enum UserFmtChannels chans, enum UserFmtType type)
Definition: alBuffer.h:38
RefCount ref
Definition: alBuffer.h:88
ALuint BytesFromUserFmt(enum UserFmtType type)
Definition: alBuffer.c:2008
int ALenum
Definition: al.h:65
#define AL_QUAD_SOFT
Definition: alext.h:212
unsigned int ALuint
Definition: al.h:59
static __inline ALuint FrameSizeFromFmt(enum FmtChannels chans, enum FmtType type)
Definition: alBuffer.h:63
#define AL_BYTE_SOFT
Definition: alext.h:218
FmtChannels
Definition: alBuffer.h:51
ALvoid ReleaseALBuffers(ALCdevice *device)
Definition: alBuffer.c:2228
UserFmtChannels
Definition: alBuffer.h:26
ALenum Format
Definition: alBuffer.h:74
#define AL_UNSIGNED_SHORT_SOFT
Definition: alext.h:221
ALuint id
Definition: alBuffer.h:93
UserFmtType
Definition: alBuffer.h:11
ALuint ChannelsFromUserFmt(enum UserFmtChannels chans)
Definition: alBuffer.c:2028
ALsizei LoopEnd
Definition: alBuffer.h:85
#define AL_UNSIGNED_BYTE3_SOFT
Definition: alext.h:227
ALuint ChannelsFromFmt(enum FmtChannels chans)
Definition: alBuffer.c:2119
ALsizei OriginalSize
Definition: alBuffer.h:82
#define AL_MONO_SOFT
Definition: alext.h:209