pub struct Output { /* private fields */ }Implementations§
Source§impl Output
impl Output
pub unsafe fn wrap(ptr: *mut AVFormatContext) -> Self
pub unsafe fn as_ptr(&self) -> *const AVFormatContext
pub unsafe fn as_mut_ptr(&mut self) -> *mut AVFormatContext
Source§impl Output
impl Output
pub fn format(&self) -> Output
pub fn write_header(&mut self) -> Result<(), Error>
pub fn write_header_with( &mut self, options: Dictionary<'_>, ) -> Result<Dictionary<'_>, Error>
pub fn write_trailer(&mut self) -> Result<(), Error>
pub fn add_stream<E: Encoder>( &mut self, codec: E, ) -> Result<StreamMut<'_>, Error>
pub fn add_stream_with( &mut self, context: &Context, ) -> Result<StreamMut<'_>, Error>
Sourcepub fn add_chapter<R: Into<Rational>, S: AsRef<str>>(
&mut self,
id: i64,
time_base: R,
start: i64,
end: i64,
title: S,
) -> Result<ChapterMut<'_>, Error>
pub fn add_chapter<R: Into<Rational>, S: AsRef<str>>( &mut self, id: i64, time_base: R, start: i64, end: i64, title: S, ) -> Result<ChapterMut<'_>, Error>
Examples found in repository?
examples/chapters.rs (lines 31-37)
5fn main() {
6 ffmpeg::init().unwrap();
7
8 match ffmpeg::format::input(&env::args().nth(1).expect("missing input file name")) {
9 Ok(ictx) => {
10 println!("Nb chapters: {}", ictx.nb_chapters());
11
12 for chapter in ictx.chapters() {
13 println!("chapter id {}:", chapter.id());
14 println!("\ttime_base: {}", chapter.time_base());
15 println!("\tstart: {}", chapter.start());
16 println!("\tend: {}", chapter.end());
17
18 for (k, v) in chapter.metadata().iter() {
19 println!("\t{}: {}", k, v);
20 }
21 }
22
23 let mut octx = ffmpeg::format::output(&"test.mkv").expect("Couldn't open test file");
24
25 for chapter in ictx.chapters() {
26 let title = match chapter.metadata().get("title") {
27 Some(title) => String::from(title),
28 None => String::new(),
29 };
30
31 match octx.add_chapter(
32 chapter.id(),
33 chapter.time_base(),
34 chapter.start(),
35 chapter.end(),
36 &title,
37 ) {
38 Ok(chapter) => println!("Added chapter with id {} to output", chapter.id()),
39 Err(error) => {
40 println!("Error adding chapter with id: {} - {}", chapter.id(), error)
41 }
42 }
43 }
44
45 println!("\nOuput: nb chapters: {}", octx.nb_chapters());
46 for chapter in octx.chapters() {
47 println!("chapter id {}:", chapter.id());
48 println!("\ttime_base: {}", chapter.time_base());
49 println!("\tstart: {}", chapter.start());
50 println!("\tend: {}", chapter.end());
51 for (k, v) in chapter.metadata().iter() {
52 println!("\t{}: {}", k, v);
53 }
54 }
55 }
56
57 Err(error) => println!("error: {}", error),
58 }
59}pub fn set_metadata(&mut self, dictionary: Dictionary<'_>)
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Output
impl RefUnwindSafe for Output
impl !Sync for Output
impl Unpin for Output
impl UnsafeUnpin for Output
impl UnwindSafe for Output
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