gnash-commit
[Top][All Lists]
Advanced

[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 




reply via email to

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