[pitivi] proxy: Move logic to '__create_transcoder' method



commit 800265120e603476522d7d8ebce0a10f44c814d4
Author: Ritwik Puri <ritwikpuri5678 gmail com>
Date:   Wed Mar 25 02:05:35 2020 +0530

    proxy: Move logic to '__create_transcoder' method
    
    Moved the scaled asset's width and height logic from 'add_job' method to '__create_transcoder' method

 pitivi/utils/proxy.py | 27 +++++++++++++--------------
 1 file changed, 13 insertions(+), 14 deletions(-)
---
diff --git a/pitivi/utils/proxy.py b/pitivi/utils/proxy.py
index 91fc933c..09af86e7 100644
--- a/pitivi/utils/proxy.py
+++ b/pitivi/utils/proxy.py
@@ -633,11 +633,9 @@ class ProxyManager(GObject.Object, Loggable):
 
         return is_queued
 
-    def __create_transcoder(self, asset, width=None, height=None, shadow=False):
+    def __create_transcoder(self, asset, scaled=False, shadow=False):
         self._total_time_to_transcode += asset.get_duration() / Gst.SECOND
         asset_uri = asset.get_id()
-
-        scaled = width or height
         proxy_uri = self.get_proxy_uri(asset, scaled=scaled)
 
         if Gio.File.new_for_uri(proxy_uri).query_exists(None):
@@ -652,6 +650,17 @@ class ProxyManager(GObject.Object, Loggable):
                    asset.get_id(), self.app.settings.proxying_strategy,
                    asset.force_proxying, scaled)
 
+        width = None
+        height = None
+        if scaled:
+            project = self.app.project_manager.current_project
+            w = project.scaled_proxy_width
+            h = project.scaled_proxy_height
+            if not project.has_scaled_proxy_size():
+                project.scaled_proxy_width = w
+                project.scaled_proxy_height = h
+            width, height = self._scale_asset_resolution(asset, w, h)
+
         dispatcher = GstTranscoder.TranscoderGMainContextSignalDispatcher.new()
 
         enc_profile = self.__get_encoding_profile(self.__encoding_target_file,
@@ -760,17 +769,7 @@ class ProxyManager(GObject.Object, Loggable):
                     self.emit("proxy-ready", asset, None)
                     return
 
-            if scaled:
-                project = self.app.project_manager.current_project
-                w = project.scaled_proxy_width
-                h = project.scaled_proxy_height
-                if not project.has_scaled_proxy_size():
-                    project.scaled_proxy_width = w
-                    project.scaled_proxy_height = h
-                t_width, t_height = self._scale_asset_resolution(asset, w, h)
-                self.__create_transcoder(asset, width=t_width, height=t_height, shadow=shadow)
-            else:
-                self.__create_transcoder(asset, shadow=shadow)
+            self.__create_transcoder(asset, scaled=scaled, shadow=shadow)
         else:
             if self.is_asset_queued(asset, scaling=False):
                 self.log("Asset already queued for optimization: %s", asset)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]