Skip to content

Commit

Permalink
ndk/media_codec: Simplify dequeue_output_buffer() with MaybeUninit (
Browse files Browse the repository at this point in the history
  • Loading branch information
MarijnS95 authored Jun 16, 2023
1 parent a92cca4 commit 07f7263
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions ndk/src/media/media_codec.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ use std::{
convert::TryInto,
ffi::{CStr, CString},
fmt::Display,
mem::MaybeUninit,
ptr::{self, NonNull},
slice,
time::Duration,
Expand Down Expand Up @@ -318,12 +319,12 @@ impl MediaCodec {
&self,
timeout: Duration,
) -> Result<DequeuedOutputBufferInfoResult<'_>> {
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()
Expand All @@ -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())
Expand Down

0 comments on commit 07f7263

Please sign in to comment.