.TH "SDL_AudioCVT" "3" "Tue 11 Sep 2001, 22:58" "SDL" "SDL API Reference" 
.SH "NAME"
SDL_AudioCVT \- Audio Conversion Structure
.SH "STRUCTURE DEFINITION"
.PP
.nf
\f(CWtypedef struct{
  int needed;
  Uint16 src_format;
  Uint16 dest_format;
  double rate_incr;
  Uint8 *buf;
  int len;
  int len_cvt;
  int len_mult;
  double len_ratio;
  void (*filters[10])(struct SDL_AudioCVT *cvt, Uint16 format);
  int filter_index;
} SDL_AudioCVT;\fR
.fi
.PP
.SH "STRUCTURE DATA"
.TP 20
\fBneeded\fR
Set to one if the conversion is possible
.TP 20
\fBsrc_format\fR
Audio format of the source
.TP 20
\fBdest_format\fR
Audio format of the destination
.TP 20
\fBrate_incr\fR
Rate conversion increment
.TP 20
\fBbuf\fR
Audio buffer
.TP 20
\fBlen\fR
Length of the original audio buffer in bytes
.TP 20
\fBlen_cvt\fR
Length of converted audio buffer in bytes (calculated)
.TP 20
\fBlen_mult\fR
\fBbuf\fR must be \fBlen\fR*\fBlen_mult\fR bytes in size(calculated)
.TP 20
\fBlen_ratio\fR
Final audio size is \fBlen\fR*\fBlen_ratio\fR
.TP 20
\fBfilters[10](\&.\&.)\fR
Pointers to functions needed for this conversion
.TP 20
\fBfilter_index\fR
Current conversion function
.SH "DESCRIPTION"
.PP
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\&.
.PP
Many of the fields in the \fBSDL_AudioCVT\fR structure should be considered private and their function will not be discussed here\&.
.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\&.
.IP "\fBint\fP \fBlen\fR" 10This is the length of the original audio data in bytes\&.
.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\&.
.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\&.
.SH "SEE ALSO"
.PP
\fI\fBSDL_BuildAudioCVT\fP\fR, \fI\fBSDL_ConvertAudio\fP\fR, \fI\fBSDL_AudioSpec\fR\fR
.\" created by instant / docbook-to-man, Tue 11 Sep 2001, 22:58
