pub struct Picture { /* private fields */ }
Expand description
Represents a picture.
Implementations§
source§impl Picture
impl Picture
sourcepub fn from_reader<R>(reader: &mut R) -> Result<Self>where
R: Read,
pub fn from_reader<R>(reader: &mut R) -> Result<Self>where
R: Read,
Create a Picture
from a reader
NOTES:
- This is for reading picture data only, from
a
File
for example. pic_type
will always bePictureType::Other
, be sure to change it accordingly if writing.
§Errors
reader
contains less than 8 bytesreader
does not contain a supported format. SeeMimeType
for valid formats
sourcepub fn new_unchecked(
pic_type: PictureType,
mime_type: Option<MimeType>,
description: Option<String>,
data: Vec<u8>
) -> Self
pub fn new_unchecked( pic_type: PictureType, mime_type: Option<MimeType>, description: Option<String>, data: Vec<u8> ) -> Self
Create a new Picture
NOTE: This will not verify data
’s signature.
This should only be used if all data has been verified
beforehand.
sourcepub fn pic_type(&self) -> PictureType
pub fn pic_type(&self) -> PictureType
Returns the PictureType
sourcepub fn set_pic_type(&mut self, pic_type: PictureType)
pub fn set_pic_type(&mut self, pic_type: PictureType)
Sets the PictureType
sourcepub fn mime_type(&self) -> Option<&MimeType>
pub fn mime_type(&self) -> Option<&MimeType>
Returns the MimeType
The mime_type
is determined from the data
, and
is immutable.
sourcepub fn description(&self) -> Option<&str>
pub fn description(&self) -> Option<&str>
Returns the description
sourcepub fn set_description(&mut self, description: Option<String>)
pub fn set_description(&mut self, description: Option<String>)
Sets the description
sourcepub fn as_flac_bytes(
&self,
picture_information: PictureInformation,
encode: bool
) -> Vec<u8>
pub fn as_flac_bytes( &self, picture_information: PictureInformation, encode: bool ) -> Vec<u8>
Convert a Picture
to a base64 encoded FLAC METADATA_BLOCK_PICTURE
String
Use encode
to convert the picture to a base64 encoded String (RFC 4648 §4)
NOTES:
- This does not include a key (Vorbis comments) or METADATA_BLOCK_HEADER (FLAC blocks)
- FLAC blocks have different size requirements than OGG Vorbis/Opus, size is not checked here
- When writing to Vorbis comments, the data must be base64 encoded
sourcepub fn from_flac_bytes(
bytes: &[u8],
encoded: bool,
parse_mode: ParsingMode
) -> Result<(Self, PictureInformation)>
pub fn from_flac_bytes( bytes: &[u8], encoded: bool, parse_mode: ParsingMode ) -> Result<(Self, PictureInformation)>
Get a Picture
from FLAC METADATA_BLOCK_PICTURE
bytes:
NOTE: This takes both the base64 encoded string from Vorbis comments, and
the raw data from a FLAC block, specified with encoded
.
§Errors
This function will return NotAPicture
if
at any point it’s unable to parse the data
sourcepub fn as_ape_bytes(&self) -> Vec<u8>
pub fn as_ape_bytes(&self) -> Vec<u8>
Convert a Picture
to an APE Cover Art byte vec:
NOTE: This is only the picture data and description, a
key and terminating null byte will not be prepended.
To map a PictureType
to an APE key see PictureType::as_ape_key
sourcepub fn from_ape_bytes(key: &str, bytes: &[u8]) -> Result<Self>
pub fn from_ape_bytes(key: &str, bytes: &[u8]) -> Result<Self>
Get a Picture
from an APEv2 binary item:
NOTE: This function expects bytes
to contain only the APE item data
§Errors
This function will return NotAPicture
if at any point it’s unable to parse the data