gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] gnash ChangeLog utilities/processor.cpp


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog utilities/processor.cpp
Date: Mon, 18 Dec 2006 09:28:01 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  06/12/18 09:28:01

Modified files:
        .              : ChangeLog 
        utilities      : processor.cpp 

Log message:
                * utilities/processor.cpp: allow 10 loop backs before
                  kicking to one-after latest frame processed.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.1955&r2=1.1956
http://cvs.savannah.gnu.org/viewcvs/gnash/utilities/processor.cpp?cvsroot=gnash&r1=1.42&r2=1.43

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.1955
retrieving revision 1.1956
diff -u -b -r1.1955 -r1.1956
--- ChangeLog   18 Dec 2006 09:13:32 -0000      1.1955
+++ ChangeLog   18 Dec 2006 09:28:01 -0000      1.1956
@@ -1,5 +1,7 @@
 2006-12-18 Sandro Santilli <address@hidden>
 
+       * utilities/processor.cpp: allow 10 loop backs before
+         kicking to one-after latest frame processed.
        * utilities/Makefile.am: link to libgnashvm.la.
 
 2006-12-18 Markus Gothe <address@hidden>

Index: utilities/processor.cpp
===================================================================
RCS file: /sources/gnash/gnash/utilities/processor.cpp,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -b -r1.42 -r1.43
--- utilities/processor.cpp     7 Dec 2006 11:52:39 -0000       1.42
+++ utilities/processor.cpp     18 Dec 2006 09:28:01 -0000      1.43
@@ -17,7 +17,7 @@
 //
 //
 
-/* $Id: processor.cpp,v 1.42 2006/12/07 11:52:39 strk Exp $ */
+/* $Id: processor.cpp,v 1.43 2006/12/18 09:28:01 strk Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -51,6 +51,10 @@
 // before kicking the movie (forcing it to next frame)
 static const size_t waitforadvance = 5;
 
+// How many time do we allow for loop backs
+// (goto frame < current frame)
+static const size_t allowloopbacks = 10;
+
 bool gofast = false;           // FIXME: this flag gets set based on
                                // an XML message written using
                                // SendCommand(""). This way a movie
@@ -270,6 +274,8 @@
 
     int        kick_count = 0;
     int stop_count=0;
+    size_t loop_back_count=0;
+    size_t latest_frame=0;
     // Run through the movie.
     for (;;) {
        // @@ do we also have to run through all sprite frames
@@ -302,7 +308,7 @@
                        stop_count=0;
 
                        // Kick the movie.
-                       printf("kicking movie, kick ct = %d\n", kick_count);
+                       printf("kicking movie after %d frames in STOP mode, 
kick ct = %d\n", maxstops, kick_count);
                        m.goto_frame(last_frame + 1);
                        m.set_play_state(gnash::sprite_instance::PLAY);
                        kick_count++;
@@ -317,8 +323,15 @@
        // We looped back.  Skip ahead...
        else if (m.get_current_frame() < last_frame)
        {
-           printf("loop back; jumping to frame " SIZET_FMT "\n", last_frame);
-           m.goto_frame(last_frame + 1);
+           if ( last_frame > latest_frame ) latest_frame = last_frame;
+           if ( ++loop_back_count > allowloopbacks )
+           {
+                   printf(SIZET_FMT " loop backs; jumping one-after "
+                                   "latest frame (" SIZET_FMT ")\n",
+                                   loop_back_count, latest_frame+1);
+                   m.goto_frame(latest_frame + 1);
+                   loop_back_count = 0;
+           }
        }
        else
        {




reply via email to

[Prev in Thread] Current Thread [Next in Thread]