OpenAL Sound cant play Surround -> Crash #34083

Closed
opened 2013-02-02 06:36:36 +01:00 by Karja Krähwald · 16 comments

%%%--- Operating System, Graphics card ---
Radeon HD 5770

- Blender version with error, and version that worked ---

error: 2.65 r54257

- Short description of error ---

Surroundsound-File (.wav) crashes Blender in Game Engine

- Steps for others to reproduce the error (preferably based on attached .blend file) ---

Load a Surroundfile into Logic Bricks Sound-Actuator.
Choose a Sensor (no matter which one -> take "Always" for instant effect).
Start Game Engine and play the file.

In my case Blender get crashed, even if i switch the output-settings and play around with 7.1, 5.1 and 4 Channels under OpenAL.
SDL will play Sound only in Stereo (mixed all channels together), other settings dont play, but at least will not cause Blender to crash.

I attached a Soundfile with 4 Channels: L R Lb Rb
It caused my Blender to crash under OpenAL, SDL dont like it to play in Surround.

%%%

%%%--- Operating System, Graphics card --- Radeon HD 5770 - Blender version with error, and version that worked --- error: 2.65 r54257 - Short description of error --- Surroundsound-File (.wav) crashes Blender in Game Engine - Steps for others to reproduce the error (preferably based on attached .blend file) --- Load a Surroundfile into Logic Bricks Sound-Actuator. Choose a Sensor (no matter which one -> take "Always" for instant effect). Start Game Engine and play the file. In my case Blender get crashed, even if i switch the output-settings and play around with 7.1, 5.1 and 4 Channels under OpenAL. SDL will play Sound only in Stereo (mixed all channels together), other settings dont play, but at least will not cause Blender to crash. I attached a Soundfile with 4 Channels: L R Lb Rb It caused my Blender to crash under OpenAL, SDL dont like it to play in Surround. %%%

Changed status to: 'Open'

Changed status to: 'Open'
Member

%%%Let's check if Joerg can redo this!

A test with an official build (release from blender.org, or daily build from builder.blender.org) is always recommended though.%%%

%%%Let's check if Joerg can redo this! A test with an official build (release from blender.org, or daily build from builder.blender.org) is always recommended though.%%%
Member

%%%Works perfectly here. What OS do you have?%%%

%%%Works perfectly here. What OS do you have?%%%

%%%Windows 7 64 Bit%%%

%%%Windows 7 64 Bit%%%

%%%Have tried it with 2.64 release, 2.65 release and 2.65 r54257,
i switched from Soundcard to Onboard-Sound and have deactivated other output devices, but all the same.

Turning 3D-Sound on in the Actuator prevents Blender from crashing, but thats not the purpose.

Media-Player, Sequencer and Synthesizers dont seem to have problems with Surroundfiles on my PC.%%%

%%%Have tried it with 2.64 release, 2.65 release and 2.65 r54257, i switched from Soundcard to Onboard-Sound and have deactivated other output devices, but all the same. Turning 3D-Sound on in the Actuator prevents Blender from crashing, but thats not the purpose. Media-Player, Sequencer and Synthesizers dont seem to have problems with Surroundfiles on my PC.%%%
Member

%%%Can you get a backtrace, please.%%%

%%%Can you get a backtrace, please.%%%

%%%Ok but may take a while.
Need to find instructions how to do so.

Please make a suggestion what tool i should use. Thank you.%%%

%%%Ok but may take a while. Need to find instructions how to do so. Please make a suggestion what tool i should use. Thank you.%%%

%%%It's not easy to get a backtrace on windows, it needs a debug build and we don't upload those anywhere, so best for a developer to look at this.

I could redo the crash and committed a fix for only the crash, the sound will not play yet. The crash happened in KX_SoundActuator.cpp, this lines returns NULL for m_handle which crashed later in the function, so I added a simple NULL check there.

m_handle = AUD_getDevice()->play(sound, 0);

The reason it returns NULL is because in AUD_OpenALDevice m_useMC is false. So this means the AL_EXT_MCFORMATS extension for multi channel audio is not available. Maybe we need to upgrade our OpenAL library?%%%

%%%It's not easy to get a backtrace on windows, it needs a debug build and we don't upload those anywhere, so best for a developer to look at this. I could redo the crash and committed a fix for only the crash, the sound will not play yet. The crash happened in KX_SoundActuator.cpp, this lines returns NULL for m_handle which crashed later in the function, so I added a simple NULL check there. m_handle = AUD_getDevice()->play(sound, 0); The reason it returns NULL is because in AUD_OpenALDevice m_useMC is false. So this means the AL_EXT_MCFORMATS extension for multi channel audio is not available. Maybe we need to upgrade our OpenAL library?%%%

%%%I tried copying the soft_oal.dll from the latest soft-openal over the wrap_oal.dll we use and it makes playback of this file work.
http://kcat.strangesoft.net/openal.html

It seems that a year ago we reverted from soft-openal to the creative openal, because 3D sound support was missing? But as far as I can tell it works with this latest dll, though I can only test stereo.
http://projects.blender.org/scm/viewvc.php?diff_format=s&view=rev&root=bf-blender&revision=44197%%%

%%%I tried copying the soft_oal.dll from the latest soft-openal over the wrap_oal.dll we use and it makes playback of this file work. http://kcat.strangesoft.net/openal.html It seems that a year ago we reverted from soft-openal to the creative openal, because 3D sound support was missing? But as far as I can tell it works with this latest dll, though I can only test stereo. http://projects.blender.org/scm/viewvc.php?diff_format=s&view=rev&root=bf-blender&revision=44197%%%

%%%I wish i could follow your steps by myself, but i am a total beginner.
Thank you for your efforts in this case.

I am still trying to get a backtrace, if its still necessary at all.%%%

%%%I wish i could follow your steps by myself, but i am a total beginner. Thank you for your efforts in this case. I am still trying to get a backtrace, if its still necessary at all.%%%

%%%I deleted wrap-oal.dll and added soft_oal.dll to my Blender directory.
Unfortunately it doesnt helped.%%%

%%%I deleted wrap-oal.dll and added soft_oal.dll to my Blender directory. Unfortunately it doesnt helped.%%%

%%%@Karja. The DLL needs to be named the same (and expose the same symbols of course)%%%

%%%@Karja. The DLL needs to be named the same (and expose the same symbols of course)%%%
Member

%%%Windows guys: Could you please make sure this doesn't happen with openal soft anymore?

http://projects.blender.org/tracker/index.php?func=detail&aid=30232&group_id=9&atid=498

If not I have nothing against switching to openal soft.%%%

%%%Windows guys: Could you please make sure this doesn't happen with openal soft anymore? http://projects.blender.org/tracker/index.php?func=detail&aid=30232&group_id=9&atid=498 If not I have nothing against switching to openal soft.%%%

%%%Great!
Now it works, no errors anymore.
I forgot to rename it.

Thanks a lot.%%%

%%%Great! Now it works, no errors anymore. I forgot to rename it. Thanks a lot.%%%
Member

%%%Ok, I guess I can mark this as closed then?!%%%

%%%Ok, I guess I can mark this as closed then?!%%%
Member

Changed status from 'Open' to: 'Resolved'

Changed status from 'Open' to: 'Resolved'
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
5 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#34083
No description provided.