X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=ogg_afh_common.c;h=72fab7c14db9caeb8e5459dbead0798fb2e46c67;hp=54e92956c641eb8cc8d88ce2a2f9c8920b32a6d6;hb=7e37a7cf49df279b9ab467fa4f62dd376c791a26;hpb=3f8c505afd85714f6f8c12d8a94ae642fbfb6de4 diff --git a/ogg_afh_common.c b/ogg_afh_common.c index 54e92956..72fab7c1 100644 --- a/ogg_afh_common.c +++ b/ogg_afh_common.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2010 Andre Noll + * Copyright (C) 2004-2011 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -91,16 +91,15 @@ out: return ret; } -static void set_chunk_tv(int num_frames, int num_chunks, int frequency, +static void set_chunk_tv(int frames_per_chunk, int frequency, struct timeval *result) { - uint64_t x = (uint64_t)num_frames * 1000 * 1000 - / frequency / num_chunks; + uint64_t x = (uint64_t)frames_per_chunk * 1000 * 1000 / frequency; result->tv_sec = x / 1000 / 1000; result->tv_usec = x % (1000 * 1000); - PARA_INFO_LOG("%d chunks, chunk time: %lums\n", num_chunks, - tv2ms(result)); + PARA_INFO_LOG("%d frames per chunk, chunk time: %lums\n", + frames_per_chunk, tv2ms(result)); } /** @@ -145,7 +144,7 @@ int ogg_get_file_info(char *map, size_t numbytes, struct afh_info *afhi, goto out; oss.returned = 0; oss.fill = numbytes; - /* count ogg packages and get duration of the file */ + /* count ogg pages and get duration of the file */ for (i = 0; ogg_sync_pageseek(&oss, &op) > 0; i++) num_frames = ogg_page_granulepos(&op); PARA_INFO_LOG("%d pages, %llu frames\n", i, num_frames); @@ -163,7 +162,7 @@ int ogg_get_file_info(char *map, size_t numbytes, struct afh_info *afhi, afhi->chunk_table[1] = afhi->header_len; oss.returned = afhi->header_len; oss.fill = numbytes; - for (i = 0, j = 1; ogg_sync_pageseek(&oss, &op) > 0; i++) { + for (j = 1; ogg_sync_pageseek(&oss, &op) > 0; /* nothing */) { int granule = ogg_page_granulepos(&op); while (granule > j * frames_per_chunk) { @@ -178,7 +177,7 @@ int ogg_get_file_info(char *map, size_t numbytes, struct afh_info *afhi, } } afhi->chunks_total = j; - set_chunk_tv(num_frames, j, afhi->frequency, &afhi->chunk_tv); + set_chunk_tv(frames_per_chunk, afhi->frequency, &afhi->chunk_tv); ret = 0; out: ogg_sync_clear(&oss);