examples/transcode-audio: add filter/encoder flushing
While this introduces some code duplicates, it seems to be the easy way without rewriting the whole example.
This commit is contained in:
parent
c8a95364a2
commit
20ea25cee5
@ -131,5 +131,21 @@ fn main() {
|
||||
}
|
||||
}
|
||||
|
||||
transcoder.filter.get("in").unwrap().source().flush().unwrap();
|
||||
|
||||
while let Ok(..) = transcoder.filter.get("out").unwrap().sink().frame(&mut decoded) {
|
||||
if let Ok(true) = transcoder.encoder.encode(&decoded, &mut encoded) {
|
||||
encoded.set_stream(0);
|
||||
encoded.rescale_ts(in_time_base, out_time_base);
|
||||
encoded.write_interleaved(&mut octx).unwrap();
|
||||
}
|
||||
}
|
||||
|
||||
if let Ok(true) = transcoder.encoder.flush(&mut encoded) {
|
||||
encoded.set_stream(0);
|
||||
encoded.rescale_ts(in_time_base, out_time_base);
|
||||
encoded.write_interleaved(&mut octx).unwrap();
|
||||
}
|
||||
|
||||
octx.write_trailer().unwrap();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user