X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=mp3_afh.c;h=d7493ac01e28bba581b7112a41a37e84426be11a;hb=4ce5b6570ed83ef2ab5296f369f147593507286b;hp=471efd99db36634e1db33763be94ef70c4ae6de4;hpb=a1c4cc4b26f72c19e12100d47a9da3c449aab3e7;p=paraslash.git diff --git a/mp3_afh.c b/mp3_afh.c index 471efd99..d7493ac0 100644 --- a/mp3_afh.c +++ b/mp3_afh.c @@ -348,7 +348,7 @@ static int mp3_rewrite_tags(const char *map, size_t mapsize, if (ret < 0) goto out; new_v2size = id3_tag_render(v2_tag, NULL); - v2_buffer = para_malloc(new_v2size); + v2_buffer = alloc(new_v2size); id3_tag_render(v2_tag, v2_buffer); PARA_INFO_LOG("writing v2 tag (%lu bytes)\n", new_v2size); ret = write_all(fd, (char *)v2_buffer, new_v2size); @@ -598,7 +598,7 @@ static int mp3_read_info(unsigned char *map, size_t numbytes, int fd, const char *tag_versions[] = {"no", "id3v1", "id3v2", "id3v1+id3v2"}; afhi->chunks_total = 0; - afhi->chunk_table = para_malloc(chunk_table_size * sizeof(uint32_t)); + afhi->chunk_table = arr_alloc(chunk_table_size, sizeof(uint32_t)); while (1) { int freq, br; struct timeval tmp, cct; /* current chunk time */ @@ -633,8 +633,8 @@ static int mp3_read_info(unsigned char *map, size_t numbytes, int fd, total_time = tmp; if (afhi->chunks_total >= chunk_table_size) { chunk_table_size *= 2; - afhi->chunk_table = para_realloc(afhi->chunk_table, - chunk_table_size * sizeof(uint32_t)); + afhi->chunk_table = arr_realloc(afhi->chunk_table, + chunk_table_size, sizeof(uint32_t)); } afhi->chunk_table[afhi->chunks_total] = fpos; afhi->chunks_total++; @@ -652,7 +652,7 @@ static int mp3_read_info(unsigned char *map, size_t numbytes, int fd, afhi->channels = header_channels(&header); afhi->seconds_total = (tv2ms(&total_time) + 500) / 1000; tv_divide(afhi->chunks_total, &total_time, &afhi->chunk_tv); - PARA_DEBUG_LOG("%" PRIu32 "chunks, each %lums\n", afhi->chunks_total, + PARA_DEBUG_LOG("%" PRIu32 " chunks, each %lums\n", afhi->chunks_total, tv2ms(&afhi->chunk_tv)); set_max_chunk_size(afhi); ret = mp3_get_id3(map, numbytes, fd, &afhi->tags); @@ -675,7 +675,7 @@ static int mp3_get_file_info(char *map, size_t numbytes, int fd, ret = mp3_read_info((unsigned char *)map, numbytes, fd, afhi); if (ret < 0) return ret; - if (afhi->seconds_total < 2 || !afhi->chunks_total) + if (afhi->chunks_total == 0) return -E_MP3_INFO; return 1; } @@ -683,15 +683,14 @@ static int mp3_get_file_info(char *map, size_t numbytes, int fd, static const char * const mp3_suffixes[] = {"mp3", NULL}; /** - * the init function of the mp3 audio format handler + * The mp3 audio format handler. * - * \param afh pointer to the struct to initialize + * It does not depend on any libraries and is hence always compiled in. */ -void mp3_afh_init(struct audio_format_handler *afh) -{ - afh->get_file_info = mp3_get_file_info; - afh->suffixes = mp3_suffixes; +const struct audio_format_handler mp3_afh = { + .get_file_info = mp3_get_file_info, + .suffixes = mp3_suffixes, #ifdef HAVE_LIBID3TAG - afh->rewrite_tags = mp3_rewrite_tags; + .rewrite_tags = mp3_rewrite_tags, #endif /* HAVE_LIBID3TAG */ -} +};