From 0469471ef689cc4a274ee48863eb151980e87944 Mon Sep 17 00:00:00 2001 From: meh Date: Sat, 20 Mar 2021 19:25:02 +0100 Subject: [PATCH] fix: attempt to prevent a segfault when using custom io --- src/format/context/destructor.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/format/context/destructor.rs b/src/format/context/destructor.rs index bb6ee2d..42b41c3 100644 --- a/src/format/context/destructor.rs +++ b/src/format/context/destructor.rs @@ -22,9 +22,11 @@ impl Drop for Destructor { unsafe { match self.mode { Mode::Input => avformat_close_input(&mut self.ptr), - Mode::Output => { - avio_close((*self.ptr).pb); + if (*self.ptr).flags & AVFMT_NOFILE != 0 && !(*(*self.ptr).pb).av_class.is_null() { + avio_close((*self.ptr).pb); + } + avformat_free_context(self.ptr); } }