[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog libmedia/ffmpeg/sound_handler_s...
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog libmedia/ffmpeg/sound_handler_s... |
Date: |
Fri, 16 May 2008 13:57:21 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 08/05/16 13:57:20
Modified files:
. : ChangeLog
libmedia/ffmpeg: sound_handler_sdl.cpp sound_handler_sdl.h
Log message:
* libmedia/ffmpeg/sound_handler_sdl.{cpp,h}: fix memory leak in
stop_all_sounds too..
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.6625&r2=1.6626
http://cvs.savannah.gnu.org/viewcvs/gnash/libmedia/ffmpeg/sound_handler_sdl.cpp?cvsroot=gnash&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/gnash/libmedia/ffmpeg/sound_handler_sdl.h?cvsroot=gnash&r1=1.9&r2=1.10
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.6625
retrieving revision 1.6626
diff -u -b -r1.6625 -r1.6626
--- ChangeLog 16 May 2008 13:40:48 -0000 1.6625
+++ ChangeLog 16 May 2008 13:57:16 -0000 1.6626
@@ -1,3 +1,8 @@
+2008-05-16 Sandro Santilli <address@hidden>
+
+ * libmedia/ffmpeg/sound_handler_sdl.{cpp,h}: fix memory leak in
+ stop_all_sounds too..
+
2008-05-16 Russ Nelson <address@hidden>
* NEWS, README: removing conflicts
Index: libmedia/ffmpeg/sound_handler_sdl.cpp
===================================================================
RCS file: /sources/gnash/gnash/libmedia/ffmpeg/sound_handler_sdl.cpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- libmedia/ffmpeg/sound_handler_sdl.cpp 16 May 2008 13:10:35 -0000
1.8
+++ libmedia/ffmpeg/sound_handler_sdl.cpp 16 May 2008 13:57:18 -0000
1.9
@@ -374,21 +374,15 @@
{
boost::mutex::scoped_lock lock(_mutex);
- boost::int32_t num_sounds = (boost::int32_t) m_sound_data.size()-1;
- for (boost::int32_t j = num_sounds; j > -1; j--) {//Optimized
- sound_data* sounddata = m_sound_data[j];
- boost::int32_t num_active_sounds = (boost::int32_t)
sounddata->m_active_sounds.size()-1;
- for (boost::int32_t i = num_active_sounds; i > -1; i--) {
-
- //active_sound* sound = sounddata->m_active_sounds[i];
-
- // Stop sound, remove it from the active list
- //delete sound->decoder;
-
sounddata->m_active_sounds.erase(sounddata->m_active_sounds.begin() + i);
+ for (Sounds::iterator i=m_sound_data.begin(), e=m_sound_data.end();
i!=e; ++i)
+ {
+ sound_data* sounddata = *i;
+ size_t nActiveSounds = sounddata->m_active_sounds.size();
- --soundsPlaying;
- ++_soundsStopped;
- }
+ soundsPlaying -= nActiveSounds;
+ _soundsStopped += nActiveSounds;
+
+ sounddata->clearActiveSounds();
}
}
Index: libmedia/ffmpeg/sound_handler_sdl.h
===================================================================
RCS file: /sources/gnash/gnash/libmedia/ffmpeg/sound_handler_sdl.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- libmedia/ffmpeg/sound_handler_sdl.h 16 May 2008 13:10:35 -0000 1.9
+++ libmedia/ffmpeg/sound_handler_sdl.h 16 May 2008 13:57:19 -0000 1.10
@@ -293,7 +293,8 @@
//
/// Elemenst of the vector are owned by this class
///
- std::vector<sound_data*> m_sound_data;
+ typedef std::vector<sound_data*> Sounds;
+ Sounds m_sound_data;
/// Is sound device opened?
bool soundOpened;