X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=afh_common.c;h=10376ba68feb8567291ef0c7325bb3af9c293713;hp=bb04453f599e29218abb955d18fcb74a078d1eb8;hb=fa578bf1d070161cafcbcc69ca7b810414ee1a4b;hpb=fb62100d23baea388cec78e572b0f36d051a61c0 diff --git a/afh_common.c b/afh_common.c index bb04453f..10376ba6 100644 --- a/afh_common.c +++ b/afh_common.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1997-2009 Andre Noll + * Copyright (C) 1997-2011 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -26,7 +26,11 @@ void mp3_init(struct audio_format_handler *); #ifdef HAVE_FAAD void aac_afh_init(struct audio_format_handler *); #endif +#ifdef HAVE_SPEEX + void spx_afh_init(struct audio_format_handler *); +#endif +void wma_afh_init(struct audio_format_handler *); /** * The list of supported audio formats. * @@ -54,6 +58,16 @@ static struct audio_format_handler afl[] = { .name = "aac", #ifdef HAVE_FAAD .init = aac_afh_init, +#endif + }, + { + .name = "wma", + .init = wma_afh_init, + }, + { + .name = "spx", +#ifdef HAVE_SPEEX + .init = spx_afh_init, #endif }, { @@ -84,7 +98,7 @@ void afh_init(void) int i; PARA_INFO_LOG("supported audio formats: %s\n", - SUPPORTED_AUDIO_FORMATS); + SERVER_AUDIO_FORMATS); FOR_EACH_AUDIO_FORMAT(i) { PARA_NOTICE_LOG("initializing %s handler\n", audio_format_name(i)); @@ -146,7 +160,6 @@ int compute_afhi(const char *path, char *data, size_t size, int fd, { int ret, i, format; - afhi->header_offset = 0; afhi->header_len = 0; afhi->techinfo = NULL; afhi->tags.artist = NULL; @@ -206,9 +219,9 @@ success: */ const char *audio_format_name(int i) { - //PARA_NOTICE_LOG("array size: %u¸ requested: %d\n", ARRAY_SIZE(afl), i); - assert(i < 0 || i < ARRAY_SIZE(afl) - 1); - return i >= 0? afl[i].name : "(none)"; + if (i < 0 || i >= ARRAY_SIZE(afl) - 1) + return "???"; + return afl[i].name; } /** @@ -231,15 +244,6 @@ void afh_get_chunk(long unsigned chunk_num, struct afh_info *afhi, *len = afhi->chunk_table[chunk_num + 1] - pos; } -uint32_t afh_get_largest_chunk_size(struct afh_info *afhi) -{ - uint32_t n, largest = 0, *ct = afhi->chunk_table; - - for (n = 1; n <= afhi->chunks_total; n++) - largest = PARA_MAX(largest, ct[n] - ct[n - 1]); - return largest; -} - /** * Get the header of an audio file. * @@ -260,5 +264,5 @@ void afh_get_header(struct afh_info *afhi, void *map, const char **buf, size_t * return; } *len = afhi->header_len; - *buf = map + afhi->header_offset; + *buf = map; }