[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog libmedia/sound_handler.h libmed...
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog libmedia/sound_handler.h libmed... |
Date: |
Wed, 12 Dec 2007 18:56:37 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 07/12/12 18:56:37
Modified files:
. : ChangeLog
libmedia : sound_handler.h
libmedia/gst : sound_handler_gst.cpp sound_handler_gst.h
libmedia/sdl : sound_handler_sdl.cpp sound_handler_sdl.h
server : movie_root.cpp
Log message:
Reset sound handler on restart
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.5146&r2=1.5147
http://cvs.savannah.gnu.org/viewcvs/gnash/libmedia/sound_handler.h?cvsroot=gnash&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/gnash/libmedia/gst/sound_handler_gst.cpp?cvsroot=gnash&r1=1.9&r2=1.10
http://cvs.savannah.gnu.org/viewcvs/gnash/libmedia/gst/sound_handler_gst.h?cvsroot=gnash&r1=1.7&r2=1.8
http://cvs.savannah.gnu.org/viewcvs/gnash/libmedia/sdl/sound_handler_sdl.cpp?cvsroot=gnash&r1=1.9&r2=1.10
http://cvs.savannah.gnu.org/viewcvs/gnash/libmedia/sdl/sound_handler_sdl.h?cvsroot=gnash&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/gnash/server/movie_root.cpp?cvsroot=gnash&r1=1.136&r2=1.137
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.5146
retrieving revision 1.5147
diff -u -b -r1.5146 -r1.5147
--- ChangeLog 12 Dec 2007 18:19:26 -0000 1.5146
+++ ChangeLog 12 Dec 2007 18:56:36 -0000 1.5147
@@ -1,3 +1,10 @@
+2007-12-12 Sandro Santilli <address@hidden>
+
+ * libmedia/sound_handler.h: add a reset() method to put
+ the sound handler in starting conditions (for movie restart).
+ * libmedia/gst/sound_handler_{gst,sdl}.{cpp,h}: implement reset()
+ * server/movie_root.cpp (restart): reset sound handler if any.
+
2007-12-12 Benjamin Wolsey <address@hidden>
* server/asobj/System.cpp: implement language, hasAudio; find os
Index: libmedia/sound_handler.h
===================================================================
RCS file: /sources/gnash/gnash/libmedia/sound_handler.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- libmedia/sound_handler.h 12 Dec 2007 10:07:00 -0000 1.6
+++ libmedia/sound_handler.h 12 Dec 2007 18:56:36 -0000 1.7
@@ -18,7 +18,7 @@
//
//
-/* $Id: sound_handler.h,v 1.6 2007/12/12 10:07:00 zoulunkai Exp $ */
+/* $Id: sound_handler.h,v 1.7 2007/12/12 18:56:36 strk Exp $ */
/// \page sound_handler_intro Sound handler introduction
///
@@ -339,6 +339,13 @@
///
virtual void delete_sound(int sound_handle) = 0;
+ /// gnash calls this when restarting playback from scratch
+ //
+ /// The function should stop all sounds and get ready
+ /// for a "parse from scratch" operation.
+ ///
+ virtual void reset() = 0;
+
/// gnash calls this to mute audio
virtual void mute() = 0;
Index: libmedia/gst/sound_handler_gst.cpp
===================================================================
RCS file: /sources/gnash/gnash/libmedia/gst/sound_handler_gst.cpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- libmedia/gst/sound_handler_gst.cpp 12 Dec 2007 10:23:06 -0000 1.9
+++ libmedia/gst/sound_handler_gst.cpp 12 Dec 2007 18:56:36 -0000 1.10
@@ -20,7 +20,7 @@
// Based on sound_handler_sdl.cpp by Thatcher Ulrich http://tulrich.com 2003
// which has been donated to the Public Domain.
-/* $Id: sound_handler_gst.cpp,v 1.9 2007/12/12 10:23:06 zoulunkai Exp $ */
+/* $Id: sound_handler_gst.cpp,v 1.10 2007/12/12 18:56:36 strk Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -61,13 +61,19 @@
gst_init(NULL, NULL);
}
-GST_sound_handler::~GST_sound_handler()
+void
+GST_sound_handler::delete_all_sounds()
{
-
for (size_t i=0, e=m_sound_data.size(); i < e; ++i) {
stop_sound(i);
delete_sound(i);
}
+ m_sound_data.clear();
+}
+
+GST_sound_handler::~GST_sound_handler()
+{
+ delete_all_sounds();
}
@@ -534,6 +540,12 @@
stop_sound(i);
}
+void
+GST_sound_handler::reset()
+{
+ stop_all_sounds();
+}
+
// returns the sound volume level as an integer from 0 to 100,
// where 0 is off and 100 is full volume. The default setting is 100.
Index: libmedia/gst/sound_handler_gst.h
===================================================================
RCS file: /sources/gnash/gnash/libmedia/gst/sound_handler_gst.h,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- libmedia/gst/sound_handler_gst.h 12 Dec 2007 10:23:06 -0000 1.7
+++ libmedia/gst/sound_handler_gst.h 12 Dec 2007 18:56:37 -0000 1.8
@@ -14,7 +14,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-// $Id: sound_handler_gst.h,v 1.7 2007/12/12 10:23:06 zoulunkai Exp $
+// $Id: sound_handler_gst.h,v 1.8 2007/12/12 18:56:37 strk Exp $
#ifndef SOUND_HANDLER_GST_H
#define SOUND_HANDLER_GST_H
@@ -155,6 +155,9 @@
/// Mutex for making sure threads doesn't mess things up
boost::try_mutex _mutex;
+ /// stop and delete all sounds
+ void delete_all_sounds();
+
public:
/// Gstreamer callback function
@@ -187,6 +190,9 @@
/// This will stop all sounds playing.
virtual void stop_all_sounds();
+ // See dox in sound_handler.h
+ virtual void reset();
+
/// Returns the sound volume level as an integer from 0 to 100.
AS-script only.
virtual int get_volume(int sound_handle);
Index: libmedia/sdl/sound_handler_sdl.cpp
===================================================================
RCS file: /sources/gnash/gnash/libmedia/sdl/sound_handler_sdl.cpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- libmedia/sdl/sound_handler_sdl.cpp 12 Dec 2007 10:23:07 -0000 1.9
+++ libmedia/sdl/sound_handler_sdl.cpp 12 Dec 2007 18:56:37 -0000 1.10
@@ -20,7 +20,7 @@
// Based on sound_handler_sdl.cpp by Thatcher Ulrich http://tulrich.com 2003
// which has been donated to the Public Domain.
-// $Id: sound_handler_sdl.cpp,v 1.9 2007/12/12 10:23:07 zoulunkai Exp $
+// $Id: sound_handler_sdl.cpp,v 1.10 2007/12/12 18:56:37 strk Exp $
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -62,13 +62,28 @@
audioSpec.samples = 2048; //512 - not enough for
videostream
}
-SDL_sound_handler::~SDL_sound_handler()
+void
+SDL_sound_handler::reset()
+{
+ //delete_all_sounds();
+ stop_all_sounds();
+}
+
+void
+SDL_sound_handler::delete_all_sounds()
{
+ stop_all_sounds();
for (size_t i=0, e=m_sound_data.size(); i < e; ++i)
{
stop_sound(i);
delete_sound(i);
}
+ m_sound_data.clear();
+}
+
+SDL_sound_handler::~SDL_sound_handler()
+{
+ delete_all_sounds();
if (soundOpened) SDL_CloseAudio();
}
Index: libmedia/sdl/sound_handler_sdl.h
===================================================================
RCS file: /sources/gnash/gnash/libmedia/sdl/sound_handler_sdl.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- libmedia/sdl/sound_handler_sdl.h 12 Dec 2007 10:23:07 -0000 1.8
+++ libmedia/sdl/sound_handler_sdl.h 12 Dec 2007 18:56:37 -0000 1.9
@@ -16,7 +16,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-// $Id: sound_handler_sdl.h,v 1.8 2007/12/12 10:23:07 zoulunkai Exp $
+// $Id: sound_handler_sdl.h,v 1.9 2007/12/12 18:56:37 strk Exp $
#ifndef SOUND_HANDLER_SDL_H
#define SOUND_HANDLER_SDL_H
@@ -309,6 +309,9 @@
/// Mutex for making sure threads doesn't mess things up
boost::mutex _mutex;
+ // stop and delete all sounds
+ void delete_all_sounds();
+
public:
SDL_sound_handler();
virtual ~SDL_sound_handler();
@@ -330,6 +333,9 @@
/// This gets called when it's done with a sample.
virtual void delete_sound(int sound_handle);
+ // See dox in sound_handler.h
+ virtual void reset();
+
/// This will stop all sounds playing.
virtual void stop_all_sounds();
Index: server/movie_root.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/movie_root.cpp,v
retrieving revision 1.136
retrieving revision 1.137
diff -u -b -r1.136 -r1.137
--- server/movie_root.cpp 12 Dec 2007 10:07:01 -0000 1.136
+++ server/movie_root.cpp 12 Dec 2007 18:56:37 -0000 1.137
@@ -33,6 +33,7 @@
#include "URL.h"
#include "namedStrings.h"
#include "GnashException.h"
+#include "sound_handler.h"
#include <iostream>
#include <string>
@@ -336,6 +337,8 @@
void
movie_root::reset()
{
+ media::sound_handler* sh = get_sound_handler();
+ if ( sh ) sh->reset();
clear();
_disableScripts = false;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] gnash ChangeLog libmedia/sound_handler.h libmed...,
Sandro Santilli <=