X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=ogg.c;h=fa935d5090abb2a9eddb06fd87676b688fe63fc9;hp=0c7b20ea47a8350860c19fe2de7c3eba8b4d0e9f;hb=e921be422a216b87e3e6812f16b27c9a6927099d;hpb=89705a75d4c62bedb2696e67d0df76e812c5d89c diff --git a/ogg.c b/ogg.c index 0c7b20ea..fa935d50 100644 --- a/ogg.c +++ b/ogg.c @@ -35,8 +35,8 @@ static OggVorbis_File *oggvorbis_file; static FILE *infile; static int header_len, oggbuf_len, vi_channels; static char *header, *oggbuf; -static ogg_int64_t *chunk_table, max_chunk_len; -struct audio_format *af; +static ssize_t *chunk_table, max_chunk_len; +struct audio_format_handler *af; static long vi_sampling_rate, vi_bitrate, vi_bitrate_nominal, num_chunks; @@ -152,7 +152,7 @@ static void tunetable(void) static void ogg_compute_chunk_table(double time_total) { int i, ret, num; - ogg_int64_t pos = 0, min = 0, old_pos; + ssize_t pos = 0, min = 0, old_pos; old_pos = 0; ret = 0; @@ -170,19 +170,19 @@ static void ogg_compute_chunk_table(double time_total) break; pos = ov_raw_tell(oggvorbis_file); diff = pos - old_pos; - max_chunk_len = MAX(max_chunk_len, diff); - min = (i == 1)? diff : MIN(min, diff); + max_chunk_len = PARA_MAX(max_chunk_len, diff); + min = (i == 1)? diff : PARA_MIN(min, diff); chunk_table[i] = pos; if (i < 11 || !((i - 1) % 1000)|| i > num - 11) - PARA_DEBUG_LOG("chunk #%d: %g secs, pos: %lli, " - "size: %lli\n", i - 1, + PARA_DEBUG_LOG("chunk #%d: %g secs, pos: %zd, " + "size: %zd\n", i - 1, i * chunk_time, pos, pos - old_pos); old_pos = pos; } num_chunks = i - 1; chunk_table[i] = pos; tunetable(); - PARA_INFO_LOG("%li chunks (%fs), max chunk: %lli, min chunk: %lli\n", + PARA_INFO_LOG("%li chunks (%fs), max chunk: %zd, min chunk: %zd\n", num_chunks, chunk_time, max_chunk_len, min); rewind(infile); } @@ -345,6 +345,7 @@ static char *ogg_get_header_info(int *len) return header; } +static const char* ogg_suffixes[] = {"ogg", NULL}; void ogg_init(void *p) { af = p; @@ -356,4 +357,5 @@ void ogg_init(void *p) af->chunk_tv.tv_sec = 0; af->chunk_tv.tv_usec = 250 * 1000; tv_scale(3, &af->chunk_tv, &af->eof_tv); + af->suffixes = ogg_suffixes; }