package org.jaudiotagger.tag.asf; import org.jaudiotagger.audio.asf.data.ContentBranding; import org.jaudiotagger.audio.asf.data.ContainerType; import org.jaudiotagger.audio.asf.data.MetadataDescriptor; import org.jaudiotagger.tag.asf.AbstractAsfTagImageField; import org.jaudiotagger.tag.asf.AsfFieldKey; /** * This field represents the image content of the banner image which is stored * in the {@linkplain ContentBranding content branding} chunk of ASF files.<br> * * @author Christian Laireiter */ public class AsfTagBannerField extends AbstractAsfTagImageField { /** * Creates an instance with no image data.<br> */ public AsfTagBannerField() { super(AsfFieldKey.BANNER_IMAGE); } /** * Creates an instance with given descriptor as image content.<br> * * @param descriptor * image content. */ public AsfTagBannerField(final MetadataDescriptor descriptor) { super(descriptor); assert descriptor.getName().equals( AsfFieldKey.BANNER_IMAGE.getFieldName()); } /** * Creates an instance with specified data as image content. * * @param imageData * image content. */ public AsfTagBannerField(final byte[] imageData) { super(new MetadataDescriptor(ContainerType.CONTENT_BRANDING, AsfFieldKey.BANNER_IMAGE.getFieldName(), MetadataDescriptor.TYPE_BINARY)); this.toWrap.setBinaryValue(imageData); } /** * {@inheritDoc} */ @Override public int getImageDataSize() { return this.toWrap.getRawDataSize(); } /** * {@inheritDoc} */ @Override public byte[] getRawImageData() { return getRawContent(); } }