Commit c05a3f25 authored by Sam Lantinga's avatar Sam Lantinga

Date: Mon, 05 Jul 2004 14:37:59 +0200

From: Yves Maurischat
Subject: [SDL] Crashes when using aRts on Linux

We had a problem with my app using SDL. It always crashed after SDL_OpenAudio(),
if the artsd was running on a Linux machine with KDE. After some investigation
(and searching for differences in other apps using arts) we found out, that the
problem resulted from loading, calling arts_init(), calling arts_free() and
unloading the aRts-Library in .../src/audio/arts/SDL_artsaudio.c twice: first in
"static int Audio_Available()", the second time in "static SDL_AudioDevice
*Audio_CreateDevice(int devindex)".

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%40930
parent 7df9f826
...@@ -140,6 +140,13 @@ static int Audio_Available(void) ...@@ -140,6 +140,13 @@ static int Audio_Available(void)
return available; return available;
} }
if ( SDL_NAME(arts_init)() == 0 ) { if ( SDL_NAME(arts_init)() == 0 ) {
#define ARTS_CRASH_HACK /* Play a stream so aRts doesn't crash */
#ifdef ARTS_CRASH_HACK
arts_stream_t stream2;
stream2=SDL_NAME(arts_play_stream)(44100, 16, 2, "SDL");
SDL_NAME(arts_write)(stream2, "", 0);
SDL_NAME(arts_close_stream)(stream2);
#endif
available = 1; available = 1;
SDL_NAME(arts_free)(); SDL_NAME(arts_free)();
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment