From 572f120d422bad075e56d643c3b7cbf4bedc4d51 Mon Sep 17 00:00:00 2001 From: tilpner Date: Wed, 22 Mar 2023 12:45:24 +0100 Subject: [PATCH] style(util/frame): only mark functions as unsafe if their invocation can directly cause memory unsafety --- src/software/scaling/context.rs | 6 ++---- src/util/frame/audio.rs | 22 +++++++++++----------- src/util/frame/mod.rs | 18 ++++++++++-------- src/util/frame/video.rs | 22 +++++++++++----------- 4 files changed, 34 insertions(+), 34 deletions(-) diff --git a/src/software/scaling/context.rs b/src/software/scaling/context.rs index e3e65c6..814fe5c 100644 --- a/src/software/scaling/context.rs +++ b/src/software/scaling/context.rs @@ -134,10 +134,8 @@ impl Context { return Err(Error::InputChanged); } - unsafe { - if output.is_empty() { - output.alloc(self.output.format, self.output.width, self.output.height); - } + if output.is_empty() { + output.alloc(self.output.format, self.output.width, self.output.height); } if output.format() != self.output.format diff --git a/src/util/frame/audio.rs b/src/util/frame/audio.rs index 437f1cb..bb341f6 100644 --- a/src/util/frame/audio.rs +++ b/src/util/frame/audio.rs @@ -19,29 +19,29 @@ impl Audio { } #[inline] - pub unsafe fn alloc(&mut self, format: format::Sample, samples: usize, layout: ChannelLayout) { - self.set_format(format); - self.set_samples(samples); - self.set_channel_layout(layout); + pub fn alloc(&mut self, format: format::Sample, samples: usize, layout: ChannelLayout) { + unsafe { + self.set_format(format); + self.set_samples(samples); + self.set_channel_layout(layout); - av_frame_get_buffer(self.as_mut_ptr(), 0); + av_frame_get_buffer(self.as_mut_ptr(), 0); + } } } impl Audio { #[inline(always)] pub fn empty() -> Self { - unsafe { Audio(Frame::empty()) } + Audio(Frame::empty()) } #[inline] pub fn new(format: format::Sample, samples: usize, layout: ChannelLayout) -> Self { - unsafe { - let mut frame = Audio::empty(); - frame.alloc(format, samples, layout); + let mut frame = Audio::empty(); + frame.alloc(format, samples, layout); - frame - } + frame } #[inline] diff --git a/src/util/frame/mod.rs b/src/util/frame/mod.rs index ce971c1..4773d6b 100644 --- a/src/util/frame/mod.rs +++ b/src/util/frame/mod.rs @@ -40,26 +40,28 @@ impl Frame { } #[inline(always)] - pub unsafe fn empty() -> Self { - Frame { - ptr: av_frame_alloc(), - _own: true, + pub fn empty() -> Self { + unsafe { + Frame { + ptr: av_frame_alloc(), + _own: true, + } } } #[inline(always)] - pub unsafe fn as_ptr(&self) -> *const AVFrame { + pub fn as_ptr(&self) -> *const AVFrame { self.ptr as *const _ } #[inline(always)] - pub unsafe fn as_mut_ptr(&mut self) -> *mut AVFrame { + pub fn as_mut_ptr(&mut self) -> *mut AVFrame { self.ptr } #[inline(always)] - pub unsafe fn is_empty(&self) -> bool { - (*self.as_ptr()).data[0].is_null() + pub fn is_empty(&self) -> bool { + unsafe { (*self.as_ptr()).data[0].is_null() } } } diff --git a/src/util/frame/video.rs b/src/util/frame/video.rs index b4d994c..eb76fab 100644 --- a/src/util/frame/video.rs +++ b/src/util/frame/video.rs @@ -25,29 +25,29 @@ impl Video { } #[inline] - pub unsafe fn alloc(&mut self, format: format::Pixel, width: u32, height: u32) { - self.set_format(format); - self.set_width(width); - self.set_height(height); + pub fn alloc(&mut self, format: format::Pixel, width: u32, height: u32) { + unsafe { + self.set_format(format); + self.set_width(width); + self.set_height(height); - av_frame_get_buffer(self.as_mut_ptr(), 32); + av_frame_get_buffer(self.as_mut_ptr(), 32); + } } } impl Video { #[inline(always)] pub fn empty() -> Self { - unsafe { Video(Frame::empty()) } + Video(Frame::empty()) } #[inline] pub fn new(format: format::Pixel, width: u32, height: u32) -> Self { - unsafe { - let mut frame = Video::empty(); - frame.alloc(format, width, height); + let mut frame = Video::empty(); + frame.alloc(format, width, height); - frame - } + frame } #[inline]