#include "crypto/crypto.h"
#include "alac/alac.h"
-#define RAOP_BUFFER_LENGTH 16
+#define RAOP_BUFFER_LENGTH 32
typedef struct {
/* Packet available */
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];
}
raop_buffer_t *
-raop_buffer_init(const char *fmtp,
+raop_buffer_init(const char *rtpmap,
+ const char *fmtp,
const unsigned char *aeskey,
const unsigned char *aesiv)
{
ALACSpecificConfig *alacConfig;
int i;
+ assert(rtpmap);
assert(fmtp);
assert(aeskey);
assert(aesiv);
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 */