[Top][All Lists]
[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