[quake3-commits] [ioquake/ioq3] 5795be: Make OpenAL buffer management work on OS X

Zack Middleton zturtleman at gmail.com
Mon Nov 11 01:33:08 EST 2013


  Branch: refs/heads/master
  Home:   https://github.com/ioquake/ioq3
  Commit: 5795be68f6aabba02c9707eef4e193cf334cd946
      https://github.com/ioquake/ioq3/commit/5795be68f6aabba02c9707eef4e193cf334cd946
  Author: Zack Middleton <zturtleman at gmail.com>
  Date:   2013-11-10 (Sun, 10 Nov 2013)

  Changed paths:
    M code/client/snd_openal.c

  Log Message:
  -----------
  Make OpenAL buffer management work on OS X

Don't assume we have unlimited OpenAL buffers.
Detach buffers from sources by setting AL_BUFFER to 0. Cannot delete buffers on OS X immediately after alSourceUnqueueBuffers.
Free unprocessed stream and music buffers.
Free unused sfx buffers when sound file exists and fails loading into OpenAL (though I haven't seen it fail).


  Commit: b3bd74fce7d91b68498eff94797657a96755fb67
      https://github.com/ioquake/ioq3/commit/b3bd74fce7d91b68498eff94797657a96755fb67
  Author: Zack Middleton <zturtleman at gmail.com>
  Date:   2013-11-10 (Sun, 10 Nov 2013)

  Changed paths:
    M code/client/snd_openal.c

  Log Message:
  -----------
  Fix restoring loop sound position on OS X

The default OpenAL library on OS X errors AL_INVALID_VALUE for AL_SEC_OFFSET if source isn't playing.


  Commit: 203ab7b9af3f76e866ee6ba2a19427278cbbc001
      https://github.com/ioquake/ioq3/commit/203ab7b9af3f76e866ee6ba2a19427278cbbc001
  Author: Zack Middleton <zturtleman at gmail.com>
  Date:   2013-11-10 (Sun, 10 Nov 2013)

  Changed paths:
    M code/client/snd_openal.c

  Log Message:
  -----------
  Fix cinematics often being silent on OS X

If OpenAL source isn't playing, often what happens is: queued buffers is 0 and processed buffers is non-0.
S_AL_StreamUpdate won't play the steam if queued buffers 0.
So start the stream in S_AL_RawSamples.


Compare: https://github.com/ioquake/ioq3/compare/d526eacd1024...203ab7b9af3f


More information about the quake3-commits mailing list