MPEG-4 album art

This commit is contained in:
Adrian Sampson 2011-04-20 12:30:13 -07:00
parent 7ce2be9103
commit d6a89fa9bf

View file

@ -492,6 +492,21 @@ class ImageField(object):
# Unsupported image type.
return None
elif obj.type == 'mp4':
if 'covr' in obj.mgfile:
covers = obj.mgfile['covr']
if covers:
cover = covers[0]
if cover.format == cover.FORMAT_JPEG:
kind = imagekind.JPEG
else:
kind = imagekind.PNG
# cover is an MP4Cover, which is a subclass of str.
return (cover, kind)
# No cover found.
return None
else:
raise NotImplementedError()
@ -521,6 +536,17 @@ class ImageField(object):
)
obj.mgfile['APIC'] = picframe
elif obj.type == 'mp4':
if val is None and 'covr' in obj.mgfile:
del obj.mgfile['covr']
else:
if kind == imagekind.JPEG:
fmt = mutagen.mp4.MP4Cover.FORMAT_JPEG
else:
fmt = mutagen.mp4.MP4Cover.FORMAT_PNG
cover = mutagen.mp4.MP4Cover(data, fmt)
obj.mgfile['covr'] = [cover]
else:
raise NotImplementedError()