Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ValveSoftware/Proton.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Eikum <aeikum@codeweavers.com>2022-01-13 00:33:06 +0300
committerArkadiusz Hiler <ahiler@codeweavers.com>2022-01-19 12:29:55 +0300
commitbf8ee8e554ae4752f8d373fa7dedf62eb0213e00 (patch)
tree984c8a4bb04b940795e9cc16d8153dcb7a77f83c /media-converter
parent407027285252c62639fc18131c88a7c328a16b21 (diff)
media-converter: Add MEDIACONV_DONT_DISCARD
Diffstat (limited to 'media-converter')
-rw-r--r--media-converter/src/audioconv/imp.rs5
-rw-r--r--media-converter/src/lib.rs8
-rw-r--r--media-converter/src/videoconv/imp.rs7
3 files changed, 19 insertions, 1 deletions
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") {