X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=aac_afh.c;h=0a80bfcf3a44205ea7d42f9ac260c03f910ba199;hb=d440a71683940a58747de6dc32643db452d9cf54;hp=42cba27a3670ddac4bde28f9d683c9c31a86e924;hpb=7376b51bb47f834f46a06756d3f004efac6c9bb0;p=paraslash.git diff --git a/aac_afh.c b/aac_afh.c index 42cba27a..0a80bfcf 100644 --- a/aac_afh.c +++ b/aac_afh.c @@ -60,9 +60,8 @@ static int aac_afh_open(const void *map, size_t mapsize, void **afh_context) c->cb.seek = aac_afh_seek_cb; c->cb.user_data = c; - ret = -E_MP4_OPEN; - c->mp4 = mp4_open_read(&c->cb); - if (!c->mp4) + ret = mp4_open_read(&c->cb, &c->mp4); + if (ret < 0) goto free_ctx; *afh_context = c; return 0; @@ -174,10 +173,10 @@ static uint32_t aac_afh_meta_seek_cb(void *user_data, uint64_t pos) return lseek(fd, pos, SEEK_SET); } -static uint32_t aac_afh_meta_write_cb(void *user_data, void *dest, uint32_t want) +static ssize_t aac_afh_meta_write_cb(void *user_data, void *dest, size_t count) { int fd = *(int *)user_data; - return write(fd, dest, want); + return write(fd, dest, count); } static uint32_t aac_afh_meta_truncate_cb(void *user_data) @@ -229,9 +228,9 @@ static int aac_afh_rewrite_tags(const char *map, size_t mapsize, return ret; lseek(fd, 0, SEEK_SET); - mp4 = mp4_open_meta(&cb); - if (!mp4) - return -E_MP4_OPEN; + ret = mp4_open_meta(&cb, &mp4); + if (ret < 0) + return ret; metadata = mp4_get_meta(mp4); PARA_NOTICE_LOG("%u metadata item(s) found\n", metadata->count); replace_or_add_tag("artist", tags->artist, metadata); @@ -239,11 +238,7 @@ static int aac_afh_rewrite_tags(const char *map, size_t mapsize, replace_or_add_tag("album", tags->album, metadata); replace_or_add_tag("date", tags->year, metadata); replace_or_add_tag("comment", tags->comment, metadata); - ret = -E_MP4_META_WRITE; - if (!mp4_meta_update(mp4)) - goto close; - ret = 1; -close: + ret = mp4_meta_update(mp4); mp4_close(mp4); return ret; }