[Bf-committers] SDL versus OpenAL

Alexander Ewering blender at instinctive.de
Sun Oct 30 14:13:07 CET 2005


On Sat, 29 Oct 2005, Tom M wrote:

> intrr has SDL sound instead of OpenAL in his instinctive blender tree,

The phrasing is a bit ambiguous... OpenAL is a complete 3D Soundsystem
which handles both 3d Sound calculations, pitch, mixing etc., *and* sound
output.
SDL *just* handles sound output and very basic mixing using SDL_mixer
(which iblender depends on).

> intrr - could you outline the advantages this offers?  Also are there
> any disadvantages to switching to SDL from OpenAL?

Advantages:

  - No dependancy on a library which is known to be buggy, badly
    documented, and having version/platform issues

  - Reuse of a library (SDL) which Blender *already* widely depends on
    (Animation sound, renderer)

  - Sound finally *works*! I know of a huge bunch of people, including
    myself, who never got a single beep out of the game engine
    sound system, especially on non-windows platforms

  - Support for Ogg Vorbis files

  - Lower latency: I once got OpenAL sound to work on windows, and it
    had a terrible latency, somewhere around 300 ms maybe, or more.

    iblender's has adjustable buffer size, I used it with something around
    50-100 ms ...

Disadvantages:

  - New dependancy (SDL_mixer). Is only a few kb, [c/sh]ould be included
    with source

  - New dependancy with some ogg-related libraries

  - No doppler effect (was this supported in openal?)

  - No changing of pitch *during* the playing of a sound (was
    this supported in openal?)


> I seem to recall that you stated the code changes are fairly minimal,
> and would improve ease of maintenance.  Also a number of nice features

I don't know how minimal they are by now, more than a year after syncing
between bf-cvs and iblender has stopped... I guess one could try though :)

> for the game engine - how does it affect sound in the sequencer
> though?

Sound in the sequencer and game engine are still a totally different
story. Game engine sound is asynchronous (event sounds), Animation system
sound is synchronous, so they still cannot live next to each other. But
I don't consider that a problem because a project that uses the sequencer
will never use the game engine - and vice versa. I guess I don't need
to explain :)

> Also would it be possible to create a patch for testing?

That depends on how hard it is to integrate the soundsystem nowadays,
but I could give it a try one of these days.

| alexander ewering              instinctive mediaworks
| ae[@]instinctive[.]de   http://www[.]instinctive[.]de


More information about the Bf-committers mailing list