gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] gnash ChangeLog server/movie_def_impl.cpp


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog server/movie_def_impl.cpp
Date: Mon, 21 Aug 2006 23:28:48 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  06/08/21 23:28:48

Modified files:
        .              : ChangeLog 
        server         : movie_def_impl.cpp 

Log message:
                * server/movie_def_impl.cpp: implement MovieLoader::lock
                  and MovieLoader::unlock for SDL. Fix 
MovieLoader::wait_for_frame
                  for SDL.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.668&r2=1.669
http://cvs.savannah.gnu.org/viewcvs/gnash/server/movie_def_impl.cpp?cvsroot=gnash&r1=1.26&r2=1.27

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.668
retrieving revision 1.669
diff -u -b -r1.668 -r1.669
--- ChangeLog   21 Aug 2006 22:56:15 -0000      1.668
+++ ChangeLog   21 Aug 2006 23:28:47 -0000      1.669
@@ -1,5 +1,8 @@
 2006-08-21 Sandro Santilli  <address@hidden>
 
+       * server/movie_def_impl.cpp: implement MovieLoader::lock 
+         and MovieLoader::unlock for SDL. Fix MovieLoader::wait_for_frame
+         for SDL.
        * gui/sdl.cpp: fix movie advance delay
        * server/gnash.h: fixed compiler warning about initialization order.
        * server/movie_def_impl.cpp:

Index: server/movie_def_impl.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/movie_def_impl.cpp,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -b -r1.26 -r1.27
--- server/movie_def_impl.cpp   21 Aug 2006 22:24:25 -0000      1.26
+++ server/movie_def_impl.cpp   21 Aug 2006 23:28:47 -0000      1.27
@@ -126,12 +126,15 @@
 
 void MovieLoader::wait_for_frame(size_t framenum)
 {
-       if (_movie_def.get_loading_frame() >= framenum)
+
+       lock();
+
+       if (_movie_def.get_loading_frame() < framenum)
        {
-               return;
-       }
+               //log_msg("Waiting for frame %u to load", framenum);
 
-       SDL_mutexP(_mutex);
+               assert(_waiting_for_frame == 0);
+               _waiting_for_frame = framenum;
 
        do
        {
@@ -139,15 +142,28 @@
        }
        while (_movie_def.get_loading_frame() < framenum);
 
-       SDL_mutexV(_mutex);
+               //log_msg("Done waiting (frame %u/%u loaded)",
+               //      _movie_def.get_loading_frame(),
+               //      _movie_def.get_frame_count());
+       }
+
+       unlock();
 }
 
 void MovieLoader::lock()
 {
+       if ( -1 == SDL_mutexP(_mutex) )
+       {
+               log_error("Error unlocking MovieLoader");
+       }
 }
 
 void MovieLoader::unlock()
 {
+       if ( -1 == SDL_mutexV(_mutex) )
+       {
+               log_error("Error unlocking MovieLoader");
+       }
 }
 
 #else




reply via email to

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