From 7f0291bf78e49a6c9f55951eac51b7649ab6d10d Mon Sep 17 00:00:00 2001 From: lummax Date: Mon, 14 Sep 2015 08:28:19 +0200 Subject: [PATCH] examples/transcode-audio: set global headers if needed --- examples/transcode-audio.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/examples/transcode-audio.rs b/examples/transcode-audio.rs index 784728e..05cd341 100644 --- a/examples/transcode-audio.rs +++ b/examples/transcode-audio.rs @@ -49,14 +49,19 @@ fn transcoder>(ictx: &mut format::context::Input, octx: &mut form let input = ictx.streams().best(media::Type::Audio).expect("could not find best audio stream"); let decoder = try!(input.codec().decoder().audio()); let codec = try!(ffmpeg::encoder::find(octx.format().codec(path, media::Type::Audio)).expect("failed to find encoder").audio()); + let global = octx.format().flags().contains(ffmpeg::format::flag::GLOBAL_HEADER); - let mut output = octx.add_stream(&codec); - let mut encoder = try!(output.codec().encoder().audio()); + let mut output = octx.add_stream(&codec); + let mut encoder = try!(output.codec().encoder().audio()); let channel_layout = codec.channel_layouts() .map(|cls| cls.best(decoder.channel_layout().channels())) .unwrap_or(ffmpeg::channel_layout::STEREO); + if global { + encoder.set_flags(ffmpeg::codec::flag::GLOBAL_HEADER); + } + encoder.set_rate(decoder.rate() as i32); encoder.set_channel_layout(channel_layout); encoder.set_channels(channel_layout.channels());