X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=aac_afh.c;h=d5ec442b9bdce9b6507ea9d3c1559d2eee73da22;hp=601621ed8c99ff22b72b89af3c11f810dd58936c;hb=505cfe0c6c8f9ef79d259ee64404ab40f2057081;hpb=cb26d94043cb3717aa3d27ff115cb73bbb555230 diff --git a/aac_afh.c b/aac_afh.c index 601621ed..d5ec442b 100644 --- a/aac_afh.c +++ b/aac_afh.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006 Andre Noll + * Copyright (C) 2006-2007 Andre Noll * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -24,25 +24,26 @@ #include "server.cmdline.h" #include "server.h" -#include "afs.h" +#include "vss.h" +#include "afh.h" #include "error.h" #include "string.h" #include "aac.h" #include "fd.h" -/* must be big enough to hold header */ +/** size of the input buffer, must be big enough to hold header */ #define DEFAULT_INBUF_SIZE 65536 static FILE *infile; static int inbuf_size; static unsigned char *inbuf; static size_t inbuf_len; -struct audio_format_handler *af; +static struct audio_format_handler *af; static size_t num_chunks; static size_t entry; static size_t *chunk_table; -NeAACDecHandle handle; +static NeAACDecHandle handle; static void aac_close_audio_file(void) { @@ -113,10 +114,9 @@ static int read_chunk_table(size_t skip) PARA_DEBUG_LOG("offset #%d: %zu\n", i, chunk_table[i]); } return 1; - } -long unsigned aac_set_chunk_tv(mp4AudioSpecificConfig *mp4ASC) +static long unsigned aac_set_chunk_tv(mp4AudioSpecificConfig *mp4ASC) { float tmp = mp4ASC->sbr_present_flag == 1? 2047 : 1023, ms = 1000.0 * num_chunks * tmp / mp4ASC->samplingFrequency; @@ -186,16 +186,16 @@ static int aac_get_file_info(FILE *file, char *info_str, long unsigned *frames, "audio_file_info3:\n", num_chunks, tv2ms(&af->chunk_tv)); + tv_scale(20, &af->chunk_tv, &af->eof_tv); return 1; } /* - * Simple stream reposition routine + * nothing to do as we'll seek to the correct offset in aac read_chunk() anyway */ -static int aac_reposition_stream(long unsigned request) +static int aac_reposition_stream(__a_unused long unsigned request) { return 1; -// return -E_AAC_REPOS; } static char *aac_read_chunk(long unsigned current_chunk, ssize_t *len) @@ -230,7 +230,7 @@ static char *aac_read_chunk(long unsigned current_chunk, ssize_t *len) return (char *)inbuf; } -static const char* aac_suffixes[] = {"m4a", NULL}; +static const char* aac_suffixes[] = {"m4a", "mp4", NULL}; /** the init function of the aac audio format handler */ void aac_afh_init(struct audio_format_handler *p) { @@ -240,6 +240,5 @@ void aac_afh_init(struct audio_format_handler *p) af->read_chunk = aac_read_chunk; af->close_audio_file = aac_close_audio_file; af->get_header_info = NULL; - tv_scale(3, &af->chunk_tv, &af->eof_tv); af->suffixes = aac_suffixes; }