|
31 | 31 | - Add support for source bitrate matching on basic mode |
32 | 32 | """ |
33 | 33 |
|
34 | | -import logging |
35 | 34 | import os |
36 | | - |
| 35 | +import logging |
37 | 36 | from video_transcoder.lib import plugin_stream_mapper, tools |
38 | 37 | from video_transcoder.lib.ffmpeg import Parser, Probe |
39 | 38 | from video_transcoder.lib.global_settings import GlobalSettings |
|
42 | 41 | from video_transcoder.lib.encoders.vaapi import VaapiEncoder |
43 | 42 | from video_transcoder.lib.encoders.nvenc import NvencEncoder |
44 | 43 | from video_transcoder.lib.encoders.libsvtav1 import LibsvtAv1Encoder |
45 | | - |
46 | | -from unmanic.libs.unplugins.settings import PluginSettings |
47 | 44 | from unmanic.libs.directoryinfo import UnmanicDirectoryInfo |
| 45 | +from unmanic.libs.unplugins.settings import PluginSettings |
| 46 | + |
48 | 47 |
|
49 | 48 | # Configure plugin logger |
50 | 49 | logger = logging.getLogger("Unmanic.Plugin.video_transcoder") |
|
53 | 52 | class Settings(PluginSettings): |
54 | 53 |
|
55 | 54 | def __init__(self, *args, **kwargs): |
| 55 | + # Add optional flag to disable default fallback logic. This should be set for the plugin runner calls |
| 56 | + self.apply_default_fallbacks = kwargs.pop('apply_default_fallbacks', True) |
56 | 57 | super(Settings, self).__init__(*args, **kwargs) |
57 | 58 | self.settings = self.__build_settings_object() |
58 | 59 | self.global_settings = GlobalSettings(self) |
@@ -181,8 +182,8 @@ def on_library_management_file_test(data): |
181 | 182 |
|
182 | 183 | """ |
183 | 184 |
|
184 | | - # Get settings |
185 | | - settings = Settings(library_id=data.get('library_id')) |
| 185 | + # Get settings (do not persist defaults during worker/library execution) |
| 186 | + settings = Settings(library_id=data.get('library_id'), apply_default_fallbacks=False) |
186 | 187 |
|
187 | 188 | # Get the path to the file |
188 | 189 | abspath = data.get('path') |
@@ -233,8 +234,8 @@ def on_worker_process(data): |
233 | 234 | data['exec_command'] = [] |
234 | 235 | data['repeat'] = False |
235 | 236 |
|
236 | | - # Get settings |
237 | | - settings = Settings(library_id=data.get('library_id')) |
| 237 | + # Get settings (do not persist defaults during worker execution) |
| 238 | + settings = Settings(library_id=data.get('library_id'), apply_default_fallbacks=False) |
238 | 239 |
|
239 | 240 | # Get the path to the file |
240 | 241 | abspath = data.get('file_in') |
@@ -308,8 +309,8 @@ def on_postprocessor_task_results(data): |
308 | 309 | :param data: |
309 | 310 | :return: |
310 | 311 | """ |
311 | | - # Get settings |
312 | | - settings = Settings(library_id=data.get('library_id')) |
| 312 | + # Get settings (do not persist defaults during post-processing) |
| 313 | + settings = Settings(library_id=data.get('library_id'), apply_default_fallbacks=False) |
313 | 314 |
|
314 | 315 | # Get the original file's absolute path |
315 | 316 | original_source_path = data.get('source_data', {}).get('abspath') |
|
0 commit comments