X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=ogg_afh_common.c;h=3a5c263cbc09169f15c973040ddc2e0118b27c9c;hb=4ce5b6570ed83ef2ab5296f369f147593507286b;hp=12a152062f2bf49beebd6d3838e3514d1ec0ee3d;hpb=b223b30fd6ecea80100b1d4a6802cef0e9c29e49;p=paraslash.git diff --git a/ogg_afh_common.c b/ogg_afh_common.c index 12a15206..3a5c263c 100644 --- a/ogg_afh_common.c +++ b/ogg_afh_common.c @@ -148,8 +148,9 @@ int oac_get_file_info(char *map, size_t numbytes, struct afh_info *afhi, /* count ogg pages and get duration of the file */ for (i = 0; ogg_sync_pageseek(&oss, &op) > 0; i++) { int this_pageno = ogg_page_pageno(&op); - - granule = ogg_page_granulepos(&op); + int64_t this_granule = ogg_page_granulepos(&op); + if (this_granule >= 0) + granule = this_granule; if (i > 0 && this_pageno != prev_pageno + 1) /* hole */ granule_skip += granule - prev_granule; prev_pageno = this_pageno; @@ -166,7 +167,7 @@ int oac_get_file_info(char *map, size_t numbytes, struct afh_info *afhi, PARA_INFO_LOG("%" PRIu32 " seconds, %d frames/chunk\n", afhi->seconds_total, frames_per_chunk); ct_size = 250; - afhi->chunk_table = para_malloc(ct_size * sizeof(uint32_t)); + afhi->chunk_table = arr_alloc(ct_size, sizeof(uint32_t)); afhi->chunk_table[0] = 0; afhi->chunk_table[1] = afhi->header_len; oss.returned = afhi->header_len; @@ -178,9 +179,9 @@ int oac_get_file_info(char *map, size_t numbytes, struct afh_info *afhi, j++; if (j >= ct_size) { ct_size *= 2; - afhi->chunk_table = para_realloc( + afhi->chunk_table = arr_realloc( afhi->chunk_table, - ct_size * sizeof(uint32_t)); + ct_size, sizeof(uint32_t)); } afhi->chunk_table[j] = oss.returned; } @@ -366,7 +367,7 @@ struct oac_custom_header { */ struct oac_custom_header *oac_custom_header_new(void) { - return para_calloc(sizeof(struct oac_custom_header)); + return zalloc(sizeof(struct oac_custom_header)); } /**