From bf8ee8e554ae4752f8d373fa7dedf62eb0213e00 Mon Sep 17 00:00:00 2001 From: Andrew Eikum Date: Wed, 12 Jan 2022 15:33:06 -0600 Subject: [PATCH] media-converter: Add MEDIACONV_DONT_DISCARD --- media-converter/src/audioconv/imp.rs | 5 +++++ media-converter/src/lib.rs | 8 ++++++++ media-converter/src/videoconv/imp.rs | 7 ++++++- 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/media-converter/src/audioconv/imp.rs b/media-converter/src/audioconv/imp.rs index a6e24105..cc98b004 100644 --- a/media-converter/src/audioconv/imp.rs +++ b/media-converter/src/audioconv/imp.rs @@ -30,6 +30,7 @@ use crate::format_hash; use crate::HASH_SEED; +use crate::discarding_disabled; use gst; use gst::glib; @@ -230,6 +231,10 @@ impl AudioConverterDumpFozdb { if self.already_cleaned { return; } + if discarding_disabled() { + self.already_cleaned = true; + return; + } if let Some(fozdb) = &mut self.open(false).fozdb { if let Ok(read_fozdb_path) = std::env::var("MEDIACONV_AUDIO_TRANSCODED_FILE") { if let Ok(read_fozdb) = fossilize::StreamArchive::new(&read_fozdb_path, OpenOptions::new().read(true), AUDIOCONV_FOZ_NUM_TAGS) { diff --git a/media-converter/src/lib.rs b/media-converter/src/lib.rs index 5d65589e..58ffd159 100644 --- a/media-converter/src/lib.rs +++ b/media-converter/src/lib.rs @@ -139,6 +139,14 @@ impl<'a> Read for BufferedReader<'a> { } } +fn discarding_disabled() -> bool { + let v = match std::env::var("MEDIACONV_DONT_DISCARD") { + Err(_) => { return false; }, + Ok(c) => c, + }; + return v != "0"; +} + fn plugin_init(plugin: &gst::Plugin) -> Result<(), glib::BoolError> { videoconv::register(plugin)?; audioconvbin::register(plugin)?; diff --git a/media-converter/src/videoconv/imp.rs b/media-converter/src/videoconv/imp.rs index eebbba5e..6cdc1463 100644 --- a/media-converter/src/videoconv/imp.rs +++ b/media-converter/src/videoconv/imp.rs @@ -33,6 +33,7 @@ use crate::HASH_SEED; use crate::box_array; use crate::copy_into_array; use crate::BufferedReader; +use crate::discarding_disabled; use gst; use gst::glib; @@ -155,7 +156,11 @@ impl VideoConverterDumpFozdb { fn discard_transcoded(&mut self) { if self.already_cleaned { - return + return; + } + if discarding_disabled() { + self.already_cleaned = true; + return; } if let Some(fozdb) = &mut self.open(false).fozdb { if let Ok(read_fozdb_path) = std::env::var("MEDIACONV_VIDEO_TRANSCODED_FILE") {