From 2ac85cd8de2baf72f4deb50733d8bcd4ef23dc6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Mon, 13 Feb 2023 14:27:10 +0200 Subject: [PATCH] audio: Don't forget to unmap the `AudioBuffer` and drop the `Box` when converting into a `gst::Buffer` Part-of: --- gstreamer-audio/src/audio_buffer.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gstreamer-audio/src/audio_buffer.rs b/gstreamer-audio/src/audio_buffer.rs index ae907147f..0252c4bef 100644 --- a/gstreamer-audio/src/audio_buffer.rs +++ b/gstreamer-audio/src/audio_buffer.rs @@ -37,7 +37,14 @@ impl AudioBuffer { #[inline] pub fn into_buffer(self) -> gst::Buffer { - unsafe { ptr::read(&mem::ManuallyDrop::new(self).buffer) } + unsafe { + let mut s = mem::ManuallyDrop::new(self); + let buffer = ptr::read(&s.buffer); + ffi::gst_audio_buffer_unmap(&mut *s.audio_buffer); + ptr::drop_in_place(&mut s.audio_buffer); + + buffer + } } #[inline]