mirror of
https://github.com/sle118/squeezelite-esp32.git
synced 2025-12-09 21:17:18 +03:00
more alac fixes
This commit is contained in:
@@ -516,26 +516,17 @@ static decode_state alac_decode(void) {
|
|||||||
return DECODE_RUNNING;
|
return DECODE_RUNNING;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void alac_open(u8_t size, u8_t rate, u8_t chan, u8_t endianness) {
|
|
||||||
if (l->decoder) alac_delete_decoder(l->decoder);
|
|
||||||
if (l->writebuf) free(l->writebuf);
|
|
||||||
if (l->chunkinfo) free(l->chunkinfo);
|
|
||||||
if (l->block_size) free(l->block_size);
|
|
||||||
if (l->stsc) free(l->stsc);
|
|
||||||
l->writebuf = l->decoder = l->chunkinfo = l->stsc = l->block_size = NULL;
|
|
||||||
l->skip = 0;
|
|
||||||
l->samples = l->sttssamples = 0;
|
|
||||||
l->empty = false;
|
|
||||||
l->pos = l->consume = l->sample = l->nextchunk = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void alac_close(void) {
|
static void alac_close(void) {
|
||||||
if (l->decoder) alac_delete_decoder(l->decoder);
|
if (l->decoder) alac_delete_decoder(l->decoder);
|
||||||
if (l->writebuf) free(l->writebuf);
|
if (l->writebuf) free(l->writebuf);
|
||||||
if (l->chunkinfo) free(l->chunkinfo);
|
if (l->chunkinfo) free(l->chunkinfo);
|
||||||
if (l->block_size) free(l->block_size);
|
if (l->block_size) free(l->block_size);
|
||||||
if (l->stsc) free(l->stsc);
|
if (l->stsc) free(l->stsc);
|
||||||
l->writebuf = l->decoder = l->chunkinfo = l->stsc = l->block_size = NULL;
|
memset(l, 0, sizeof(struct alac));
|
||||||
|
}
|
||||||
|
|
||||||
|
static void alac_open(u8_t size, u8_t rate, u8_t chan, u8_t endianness) {
|
||||||
|
alac_close();
|
||||||
}
|
}
|
||||||
|
|
||||||
struct codec *register_alac(void) {
|
struct codec *register_alac(void) {
|
||||||
@@ -549,12 +540,8 @@ struct codec *register_alac(void) {
|
|||||||
alac_decode, // decode
|
alac_decode, // decode
|
||||||
};
|
};
|
||||||
|
|
||||||
l = malloc(sizeof(struct alac));
|
l = calloc(1, sizeof(struct alac));
|
||||||
if (!l) {
|
if (!l) return NULL;
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
l->writebuf = l->decoder = l->chunkinfo = l->stsc = l->block_size = NULL;
|
|
||||||
|
|
||||||
LOG_INFO("using alac to decode alc");
|
LOG_INFO("using alac to decode alc");
|
||||||
return &ret;
|
return &ret;
|
||||||
|
|||||||
Reference in New Issue
Block a user