[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/movie_instance.cpp serve...
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog server/movie_instance.cpp serve... |
Date: |
Tue, 10 Apr 2007 16:17:55 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 07/04/10 16:17:54
Modified files:
. : ChangeLog
server : movie_instance.cpp
server/parser : movie_def_impl.cpp
Log message:
* server/parser/movie_def_impl.cpp (read_all_swf): at
end of parsing, check consistency of number of frames
advertised in header and number of frames read from the
stream. Update total frame count if needed and properly
wake up any frame reached condition waiters.
* server/movie_instance.cpp (advance) check return from
ensure_frame_loaded.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.2826&r2=1.2827
http://cvs.savannah.gnu.org/viewcvs/gnash/server/movie_instance.cpp?cvsroot=gnash&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/gnash/server/parser/movie_def_impl.cpp?cvsroot=gnash&r1=1.63&r2=1.64
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.2826
retrieving revision 1.2827
diff -u -b -r1.2826 -r1.2827
--- ChangeLog 10 Apr 2007 15:48:39 -0000 1.2826
+++ ChangeLog 10 Apr 2007 16:17:54 -0000 1.2827
@@ -1,5 +1,15 @@
2007-04-10 Sandro Santilli <address@hidden>
+ * server/parser/movie_def_impl.cpp (read_all_swf): at
+ end of parsing, check consistency of number of frames
+ advertised in header and number of frames read from the
+ stream. Update total frame count if needed and properly
+ wake up any frame reached condition waiters.
+ * server/movie_instance.cpp (advance) check return from
+ ensure_frame_loaded.
+
+2007-04-10 Sandro Santilli <address@hidden>
+
* server/parser/: movie_definition.h, movie_def_impl.{cpp,h},
sprite_definition.{cpp,h}: stop using TU legacy hashes
and strings: use std::string instead of C strings, use
Index: server/movie_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/movie_instance.cpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- server/movie_instance.cpp 15 Feb 2007 11:14:52 -0000 1.8
+++ server/movie_instance.cpp 10 Apr 2007 16:17:54 -0000 1.9
@@ -65,8 +65,11 @@
// We do this inside advance_root to make sure
// it's only for a root sprite (not a sprite defined
// by DefineSprite!)
- _def->ensure_frame_loaded(min(get_current_frame()+2,
- get_frame_count()));
+ size_t nextframe = min(get_current_frame()+2, get_frame_count());
+ if ( !_def->ensure_frame_loaded(nextframe) )
+ {
+ log_error("Frame " SIZET_FMT " never loaded", nextframe);
+ }
if (m_on_event_load_called == false)
{
Index: server/parser/movie_def_impl.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/parser/movie_def_impl.cpp,v
retrieving revision 1.63
retrieving revision 1.64
diff -u -b -r1.63 -r1.64
--- server/parser/movie_def_impl.cpp 10 Apr 2007 15:48:39 -0000 1.63
+++ server/parser/movie_def_impl.cpp 10 Apr 2007 16:17:54 -0000 1.64
@@ -559,7 +559,7 @@
movie_def_impl::ensure_frame_loaded(size_t framenum)
{
#ifndef LOAD_MOVIES_IN_A_SEPARATE_THREAD
- assert ( framenum <= _frames_loaded );
+ return ( framenum <= _frames_loaded );
#endif
boost::mutex::scoped_lock lock(_frames_loaded_mutex);
@@ -574,7 +574,7 @@
//log_msg("Condition reached (_frames_loaded=%u)", _frames_loaded);
- return true;
+ return ( framenum <= _frames_loaded );
}
@@ -934,6 +934,18 @@
);
}
+ if ( m_frame_count > _frames_loaded )
+ {
+ IF_VERBOSE_MALFORMED_SWF(
+ log_swferror(SIZET_FMT " frames advertised in header, but only
" SIZET_FMT " SHOWFRAME tags "
+ "found in stream. Updating total frames count",
m_frame_count, _frames_loaded);
+ );
+ boost::mutex::scoped_lock lock(_frames_loaded_mutex);
+ m_frame_count = _frames_loaded;
+ // Notify any thread waiting on frame reached condition
+ _frame_reached_condition.notify_all();
+ }
+
}
size_t
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] gnash ChangeLog server/movie_instance.cpp serve...,
Sandro Santilli <=