[mupen64plus-audio-sdl] 128/163: Initialize audiobuffer before mixing it against our data

Sven Eckelmann ecsv-guest at moszumanska.debian.org
Thu Nov 26 05:53:33 UTC 2015


This is an automated email from the git hooks/post-receive script.

ecsv-guest pushed a commit to branch armhf_test
in repository mupen64plus-audio-sdl.

commit 90c43167fc151224432bc4f6c6e39210e4730e94
Author: Sven Eckelmann <sven at narfation.org>
Date:   Tue Jun 11 10:51:15 2013 +0200

    Initialize audiobuffer before mixing it against our data
---
 debian/changelog                            |  3 +++
 debian/patches/initialize_audiobuffer.patch | 27 +++++++++++++++++++++++++++
 debian/patches/series                       |  1 +
 3 files changed, 31 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index 3de2758..85b059b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,6 +4,9 @@ mupen64plus-audio-sdl (2.0~rc2+1+ad849b6b7b69-2) UNRELEASED; urgency=low
     - Switch from SDL 1.2 to SDL 2.0
   * debian/control:
     - Depend on libsdl2-dev instead of libsdl1.2-dev
+  * debian/patches:
+    - Add initialize_audiobuffer.patch, Initialize audiobuffer before mixing it
+      against our data
 
  -- Sven Eckelmann <sven at narfation.org>  Sun, 09 Jun 2013 22:22:33 +0200
 
diff --git a/debian/patches/initialize_audiobuffer.patch b/debian/patches/initialize_audiobuffer.patch
new file mode 100644
index 0000000..1fe013a
--- /dev/null
+++ b/debian/patches/initialize_audiobuffer.patch
@@ -0,0 +1,27 @@
+Description: Initialize audiobuffer before mixing it against our data
+ SDL doesn't guarantee that the target audio buffer passed in its callback is
+ initialized to zero (silence). SDL_MixAudio may now try to mix the random data
+ from the dst buffer and the new data from the src buffer together and creating
+ distorted sound in this process.
+Author: Sven Eckelmann <sven at narfation.org>
+
+---
+diff --git a/src/main.c b/src/main.c
+index ff5e31983fd9ac4f3dfda1e7bd3eb2db1a9aeb33..e116c7376064013da69e5844ca94cbbb143862a2 100644
+--- a/src/main.c
++++ b/src/main.c
+@@ -597,13 +597,9 @@ static void my_audio_callback(void *userdata, unsigned char *stream, int len)
+         else
+ #endif
+         {
+-#if SDL_VERSION_ATLEAST(1,3,0)
+-#warning Mixing disabled with SDL >= 1.3 because it creates distorted audio
+-            input_used = resample(primaryBuffer, buffer_pos, oldsamplerate, stream, len, newsamplerate);
+-#else
+             input_used = resample(primaryBuffer, buffer_pos, oldsamplerate, mixBuffer, len, newsamplerate);
++            memset(stream, 0, len);
+             SDL_MixAudio(stream, mixBuffer, len, VolSDL);
+-#endif
+         }
+         memmove(primaryBuffer, &primaryBuffer[input_used], buffer_pos - input_used);
+         buffer_pos -= input_used;
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..0819e18
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+initialize_audiobuffer.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/mupen64plus-audio-sdl.git



More information about the Pkg-games-commits mailing list