[windows] - fixups for building on windows
[deb_shairplay.git] / src / lib / raop_buffer.c
index 45a1aeb587b4a3aba99a98cf16459034224510ad..37bfa79dab86ac3352c7e8faf7fa1491c40ab46e 100644 (file)
@@ -1,3 +1,17 @@
+/**
+ *  Copyright (C) 2011-2012  Juho Vähä-Herttua
+ *
+ *  This library is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU Lesser General Public
+ *  License as published by the Free Software Foundation; either
+ *  version 2.1 of the License, or (at your option) any later version.
+ *
+ *  This library is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *  Lesser General Public License for more details.
+ */
+
 #include <stdlib.h>
 #include <string.h>
 #include <assert.h>
@@ -58,20 +72,21 @@ static int
 get_fmtp_info(ALACSpecificConfig *config, const char *fmtp)
 {
        int intarr[12];
+       char *original;
        char *strptr;
        int i;
 
        /* Parse fmtp string to integers */
-       strptr = strdup(fmtp);
+       original = strptr = strdup(fmtp);
        for (i=0; i<12; i++) {
                if (strptr == NULL) {
-                       free(strptr);
+                       free(original);
                        return -1;
                }
                intarr[i] = atoi(utils_strsep(&strptr, " "));
        }
-       free(strptr);
-       strptr = NULL;
+       free(original);
+       original = strptr = NULL;
 
        /* Fill the config struct */
        config->frameLength = intarr[1];
@@ -171,7 +186,7 @@ raop_buffer_init(const char *fmtp,
                raop_buffer_entry_t *entry = &raop_buffer->entries[i];
                entry->audio_buffer_size = audio_buffer_size;
                entry->audio_buffer_len = 0;
-               entry->audio_buffer = raop_buffer->buffer+i*audio_buffer_size;
+               entry->audio_buffer = (char *)raop_buffer->buffer+i*audio_buffer_size;
        }
 
        /* Initialize ALAC decoder */
@@ -197,8 +212,8 @@ void
 raop_buffer_destroy(raop_buffer_t *raop_buffer)
 {
        if (raop_buffer) {
+               destroy_alac(raop_buffer->alac);
                free(raop_buffer->buffer);
-               free(raop_buffer->alac);
                free(raop_buffer);
        }
 }