|
1 .TH "SDL_AudioCVT" "3" "Tue 11 Sep 2001, 22:58" "SDL" "SDL API Reference" |
|
2 .SH "NAME" |
|
3 SDL_AudioCVT \- Audio Conversion Structure |
|
4 .SH "STRUCTURE DEFINITION" |
|
5 .PP |
|
6 .nf |
|
7 \f(CWtypedef struct{ |
|
8 int needed; |
|
9 Uint16 src_format; |
|
10 Uint16 dest_format; |
|
11 double rate_incr; |
|
12 Uint8 *buf; |
|
13 int len; |
|
14 int len_cvt; |
|
15 int len_mult; |
|
16 double len_ratio; |
|
17 void (*filters[10])(struct SDL_AudioCVT *cvt, Uint16 format); |
|
18 int filter_index; |
|
19 } SDL_AudioCVT;\fR |
|
20 .fi |
|
21 .PP |
|
22 .SH "STRUCTURE DATA" |
|
23 .TP 20 |
|
24 \fBneeded\fR |
|
25 Set to one if the conversion is possible |
|
26 .TP 20 |
|
27 \fBsrc_format\fR |
|
28 Audio format of the source |
|
29 .TP 20 |
|
30 \fBdest_format\fR |
|
31 Audio format of the destination |
|
32 .TP 20 |
|
33 \fBrate_incr\fR |
|
34 Rate conversion increment |
|
35 .TP 20 |
|
36 \fBbuf\fR |
|
37 Audio buffer |
|
38 .TP 20 |
|
39 \fBlen\fR |
|
40 Length of the original audio buffer in bytes |
|
41 .TP 20 |
|
42 \fBlen_cvt\fR |
|
43 Length of converted audio buffer in bytes (calculated) |
|
44 .TP 20 |
|
45 \fBlen_mult\fR |
|
46 \fBbuf\fR must be \fBlen\fR*\fBlen_mult\fR bytes in size(calculated) |
|
47 .TP 20 |
|
48 \fBlen_ratio\fR |
|
49 Final audio size is \fBlen\fR*\fBlen_ratio\fR |
|
50 .TP 20 |
|
51 \fBfilters[10](\&.\&.)\fR |
|
52 Pointers to functions needed for this conversion |
|
53 .TP 20 |
|
54 \fBfilter_index\fR |
|
55 Current conversion function |
|
56 .SH "DESCRIPTION" |
|
57 .PP |
|
58 The \fBSDL_AudioCVT\fR is used to convert audio data between different formats\&. A \fBSDL_AudioCVT\fR structure is created with the \fI\fBSDL_BuildAudioCVT\fP\fR function, while the actual conversion is done by the \fI\fBSDL_ConvertAudio\fP\fR function\&. |
|
59 .PP |
|
60 Many of the fields in the \fBSDL_AudioCVT\fR structure should be considered private and their function will not be discussed here\&. |
|
61 .IP "\fBUint8 *\fP\fBbuf\fR" 10This points to the audio data that will be used in the conversion\&. It is both the source and the destination, which means the converted audio data overwrites the original data\&. It also means that the converted data may be larger than the original data (if you were converting from 8-bit to 16-bit, for instance), so you must ensure \fBbuf\fR is large enough\&. See below\&. |
|
62 .IP "\fBint\fP \fBlen\fR" 10This is the length of the original audio data in bytes\&. |
|
63 .IP "\fBint\fP \fBlen_mult\fR" 10As explained above, the audio buffer needs to be big enough to store the converted data, which may be bigger than the original audio data\&. The length of \fBbuf\fR should be \fBlen\fR*\fBlen_mult\fR\&. |
|
64 .IP "\fBdouble\fP \fBlen_ratio\fR" 10When you have finished converting your audio data, you need to know how much of your audio buffer is valid\&. \fBlen\fR*\fBlen_ratio\fR is the size of the converted audio data in bytes\&. This is very similar to \fBlen_mult\fR, however when the convert audio data is shorter than the original \fBlen_mult\fR would be 1\&. \fBlen_ratio\fR, on the other hand, would be a fractional number between 0 and 1\&. |
|
65 .SH "SEE ALSO" |
|
66 .PP |
|
67 \fI\fBSDL_BuildAudioCVT\fP\fR, \fI\fBSDL_ConvertAudio\fP\fR, \fI\fBSDL_AudioSpec\fR\fR |
|
68 ...\" created by instant / docbook-to-man, Tue 11 Sep 2001, 22:58 |