pub struct MediaInfoBuilder { /* private fields */ }Expand description
Builder for constructing MediaInfo.
§Examples
use ff_format::media::MediaInfo;
use std::time::Duration;
let info = MediaInfo::builder()
.path("/path/to/video.mp4")
.format("mp4")
.format_long_name("QuickTime / MOV")
.duration(Duration::from_secs(120))
.file_size(1_000_000)
.bitrate(8_000_000)
.metadata("title", "Sample Video")
.build();Implementations§
Source§impl MediaInfoBuilder
impl MediaInfoBuilder
Sourcepub fn format_long_name(self, name: impl Into<String>) -> Self
pub fn format_long_name(self, name: impl Into<String>) -> Self
Sets the long format name.
Sourcepub fn video_stream(self, stream: VideoStreamInfo) -> Self
pub fn video_stream(self, stream: VideoStreamInfo) -> Self
Adds a video stream.
Sourcepub fn video_streams(self, streams: Vec<VideoStreamInfo>) -> Self
pub fn video_streams(self, streams: Vec<VideoStreamInfo>) -> Self
Sets all video streams at once, replacing any existing streams.
Sourcepub fn audio_stream(self, stream: AudioStreamInfo) -> Self
pub fn audio_stream(self, stream: AudioStreamInfo) -> Self
Adds an audio stream.
Sourcepub fn audio_streams(self, streams: Vec<AudioStreamInfo>) -> Self
pub fn audio_streams(self, streams: Vec<AudioStreamInfo>) -> Self
Sets all audio streams at once, replacing any existing streams.
Sourcepub fn subtitle_stream(self, stream: SubtitleStreamInfo) -> Self
pub fn subtitle_stream(self, stream: SubtitleStreamInfo) -> Self
Adds a subtitle stream.
Sourcepub fn subtitle_streams(self, streams: Vec<SubtitleStreamInfo>) -> Self
pub fn subtitle_streams(self, streams: Vec<SubtitleStreamInfo>) -> Self
Sets all subtitle streams at once, replacing any existing streams.
Sourcepub fn chapter(self, chapter: ChapterInfo) -> Self
pub fn chapter(self, chapter: ChapterInfo) -> Self
Adds a chapter.
Sourcepub fn chapters(self, chapters: Vec<ChapterInfo>) -> Self
pub fn chapters(self, chapters: Vec<ChapterInfo>) -> Self
Sets all chapters at once, replacing any existing chapters.
Sourcepub fn metadata(self, key: impl Into<String>, value: impl Into<String>) -> Self
pub fn metadata(self, key: impl Into<String>, value: impl Into<String>) -> Self
Adds a metadata key-value pair.
Sourcepub fn metadata_map(self, metadata: HashMap<String, String>) -> Self
pub fn metadata_map(self, metadata: HashMap<String, String>) -> Self
Sets all metadata at once, replacing any existing metadata.
Trait Implementations§
Source§impl Clone for MediaInfoBuilder
impl Clone for MediaInfoBuilder
Source§fn clone(&self) -> MediaInfoBuilder
fn clone(&self) -> MediaInfoBuilder
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for MediaInfoBuilder
impl Debug for MediaInfoBuilder
Source§impl Default for MediaInfoBuilder
impl Default for MediaInfoBuilder
Source§fn default() -> MediaInfoBuilder
fn default() -> MediaInfoBuilder
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for MediaInfoBuilder
impl RefUnwindSafe for MediaInfoBuilder
impl Send for MediaInfoBuilder
impl Sync for MediaInfoBuilder
impl Unpin for MediaInfoBuilder
impl UnsafeUnpin for MediaInfoBuilder
impl UnwindSafe for MediaInfoBuilder
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
Mutably borrows from an owned value. Read more