diff options
author | Joerg Mueller <nexyon@gmail.com> | 2010-02-08 02:41:17 +0300 |
---|---|---|
committer | Joerg Mueller <nexyon@gmail.com> | 2010-02-08 02:41:17 +0300 |
commit | 9827a3e9eac70f68db6dc16d03016c51b7ece3f0 (patch) | |
tree | 8825b454008d3b97a64018884c179ea94874af44 /intern/audaspace/OpenAL | |
parent | 2f72b91a54faa7cfbdfd97eff608c8911df1d221 (diff) |
2.5 Audio:
- recode of the whole sequencer audio handling
- encode audio flag removed, instead you choose None as audio codec, added None for video codec too
- ffmpeg formats/codecs: enabled: theora, ogg, vorbis; added: matroska, flac (not working, who can fix?), mp3, wav
- sequencer wave drawing
- volume animation (now also working when mixing down to a file!)
- made sequencer strip position and length values unanimatable
Diffstat (limited to 'intern/audaspace/OpenAL')
-rw-r--r-- | intern/audaspace/OpenAL/AUD_OpenALDevice.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/intern/audaspace/OpenAL/AUD_OpenALDevice.cpp b/intern/audaspace/OpenAL/AUD_OpenALDevice.cpp index 0b3e86eda56..9e153b9b34f 100644 --- a/intern/audaspace/OpenAL/AUD_OpenALDevice.cpp +++ b/intern/audaspace/OpenAL/AUD_OpenALDevice.cpp @@ -180,7 +180,7 @@ void AUD_OpenALDevice::updateStreams() AUD_DEVICE_SAMPLE_SIZE(specs), specs.rate); - if(alGetError() != AL_NO_ERROR) + if((err = alGetError()) != AL_NO_ERROR) { sound->data_end = true; break; @@ -839,13 +839,14 @@ bool AUD_OpenALDevice::seek(AUD_Handle* handle, float position) if(info != AL_PLAYING) { - if(info != AL_STOPPED) + if(info == AL_PAUSED) alSourceStop(alhandle->source); - alSourceUnqueueBuffers(alhandle->source, - AUD_OPENAL_CYCLE_BUFFERS, - alhandle->buffers); - if(alGetError() == AL_NO_ERROR) + alSourcei(alhandle->source, AL_BUFFER, 0); + alhandle->current = 0; + + ALenum err; + if((err = alGetError()) == AL_NO_ERROR) { sample_t* buf; int length; |