From 07f72638d310179d569a1f3f36f3aec263109035 Mon Sep 17 00:00:00 2001 From: Marijn Suijten Date: Fri, 16 Jun 2023 23:03:29 +0200 Subject: [PATCH] ndk/media_codec: Simplify `dequeue_output_buffer()` with `MaybeUninit` (#402) --- ndk/src/media/media_codec.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ndk/src/media/media_codec.rs b/ndk/src/media/media_codec.rs index c1102ab0..b695579d 100644 --- a/ndk/src/media/media_codec.rs +++ b/ndk/src/media/media_codec.rs @@ -9,6 +9,7 @@ use std::{ convert::TryInto, ffi::{CStr, CString}, fmt::Display, + mem::MaybeUninit, ptr::{self, NonNull}, slice, time::Duration, @@ -318,12 +319,12 @@ impl MediaCodec { &self, timeout: Duration, ) -> Result> { - let mut info: ffi::AMediaCodecBufferInfo = unsafe { std::mem::zeroed() }; + let mut info = MaybeUninit::uninit(); let result = unsafe { ffi::AMediaCodec_dequeueOutputBuffer( self.as_ptr(), - &mut info, + info.as_mut_ptr(), timeout .as_micros() .try_into() @@ -341,7 +342,7 @@ impl MediaCodec { Ok(DequeuedOutputBufferInfoResult::Buffer(OutputBuffer { codec: self, index: result as usize, - info, + info: unsafe { info.assume_init() }, })) } else { Err(MediaError::from_status(ffi::media_status_t(result as _)).unwrap_err())