[Top][All Lists]
[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
{
- [Gnash-commit] gnash ChangeLog utilities/processor.cpp,
Sandro Santilli <=