[FFmpeg-devel] [PATCH] lavf/aiffenc: write APIC frames at the beginning of ID3 metadata
Matthieu Bouron
matthieu.bouron at gmail.com
Wed May 29 20:06:53 CEST 2013
On Tue, May 28, 2013 at 7:35 PM, Matthieu Bouron
<matthieu.bouron at gmail.com>wrote:
> Fixes covert art display for iTunes, Traktor, Serato and Torq.
> ---
>
> Hello there,
>
> Actually, ID3 covert arts (APIC frames) in AIFF files are not
> recognized/displayed by iTunes, Traktor, Serato and Torq
> softwares. This patch fix this issue by writing APIC frames at
> the beginning of the ID3 metadata.
>
> To be honest i have no idea why this softwares do not recognize
> the APIC frames when there are written at the end of the ID3 metadata.
> Looking at the differences between a valid file and the file generated by
> ffmpeg did not help me. The main difference was the encoding choosen for
> the frame description and forcing it to ISO 8859-1 did not help.
>
> The other difference was that the APIC frames were at the beginning of
> the ID3 data.
>
> Nonetheless, it does the trick. Please comment,
> Matthieu
>
> ---
> libavformat/aiffenc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/libavformat/aiffenc.c b/libavformat/aiffenc.c
> index 7c0b4fb..e74c8c5 100644
> --- a/libavformat/aiffenc.c
> +++ b/libavformat/aiffenc.c
> @@ -58,12 +58,12 @@ static int put_id3v2_tags(AVFormatContext *s,
> AIFFOutputContext *aiff)
> pos = avio_tell(pb);
>
> ff_id3v2_start(&id3v2, pb, aiff->id3v2_version, ID3v2_DEFAULT_MAGIC);
> - ff_id3v2_write_metadata(s, &id3v2);
> while (pict_list) {
> if ((ret = ff_id3v2_write_apic(s, &id3v2, &pict_list->pkt)) < 0)
> return ret;
> pict_list = pict_list->next;
> }
> + ff_id3v2_write_metadata(s, &id3v2);
> ff_id3v2_finish(&id3v2, pb);
>
> end = avio_tell(pb);
> --
> 1.8.2.3
>
>
Do not take this patch into account, since the lavf/id3v2enc patch solve
the issue for both aiff and mp3 files.
Matthieu
More information about the ffmpeg-devel
mailing list