X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=ogg_afh.c;h=d295f2d31ba1a482f7c67a0d0663a1efc5c82867;hb=2cc93ff31f16e65c1c1f94b0044b32f6be67cbd3;hp=3445970bd867acfbcd7ad52a1df1a58edd9bf691;hpb=90501714a4379e36e191a7d5330378f898ac258f;p=paraslash.git diff --git a/ogg_afh.c b/ogg_afh.c index 3445970b..d295f2d3 100644 --- a/ogg_afh.c +++ b/ogg_afh.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2006 Andre Noll + * Copyright (C) 2004-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 @@ -15,20 +15,21 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. */ -/** \file ogg.c para_server's ogg vorbis audio format handler */ +/** \file ogg_afh.c para_server's ogg vorbis audio format handler */ +#include #include #include #include #include "server.cmdline.h" #include "server.h" -#include "afs.h" +#include "vss.h" #include "afh.h" #include "error.h" #include "string.h" -/* must be big enough to hold header */ +/** must be big enough to hold header */ #define CHUNK_SIZE 32768 static double chunk_time = 0.25; @@ -37,7 +38,7 @@ static FILE *infile; static int header_len, oggbuf_len, vi_channels; static char *header, *oggbuf; static ssize_t *chunk_table, max_chunk_len; -struct audio_format_handler *af; +static struct audio_format_handler *af; static long vi_sampling_rate, vi_bitrate, vi_bitrate_nominal, num_chunks; @@ -116,7 +117,7 @@ err2: err1: ogg_sync_destroy(sync_in); vorbis_info_clear(&vi); - vorbis_comment_clear(&vc); + vorbis_comment_clear(&vc); return ret; } @@ -129,7 +130,7 @@ static void tunetable(void) continue; } if (j < 0) - tv_scale(i + 2, &af->chunk_tv, &af->eof_tv); + tv_scale(i, &af->chunk_tv, &af->eof_tv); for (j = lp; j < i; j++) chunk_table[j] = chunk_table[i]; lp = i; @@ -141,7 +142,7 @@ static void tunetable(void) lp = i; for (i = 2; i < num_chunks - lp; i++) chunk_table[i] = chunk_table[i + lp]; -#endif +#endif } @@ -207,14 +208,14 @@ static void ogg_close_audio_file(void) oggbuf_len = 0; } -static int ogg_save_header(FILE *file, int header_len) +static int ogg_save_header(FILE *file, int len) { int ret; - header = para_malloc(header_len); + header = para_malloc(len); rewind(file); - ret = read(fileno(file), header, header_len); - if (ret != header_len) + ret = read(fileno(file), header, len); + if (ret != len) return -E_OGG_READ; return 1; } @@ -306,7 +307,7 @@ static ogg_int64_t get_chunk_size(long unsigned chunk_num) return ret; } -char *ogg_read_chunk(long unsigned current_chunk, ssize_t *len) +static char *ogg_read_chunk(long unsigned current_chunk, ssize_t *len) { int ret; ogg_int64_t cs = get_chunk_size(current_chunk); @@ -347,6 +348,12 @@ static char *ogg_get_header_info(int *len) } static const char* ogg_suffixes[] = {"ogg", NULL}; + +/** + * the init function of the ogg vorbis audio format handler + * + * \param p pointer to the struct to initialize + */ void ogg_init(struct audio_format_handler *p) { af = p;