From f0034f0077bb66bba411c63a3df81a0a1aa5c646 Mon Sep 17 00:00:00 2001 From: Donough Liu Date: Sat, 13 Jan 2024 22:08:02 +0800 Subject: [PATCH] Migrate more tests to use new `AVFormatContextInput::streams` (#143) --- tests/av_spliter.rs | 4 ++-- tests/avio_writing.rs | 8 ++------ tests/decode_audio.rs | 8 +------- tests/metadata.rs | 5 +---- tests/thumbnail.rs | 2 +- tests/transcode_aac.rs | 8 +------- tests/transcoding.rs | 2 +- tests/tutorial01.rs | 5 +---- 8 files changed, 10 insertions(+), 32 deletions(-) diff --git a/tests/av_spliter.rs b/tests/av_spliter.rs index 9928f3b..261057e 100644 --- a/tests/av_spliter.rs +++ b/tests/av_spliter.rs @@ -35,7 +35,7 @@ fn av_spliter(file_path: &CStr, out_video: &str, out_audio: &CStr) -> Result<()> let mut bsf_context = { let mut bsf_context = AVBSFContextUninit::new(&bsf); - let video_stream = input_format_context.streams().get(video_index).unwrap(); + let video_stream = &input_format_context.streams()[video_index]; bsf_context.set_par_in(&video_stream.codecpar()); bsf_context.set_time_base_in(video_stream.time_base); bsf_context.init()? @@ -44,7 +44,7 @@ fn av_spliter(file_path: &CStr, out_video: &str, out_audio: &CStr) -> Result<()> let mut out_audio_format_context = AVFormatContextOutput::create(out_audio, None)?; { let mut new_audio_stream = out_audio_format_context.new_stream(); - let audio_stream = input_format_context.streams().get(audio_index).unwrap(); + let audio_stream = &input_format_context.streams()[audio_index]; new_audio_stream.set_codecpar(audio_stream.codecpar().clone()); new_audio_stream.set_time_base(audio_stream.time_base); } diff --git a/tests/avio_writing.rs b/tests/avio_writing.rs index 731d9e2..36c0e11 100644 --- a/tests/avio_writing.rs +++ b/tests/avio_writing.rs @@ -30,7 +30,7 @@ fn open_input_file(filename: &CStr) -> Result<(usize, AVFormatContextInput, AVCo .context("No video stream")?; let decode_context = { - let input_stream = input_format_context.streams().get(video_index).unwrap(); + let input_stream = &input_format_context.streams()[video_index]; let mut decode_context = AVCodecContext::new(&decoder); decode_context.apply_codecpar(&input_stream.codecpar())?; @@ -198,11 +198,7 @@ pub fn transcoding(input_file: &CStr, output_file: &CStr) -> Result<()> { } packet.rescale_ts( - input_format_context - .streams() - .get(video_stream_index) - .unwrap() - .time_base, + input_format_context.streams()[video_stream_index].time_base, encode_context.time_base, ); diff --git a/tests/decode_audio.rs b/tests/decode_audio.rs index 9eddb41..8851ad4 100644 --- a/tests/decode_audio.rs +++ b/tests/decode_audio.rs @@ -85,13 +85,7 @@ fn decode_audio(audio_path: &str, out_file_path: &str) -> Result<()> { .context("Cannot find audio stream in this file.")?; let mut decode_context = AVCodecContext::new(&decoder); decode_context - .apply_codecpar( - &input_format_context - .streams() - .get(stream_index) - .unwrap() - .codecpar(), - ) + .apply_codecpar(&input_format_context.streams()[stream_index].codecpar()) .context("Apply codecpar failed.")?; decode_context.open(None).context("Could not open codec")?; input_format_context.dump(stream_index, &audio_path)?; diff --git a/tests/metadata.rs b/tests/metadata.rs index 5f1c777..654ac1a 100644 --- a/tests/metadata.rs +++ b/tests/metadata.rs @@ -30,10 +30,7 @@ fn metadata(file: &str) -> Result> { .find_best_stream(ffi::AVMediaType_AVMEDIA_TYPE_VIDEO)? .context("Failed to find video stream")?; - let video_stream = input_format_context - .streams() - .get(video_stream_index) - .unwrap(); + let video_stream = &input_format_context.streams()[video_stream_index]; result.push(( "frame_rate".into(), diff --git a/tests/thumbnail.rs b/tests/thumbnail.rs index e8ddfa0..49e5896 100644 --- a/tests/thumbnail.rs +++ b/tests/thumbnail.rs @@ -23,7 +23,7 @@ fn thumbnail( .find_best_stream(ffi::AVMediaType_AVMEDIA_TYPE_VIDEO)? .context("Failed to find the best stream")?; - let stream = input_format_context.streams().get(stream_index).unwrap(); + let stream = &input_format_context.streams()[stream_index]; let mut decode_context = AVCodecContext::new(&decoder); decode_context.apply_codecpar(&stream.codecpar())?; diff --git a/tests/transcode_aac.rs b/tests/transcode_aac.rs index c903ffb..419f4a9 100644 --- a/tests/transcode_aac.rs +++ b/tests/transcode_aac.rs @@ -20,13 +20,7 @@ fn open_input_file(input_file: &CStr) -> Result<(AVFormatContextInput, AVCodecCo .context("Failed to find audio stream")?; let mut decode_context = AVCodecContext::new(&decoder); - decode_context.apply_codecpar( - &input_format_context - .streams() - .get(audio_index) - .unwrap() - .codecpar(), - )?; + decode_context.apply_codecpar(&input_format_context.streams()[audio_index].codecpar())?; decode_context.open(None)?; Ok((input_format_context, decode_context, audio_index)) } diff --git a/tests/transcoding.rs b/tests/transcoding.rs index a102390..bc98f81 100644 --- a/tests/transcoding.rs +++ b/tests/transcoding.rs @@ -404,7 +404,7 @@ pub fn transcoding( buffer_sink_context, }) = transcoding_contexts[in_stream_index].as_mut() { - let input_stream = input_format_context.streams().get(in_stream_index).unwrap(); + let input_stream = &input_format_context.streams()[in_stream_index]; packet.rescale_ts(input_stream.time_base, encode_context.time_base); decode_context.send_packet(Some(&packet)).unwrap(); diff --git a/tests/tutorial01.rs b/tests/tutorial01.rs index 7fe9f35..0fd9056 100644 --- a/tests/tutorial01.rs +++ b/tests/tutorial01.rs @@ -55,10 +55,7 @@ fn _main(file: &CStr, out_dir: &str) -> Result<()> { .position(|stream| stream.codecpar().codec_type().is_video()) .context("No video stream")?; let mut decode_context = { - let video_stream = input_format_context - .streams() - .get(video_stream_index) - .unwrap(); + let video_stream = &input_format_context.streams()[video_stream_index]; let decoder = AVCodec::find_decoder(video_stream.codecpar().codec_id) .context("Cannot find the decoder for video stream")?; let mut decode_context = AVCodecContext::new(&decoder);