[vlmc-devel] TrackWorkflow: Account for slow or late initialization

Hugo Beauzée-Luyssen git at videolan.org
Mon Feb 24 20:08:45 CET 2014


vlmc | branch: ibackend | Hugo Beauzée-Luyssen <hugo at beauzee.fr> | Mon Feb 24 20:46:48 2014 +0200| [ac25b4f4784773e90efe6e10c2a3f43c0e507288] | committer: Hugo Beauzée-Luyssen

TrackWorkflow: Account for slow or late initialization

> http://git.videolan.org/gitweb.cgi/vlmc.git/?a=commit;h=ac25b4f4784773e90efe6e10c2a3f43c0e507288
---

 src/Workflow/TrackWorkflow.cpp |    7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/Workflow/TrackWorkflow.cpp b/src/Workflow/TrackWorkflow.cpp
index 1b611d7..bfc4c27 100644
--- a/src/Workflow/TrackWorkflow.cpp
+++ b/src/Workflow/TrackWorkflow.cpp
@@ -192,9 +192,10 @@ TrackWorkflow::renderClip( ClipWorkflow* cw, qint64 currentFrame,
             adjustClipTime( currentFrame, start, cw );
         return cw->getOutput( mode, currentFrame - start );
     }
-    else if ( state == ClipWorkflow::Stopped )
+    else if ( state == ClipWorkflow::Stopped || state == ClipWorkflow::Initializing )
     {
-        cw->initialize();
+        if ( state == ClipWorkflow::Stopped )
+            cw->initialize();
         //If the init failed, don't even try to call getOutput.
         if ( cw->waitForCompleteInit() == false )
             return NULL;
@@ -214,7 +215,7 @@ TrackWorkflow::renderClip( ClipWorkflow* cw, qint64 currentFrame,
     }
     else
     {
-        vlmcCritical() << "Unexpected state:" << state;
+        vlmcFatal( "Unexpected state: %d ", state );
     }
     return NULL;
 }



More information about the Vlmc-devel mailing list