• Mark Harris's avatar
    avformat/id3v2enc: use UTF-16 in id3v2.3 APIC frame only if non-ASCII · 4ccafaca
    Mark Harris authored
    This makes the encoding of picture descriptions consistent with the
    encoding of other text id3 tags and works better with iTunes, which
    does not display pictures with some UTF-16 picture descriptions
    (including a UTF-16 empty string, i.e. BOM + terminator).  It also
    saves a few bytes.
    
    Example:
     ffmpeg -f lavfi -i sine=b=4 -f lavfi -i smptebars -map 0:a -map 1:v \
       -codec:a libmp3lame -codec:v mjpeg -id3v2_version 3 \
       -metadata:s:v comment="Cover (front)" -t 3 -y out.mp3
    
    This example does not set a picture description (-metadata:s:v title=)
    so an empty string is written in the id3v2.3 APIC frame.  Without this
    patch, UTF-16 is used and the cover art does not display in iTunes.
    With the patch the cover art is displayed.  (Note that iTunes does not
    display or have a way to set picture descriptions, only the picture
    itself, but nevertheless has trouble skipping some UTF-16 descriptions.)
    Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
    4ccafaca
id3v2enc.c 10.5 KB