foxygit / doom Log in
commit 15b8e6e1e47e4f733f862c16a5c18a3485bd22d4
Author:     Fabian Greffrath <fabian@greffrath.com>
AuthorDate: Mon Oct 24 15:30:18 2016 +0200
Commit:     Fabian Greffrath <fabian@greffrath.com>
CommitDate: Mon Oct 24 15:30:18 2016 +0200

    i_sdlsound.c: fix compilation with libsamplerate 0.1.9

    This new version has const-corrected the data_in field, fixes #788
---
 src/i_sdlsound.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/i_sdlsound.c b/src/i_sdlsound.c
index f01ca207..016ffe21 100644
--- a/src/i_sdlsound.c
+++ b/src/i_sdlsound.c
@@ -404,6 +404,7 @@ static boolean ExpandSoundData_SRC(sfxinfo_t *sfxinfo,
                                    int length)
 {
     SRC_DATA src_data;
+    float *data_in;
     uint32_t i, abuf_index=0, clipped=0;
 //    uint32_t alen;
     int retn;
@@ -412,7 +413,8 @@ static boolean ExpandSoundData_SRC(sfxinfo_t *sfxinfo,
     Mix_Chunk *chunk;

     src_data.input_frames = length;
-    src_data.data_in = malloc(length * sizeof(float));
+    data_in = malloc(length * sizeof(float));
+    src_data.data_in = data_in;
     src_data.src_ratio = (double)mixer_freq / samplerate;

     // We include some extra space here in case of rounding-up.
@@ -428,7 +430,7 @@ static boolean ExpandSoundData_SRC(sfxinfo_t *sfxinfo,
         // Unclear whether 128 should be interpreted as "zero" or whether a
         // symmetrical range should be assumed.  The following assumes a
         // symmetrical range.
-        src_data.data_in[i] = data[i] / 127.5 - 1;
+        data_in[i] = data[i] / 127.5 - 1;
     }

     // Do the sound conversion
@@ -497,7 +499,7 @@ static boolean ExpandSoundData_SRC(sfxinfo_t *sfxinfo,
         expanded[abuf_index++] = cvtval_i;
     }

-    free(src_data.data_in);
+    free(data_in);
     free(src_data.data_out);

     if (clipped > 0)