SDL_ConvertAudio man page on IRIX

Man page or keyword search:  
man Server   31559 pages
apropos Keyword Search (all sections)
Output format
IRIX logo
[printable version]

SDL_ConvertAudio(3)	SDL API Reference     SDL_ConvertAudio(3)

NAME
       SDL_ConvertAudio-  Convert  audio  data to a desired audio
       format.

SYNOPSIS
       #include "SDL.h"

       int SDL_ConvertAudio(SDL_AudioCVT *cvt);

DESCRIPTION
       SDL_ConvertAudio takes one parameter, cvt, which was  pre-
       viously	initilized.  Initilizing  a SDL_AudioCVT is a two
       step process. First of all, the structure must  be  passed
       to  SDL_BuildAudioCVT  along  with  source and destination
       format parameters. Secondly,  the  cvt->buf  and	 cvt->len
       fields  must  be setup. cvt->buf should point to the audio
       data and cvt->len should be set to the length of the audio
       data  in bytes. Remember, the length of the buffer pointed
       to by buf show be len*len_mult bytes in length.

       Once the SDL_AudioCVTstructure is initilized then  we  can
       pass  it to SDL_ConvertAudio, which will convert the audio
       data pointer to by cvt->buf. If SDL_ConvertAudio	 returned
       0  then	the conversion was completed successfully, other-
       wise -1 is returned.

       If the conversion completed  successfully  then	the  con-
       verted audio data can be read from cvt->buf. The amount of
       valid, converted, audio data in the  buffer  is	equal  to
       cvt->len*cvt->len_ratio.

EXAMPLES
       /* Converting some WAV data to hardware format */
       void my_audio_callback(void *userdata, Uint8 *stream, int len);

       SDL_AudioSpec *desired, *obtained;
       SDL_AudioSpec wav_spec;
       SDL_AudioCVT  wav_cvt;
       Uint32 wav_len;
       Uint8 *wav_buf;
       int ret;

       /* Allocated audio specs */
       desired=(SDL_AudioSpec *)malloc(sizeof(SDL_AudioSpec));
       obtained=(SDL_AudioSpec *)malloc(sizeof(SDL_AudioSpec));

       /* Set desired format */
       desired->freq=22050;
       desired->format=AUDIO_S16LSB;
       desired->samples=8192;
       desired->callback=my_audio_callback;
       desired->userdata=NULL;

       /* Open the audio device */
       if ( SDL_OpenAudio(desired, obtained) < 0 ){
	 fprintf(stderr, "Couldn't open audio: %s
       ", SDL_GetError());
	 exit(-1);
       }

       free(desired);

       /* Load the test.wav */
       if( SDL_LoadWAV("test.wav", &wav_spec, &wav_buf, &wav_len) == NULL ){
	 fprintf(stderr, "Could not open test.wav: %s
       ", SDL_GetError());
	 SDL_CloseAudio();
	 free(obtained);
	 exit(-1);
       }

       /* Build AudioCVT */
       ret = SDL_BuildAudioCVT(&wav_cvt,
			       wav_spec.format, wav_spec.channels, wav_spec.freq,
			       obtained->format, obtained->channels, obtained->freq);

       /* Check that the convert was built */
       if(ret==-1){
	 fprintf(stderr, "Couldn't build converter!
       ");
	 SDL_CloseAudio();
	 free(obtained);
	 SDL_FreeWAV(wav_buf);
       }

       /* Setup for conversion */
       wav_cvt.buf=(Uint8 *)malloc(wav_len*wav_cvt.len_mult);
       wav_cvt.len=wav_len;
       memcpy(wav_cvt.buf, wav_buf, wav_len);

       /* We can delete to original WAV data now */
       SDL_FreeWAV(wav_buf);

       /* And now we're ready to convert */
       SDL_ConvertAudio(&wav_cvt);

       /* do whatever */
       .
       .
       .
       .

SEE ALSO
       SDL_BuildAudioCVT, SDL_AudioCVT

SDL		      Tue 11 Sep 2001, 22:58  SDL_ConvertAudio(3)
[top]

List of man pages available for IRIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net