pub struct BlockVorbisComment {
pub vendor_string: String,
pub comments: Vec<UserComment>,
}Expand description
Also known as FLAC tags, the contents of a vorbis comment packet as specified here (without the framing bit). Note that the vorbis comment spec allows for on the order of 2 ^ 64 bytes of data where as the FLAC metadata block is limited to 2 ^ 24 bytes. Given the stated purpose of vorbis comments, i.e. human-readable textual information, this limit is unlikely to be restrictive. Also note that the 32-bit field lengths are little-endian coded according to the vorbis spec, as opposed to the usual big-endian coding of fixed-length integers in the rest of FLAC.
The Vorbis text comment header is the second (of three) header packets that begin a Vorbis bitstream. It is meant for short, text comments, not arbitrary metadata; arbitrary metadata belongs in a separate logical bitstream (usually an XML stream type) that provides greater structure and machine parseability.
The comment field is meant to be used much like someone jotting a quick note on the bottom of a CDR. It should be a little information to remember the disc by and explain it to others; a short, to-the-point text note that need not only be a couple words, but isn’t going to be more than a short paragraph.
The essentials, in other words, whatever they turn out to be, eg: “Honest Bob and the Factory-to-Dealer-Incentives, I’m Still Around, opening for Moxy Früvous, 1997”
Fields§
§vendor_string: String[vendor_string] = read a UTF-8 vector as [vendor_length] octets
comments: Vec<UserComment>iterate [user_comment_list_length] times
Implementations§
Trait Implementations§
Source§impl Debug for BlockVorbisComment
impl Debug for BlockVorbisComment
Source§impl Decode for BlockVorbisComment
impl Decode for BlockVorbisComment
Source§impl Display for BlockVorbisComment
impl Display for BlockVorbisComment
Auto Trait Implementations§
impl Freeze for BlockVorbisComment
impl RefUnwindSafe for BlockVorbisComment
impl Send for BlockVorbisComment
impl Sync for BlockVorbisComment
impl Unpin for BlockVorbisComment
impl UnwindSafe for BlockVorbisComment
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more