SDL-1.2.14
[sdl_omap.git] / docs / man3 / SDL_AudioCVT.3
CommitLineData
e14743d1 1.TH "SDL_AudioCVT" "3" "Tue 11 Sep 2001, 22:58" "SDL" "SDL API Reference"
2.SH "NAME"
3SDL_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
25Set to one if the conversion is possible
26.TP 20
27\fBsrc_format\fR
28Audio format of the source
29.TP 20
30\fBdest_format\fR
31Audio format of the destination
32.TP 20
33\fBrate_incr\fR
34Rate conversion increment
35.TP 20
36\fBbuf\fR
37Audio buffer
38.TP 20
39\fBlen\fR
40Length of the original audio buffer in bytes
41.TP 20
42\fBlen_cvt\fR
43Length 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
49Final audio size is \fBlen\fR*\fBlen_ratio\fR
50.TP 20
51\fBfilters[10](\&.\&.)\fR
52Pointers to functions needed for this conversion
53.TP 20
54\fBfilter_index\fR
55Current conversion function
56.SH "DESCRIPTION"
57.PP
58The \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
60Many 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