Mercurial > sdl-ios-xcode
changeset 2665:f39a056aec8b gsoc2008_audio_resampling
More streamer work.
author | Aaron Wishnick <schnarf@gmail.com> |
---|---|
date | Tue, 12 Aug 2008 01:03:05 +0000 |
parents | 344c8da164f4 |
children | e12ccc6c9576 |
files | src/audio/SDL_audio.c src/audio/SDL_audio_c.h src/audio/SDL_sysaudio.h |
diffstat | 3 files changed, 16 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/src/audio/SDL_audio.c Tue Aug 12 00:50:58 2008 +0000 +++ b/src/audio/SDL_audio.c Tue Aug 12 01:03:05 2008 +0000 @@ -282,7 +282,7 @@ } /* Initialize the stream by allocating the buffer and setting the read/write heads to the beginning */ -int SDL_StreamInit(SDL_AudioStreamer * stream, int max_len) { +int SDL_StreamInit(SDL_AudioStreamer * stream, int max_len, Uint8 silence) { int i; /* First try to allocate the buffer */ @@ -297,7 +297,7 @@ /* Zero out the buffer */ for(i = 0; i < max_len; ++i) { - stream->buffer[i] = 0; + stream->buffer[i] = silence; } } @@ -339,6 +339,8 @@ silence = device->spec.silence; stream_len = device->spec.size; } + + /* Determine if the streamer is necessary here */ /* Loop, filling the audio buffers */ while (device->enabled) {
--- a/src/audio/SDL_audio_c.h Tue Aug 12 00:50:58 2008 +0000 +++ b/src/audio/SDL_audio_c.h Tue Aug 12 01:03:05 2008 +0000 @@ -42,12 +42,4 @@ } SDL_AudioTypeFilters; extern const SDL_AudioTypeFilters sdl_audio_type_filters[]; -/* Streamer */ -typedef struct -{ - Uint8 *buffer; - int max_len; // the maximum length in bytes - int read_pos, write_pos; // the position of the write and read heads in bytes -} SDL_AudioStreamer; - /* vi: set ts=4 sw=4 expandtab: */
--- a/src/audio/SDL_sysaudio.h Tue Aug 12 00:50:58 2008 +0000 +++ b/src/audio/SDL_sysaudio.h Tue Aug 12 01:03:05 2008 +0000 @@ -68,6 +68,14 @@ SDL_AudioDriverImpl impl; } SDL_AudioDriver; +/* Streamer */ +typedef struct +{ + Uint8 *buffer; + int max_len; /* the maximum length in bytes */ + int read_pos, write_pos; /* the position of the write and read heads in bytes */ +} SDL_AudioStreamer; + /* Define the SDL audio driver structure */ struct SDL_AudioDevice @@ -80,6 +88,10 @@ /* An audio conversion block for audio format emulation */ SDL_AudioCVT convert; + + /* The streamer, if sample rate conversion necessitates it */ + int use_streamer; + SDL_AudioStreamer streamer; /* Current state flags */ int iscapture;