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 path(self, path: impl Into<PathBuf>) -> MediaInfoBuilder
pub fn path(self, path: impl Into<PathBuf>) -> MediaInfoBuilder
Sets the file path.
Sourcepub fn format(self, format: impl Into<String>) -> MediaInfoBuilder
pub fn format(self, format: impl Into<String>) -> MediaInfoBuilder
Sets the container format name.
Sourcepub fn format_long_name(self, name: impl Into<String>) -> MediaInfoBuilder
pub fn format_long_name(self, name: impl Into<String>) -> MediaInfoBuilder
Sets the long format name.
Sourcepub fn duration(self, duration: Duration) -> MediaInfoBuilder
pub fn duration(self, duration: Duration) -> MediaInfoBuilder
Sets the total duration.
Sourcepub fn file_size(self, size: u64) -> MediaInfoBuilder
pub fn file_size(self, size: u64) -> MediaInfoBuilder
Sets the file size in bytes.
Sourcepub fn bitrate(self, bitrate: u64) -> MediaInfoBuilder
pub fn bitrate(self, bitrate: u64) -> MediaInfoBuilder
Sets the overall bitrate in bits per second.
Sourcepub fn video_stream(self, stream: VideoStreamInfo) -> MediaInfoBuilder
pub fn video_stream(self, stream: VideoStreamInfo) -> MediaInfoBuilder
Adds a video stream.
Sourcepub fn video_streams(self, streams: Vec<VideoStreamInfo>) -> MediaInfoBuilder
pub fn video_streams(self, streams: Vec<VideoStreamInfo>) -> MediaInfoBuilder
Sets all video streams at once, replacing any existing streams.
Sourcepub fn audio_stream(self, stream: AudioStreamInfo) -> MediaInfoBuilder
pub fn audio_stream(self, stream: AudioStreamInfo) -> MediaInfoBuilder
Adds an audio stream.
Sourcepub fn audio_streams(self, streams: Vec<AudioStreamInfo>) -> MediaInfoBuilder
pub fn audio_streams(self, streams: Vec<AudioStreamInfo>) -> MediaInfoBuilder
Sets all audio streams at once, replacing any existing streams.
Sourcepub fn subtitle_stream(self, stream: SubtitleStreamInfo) -> MediaInfoBuilder
pub fn subtitle_stream(self, stream: SubtitleStreamInfo) -> MediaInfoBuilder
Adds a subtitle stream.
Sourcepub fn subtitle_streams(
self,
streams: Vec<SubtitleStreamInfo>,
) -> MediaInfoBuilder
pub fn subtitle_streams( self, streams: Vec<SubtitleStreamInfo>, ) -> MediaInfoBuilder
Sets all subtitle streams at once, replacing any existing streams.
Sourcepub fn chapter(self, chapter: ChapterInfo) -> MediaInfoBuilder
pub fn chapter(self, chapter: ChapterInfo) -> MediaInfoBuilder
Adds a chapter.
Sourcepub fn chapters(self, chapters: Vec<ChapterInfo>) -> MediaInfoBuilder
pub fn chapters(self, chapters: Vec<ChapterInfo>) -> MediaInfoBuilder
Sets all chapters at once, replacing any existing chapters.
Sourcepub fn metadata(
self,
key: impl Into<String>,
value: impl Into<String>,
) -> MediaInfoBuilder
pub fn metadata( self, key: impl Into<String>, value: impl Into<String>, ) -> MediaInfoBuilder
Adds a metadata key-value pair.
Sourcepub fn metadata_map(self, metadata: HashMap<String, String>) -> MediaInfoBuilder
pub fn metadata_map(self, metadata: HashMap<String, String>) -> MediaInfoBuilder
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