[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/parser/movie_def_impl.cpp [release
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog server/parser/movie_def_impl.cpp [release_0_7_2] |
Date: |
Tue, 07 Nov 2006 10:11:47 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Branch: release_0_7_2
Changes by: Sandro Santilli <strk> 06/11/07 10:11:47
Modified files:
. : ChangeLog
server/parser : movie_def_impl.cpp
Log message:
* server/parser/movie_def_impl.cpp: fix support
for completely disabling using a separate
thread for loading (just undef the
LOAD_MOVIES_IN_A_SEPARATE_THREAD macro)
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&only_with_tag=release_0_7_2&r1=1.1412.2.103&r2=1.1412.2.104
http://cvs.savannah.gnu.org/viewcvs/gnash/server/parser/movie_def_impl.cpp?cvsroot=gnash&only_with_tag=release_0_7_2&r1=1.30.2.2&r2=1.30.2.3
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.1412.2.103
retrieving revision 1.1412.2.104
diff -u -b -r1.1412.2.103 -r1.1412.2.104
--- ChangeLog 7 Nov 2006 08:17:40 -0000 1.1412.2.103
+++ ChangeLog 7 Nov 2006 10:11:46 -0000 1.1412.2.104
@@ -1,3 +1,10 @@
+2006-11-07 Sandro Santilli <address@hidden>
+
+ * server/parser/movie_def_impl.cpp: fix support
+ for completely disabling using a separate
+ thread for loading (just undef the
+ LOAD_MOVIES_IN_A_SEPARATE_THREAD macro)
+
2006-11-06 Tomas Groth Christensen <address@hidden>
* backend/sound_handler_sdl.cpp: Make mp3-decoding with mad work
Index: server/parser/movie_def_impl.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/parser/movie_def_impl.cpp,v
retrieving revision 1.30.2.2
retrieving revision 1.30.2.3
diff -u -b -r1.30.2.2 -r1.30.2.3
--- server/parser/movie_def_impl.cpp 4 Nov 2006 01:25:10 -0000 1.30.2.2
+++ server/parser/movie_def_impl.cpp 7 Nov 2006 10:11:47 -0000 1.30.2.3
@@ -64,12 +64,15 @@
_waiting_for_frame(0),
_movie_def(md)
{
+#ifdef LOAD_MOVIES_IN_A_SEPARATE_THREAD
pthread_cond_init(&_frame_reached_condition, NULL);
pthread_mutex_init(&_mutex, NULL);
+#endif
}
MovieLoader::~MovieLoader()
{
+#ifdef LOAD_MOVIES_IN_A_SEPARATE_THREAD
if ( pthread_cond_destroy(&_frame_reached_condition) != 0 )
{
log_error("Error destroying MovieLoader condition");
@@ -79,6 +82,7 @@
{
log_error("Error destroying MovieLoader mutex");
}
+#endif
}
void*
@@ -98,6 +102,10 @@
bool
MovieLoader::start()
{
+#ifndef LOAD_MOVIES_IN_A_SEPARATE_THREAD
+ // don't start MovieLoader thread !
+ assert(0);
+#endif
if ( pthread_create(&_thread, NULL, execute, &_movie_def) )
{
return false;
@@ -111,6 +119,9 @@
inline void
MovieLoader::signal_frame_loaded(size_t frameno)
{
+#ifndef LOAD_MOVIES_IN_A_SEPARATE_THREAD
+ return;
+#endif
if (_waiting_for_frame &&
frameno >= _waiting_for_frame )
{
@@ -121,6 +132,9 @@
inline void
MovieLoader::lock()
{
+#ifndef LOAD_MOVIES_IN_A_SEPARATE_THREAD
+ return; // nothing to do as there's no mutex
+#endif
#ifdef DEBUG_THREADS_LOCKING
// debugging
@@ -149,6 +163,9 @@
inline void
MovieLoader::unlock()
{
+#ifndef LOAD_MOVIES_IN_A_SEPARATE_THREAD
+ return;
+#endif
#ifdef DEBUG_THREADS_LOCKING
// debugging
@@ -177,6 +194,9 @@
void
MovieLoader::wait_for_frame(size_t framenum)
{
+#ifndef LOAD_MOVIES_IN_A_SEPARATE_THREAD
+ assert(0); // don't call wait_for_frame !
+#endif
// lock the loader so we can rely on m_loading_frame
lock();
@@ -573,9 +593,13 @@
bool
movie_def_impl::ensure_frame_loaded(size_t framenum)
{
+#ifdef LOAD_MOVIES_IN_A_SEPARATE_THREAD
//log_msg("Waiting for frame %u to be loaded", framenum);
_loader.wait_for_frame(framenum);
//log_msg("Condition reached (m_loading_frame=%u)", m_loading_frame);
+#else
+ assert ( framenum <= m_loading_frame );
+#endif
// TODO: return false on timeout