diff --git a/libcore/parser/SWFMovieDefinition.cpp b/libcore/parser/SWFMovieDefinition.cpp index 376b772..440a5d1 100644 --- a/libcore/parser/SWFMovieDefinition.cpp +++ b/libcore/parser/SWFMovieDefinition.cpp @@ -499,6 +499,8 @@ SWFMovieDefinition::read_all_swf() setBytesLoaded(std::min(_str->tell(), _swf_end_pos)); size_t floaded = get_loading_frame(); + + boost::mutex::scoped_lock lock(_frames_loaded_mutex); if (!m_playlist[floaded].empty()) { IF_VERBOSE_MALFORMED_SWF( @@ -514,7 +516,6 @@ SWFMovieDefinition::read_all_swf() "SHOWFRAME tags found in stream. Pretending we loaded " "all advertised frames"), m_frame_count, floaded); ); - boost::mutex::scoped_lock lock(_frames_loaded_mutex); _frames_loaded = m_frame_count; // Notify any thread waiting on frame reached condition _frame_reached_condition.notify_all();