1.1 --- a/src/aica/audio.c Tue Mar 14 12:45:53 2006 +0000
1.2 +++ b/src/aica/audio.c Fri Dec 15 10:19:06 2006 +0000
1.5 - * $Id: audio.c,v 1.5 2006-03-14 12:45:53 nkeynes Exp $
1.6 + * $Id: audio.c,v 1.6 2006-03-16 12:41:59 nkeynes Exp $
1.8 * Audio mixer core. Combines all the active streams into a single sound
1.11 * output buffers, flushing any current data and reallocating as
1.14 -void audio_set_driver( audio_driver_t driver,
1.15 - uint32_t samplerate, int format )
1.16 +gboolean audio_set_driver( audio_driver_t driver,
1.17 + uint32_t samplerate, int format )
1.19 uint32_t bytes_per_sample = 1;
1.20 uint32_t samples_per_buffer;
1.23 + if( audio_driver == NULL || driver != NULL ) {
1.24 + if( driver == NULL )
1.25 + driver = &audio_null_driver;
1.26 + if( driver != audio_driver ) {
1.27 + if( !driver->set_output_format( samplerate, format ) )
1.29 + audio_driver = driver;
1.33 if( format & AUDIO_FMT_16BIT )
1.34 bytes_per_sample = 2;
1.35 if( format & AUDIO_FMT_STEREO )
1.37 audio.write_buffer = 0;
1.38 audio.read_buffer = 0;
1.40 - if( driver == NULL )
1.41 - driver = &audio_null_driver;
1.42 - audio_driver = driver;
1.43 - audio_driver->set_output_format( samplerate, format );