#include "error.h"
#include "string.h"
#include "aac.h"
+#include "fd.h"
/* must be big enough to hold header */
#define DEFAULT_INBUF_SIZE 65536
static int inbuf_size;
static unsigned char *inbuf;
static size_t inbuf_len;
-struct audio_format *af;
+struct audio_format_handler *af;
static size_t num_chunks;
static size_t entry;
static size_t *chunk_table;
NeAACDecHandle handle;
-
static void aac_close_audio_file(void)
{
+ if (!infile)
+ return;
+ fclose(infile);
+ infile = NULL;
}
static int aac_find_stsz(unsigned char *buf, unsigned buflen, size_t *skip)
// return -E_AAC_REPOS;
}
-static __must_check int para_fread(void *ptr, size_t size, size_t nmemb, FILE *stream)
-{
- size_t res = fread(ptr, size, nmemb, stream);
- if (res == nmemb)
- return size * nmemb;
- if (feof(stream))
- return 0;
- return -E_FREAD;
-}
-
static char *aac_read_chunk(long unsigned current_chunk, ssize_t *len)
{
int ret;
return (char *)inbuf;
}
+static const char* aac_suffixes[] = {"m4a", NULL};
+/** the init function of the aac audio format handler */
void aac_afh_init(void *p)
{
af = p;
af->chunk_tv.tv_sec = 0;
af->chunk_tv.tv_usec = 23120;
tv_scale(3, &af->chunk_tv, &af->eof_tv);
+ af->suffixes = aac_suffixes;
}