[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog libmedia/gst/sound_handler_gst....
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog libmedia/gst/sound_handler_gst.... |
Date: |
Sat, 01 Dec 2007 21:07:20 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 07/12/01 21:07:20
Modified files:
. : ChangeLog
libmedia/gst : sound_handler_gst.cpp sound_handler_gst.h
Log message:
drop dependency on hash_wrapper.h
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.5044&r2=1.5045
http://cvs.savannah.gnu.org/viewcvs/gnash/libmedia/gst/sound_handler_gst.cpp?cvsroot=gnash&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/gnash/libmedia/gst/sound_handler_gst.h?cvsroot=gnash&r1=1.5&r2=1.6
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.5044
retrieving revision 1.5045
diff -u -b -r1.5044 -r1.5045
--- ChangeLog 1 Dec 2007 19:55:19 -0000 1.5044
+++ ChangeLog 1 Dec 2007 21:07:19 -0000 1.5045
@@ -1,5 +1,7 @@
2007-12-01 Sandro Santilli <address@hidden>
+ * libmedia/gst/sound_handler_gst.{cpp,h}: drop dependency on
+ hash_wrapper.h
* utilities/processor.cpp: add support for reading from stdin.
2007-12-01 Sandro Santilli <address@hidden>
Index: libmedia/gst/sound_handler_gst.cpp
===================================================================
RCS file: /sources/gnash/gnash/libmedia/gst/sound_handler_gst.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- libmedia/gst/sound_handler_gst.cpp 1 Dec 2007 00:14:59 -0000 1.4
+++ libmedia/gst/sound_handler_gst.cpp 1 Dec 2007 21:07:20 -0000 1.5
@@ -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.4 2007/12/01 00:14:59 strk Exp $ */
+/* $Id: sound_handler_gst.cpp,v 1.5 2007/12/01 21:07:20 strk Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -28,6 +28,8 @@
#include "utility.h" // for convert_raw_data
+#include <utility> // for std::make_pair
+
// Assume people running --enable-media=gst know what they are doing
// (HAVE_GST_GST_H seems broken atm, specifically when an older glib
// install is around)
@@ -644,23 +646,10 @@
GST_BUFFER_DATA(buffer) = tmp_buf;
}
- /*GST_sound_handler::*/aux_streamer_ptr aux_streamer =
gstelements->handler->m_aux_streamer[gstelements->owner];
+ aux_streamer_ptr aux_streamer =
gstelements->handler->m_aux_streamer[gstelements->owner];
// If false is returned the sound doesn't want to be attached anymore
bool ret = (aux_streamer)(gstelements->owner, GST_BUFFER_DATA(buffer),
GST_BUFFER_SIZE(buffer));
-/* if (!ret) {
- handler->m_aux_streamer.erase(it++);
- handler->soundsPlaying--;
-
- // All the data has been given to the pipeline, so now we need
to stop
- // the pipeline. g_idle_add() makes sure sound_killer is called
soon.
- if (gstelements->position > gstelements->data_size) {
- g_idle_add(sound_killer, user_data);
- GST_BUFFER_SIZE(buffer) = 0;
- GST_BUFFER_DATA(buffer) = 0;
- return;
- }
- }*/
}
@@ -670,13 +659,11 @@
assert(owner);
assert(ptr);
- aux_streamer_ptr p;
- if (m_aux_streamer.get(owner, &p))
+ if ( m_aux_streamer.insert(std::make_pair(owner, ptr)).second )
{
// Already in the hash.
return;
}
- m_aux_streamer[owner] = ptr;
// Make a pipeline that can play the raw data
@@ -782,7 +769,7 @@
gst_element->owner = owner;
- // Put the gst_element on the vector
+ // Put the gst_element in the map
m_aux_streamer_gstelements[owner] = gst_element;
// If not already playing, start doing it
@@ -793,14 +780,13 @@
void GST_sound_handler::detach_aux_streamer(void* owner)
{
try_mutex::scoped_lock lock(_mutex);
- aux_streamer_ptr p;
- if (m_aux_streamer.get(owner, &p))
- {
- m_aux_streamer.erase(owner);
- delete m_aux_streamer_gstelements[owner];
- m_aux_streamer_gstelements.erase(owner);
- }
+ GstElementsMap::iterator it=m_aux_streamer_gstelements.find(owner);
+ if ( it == m_aux_streamer_gstelements.end() ) return; // not found
+
+ delete it->second;
+ // WARNING: erasing would break any iteration in the map
+ m_aux_streamer_gstelements.erase(it);
}
unsigned int GST_sound_handler::get_duration(int sound_handle)
Index: libmedia/gst/sound_handler_gst.h
===================================================================
RCS file: /sources/gnash/gnash/libmedia/gst/sound_handler_gst.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- libmedia/gst/sound_handler_gst.h 30 Nov 2007 00:13:02 -0000 1.5
+++ libmedia/gst/sound_handler_gst.h 1 Dec 2007 21:07:20 -0000 1.6
@@ -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.5 2007/11/30 00:13:02 tgc Exp $
+// $Id: sound_handler_gst.h,v 1.6 2007/12/01 21:07:20 strk Exp $
#ifndef SOUND_HANDLER_GST_H
#define SOUND_HANDLER_GST_H
@@ -23,12 +23,12 @@
#include "sound_handler.h" // for inheritance
#include <vector>
+#include <map>
#include <gst/gst.h>
#include <boost/thread/thread.hpp>
#include <boost/bind.hpp>
#include <boost/thread/mutex.hpp>
-#include "hash_wrapper.h"
#define BUFFER_SIZE 5000
@@ -137,9 +137,11 @@
{
private:
/// AS classes (NetStream, Sound) audio callbacks
- hash_wrapper< void* /* owner */, aux_streamer_ptr /* callback */>
m_aux_streamer;
+ typedef std::map< void* /* owner */, aux_streamer_ptr /* callback */>
CallbacksMap;
+ CallbacksMap m_aux_streamer;
- hash_wrapper< void* /* owner */, gst_elements*>
m_aux_streamer_gstelements;
+ typedef std::map< void* /* owner */, gst_elements*> GstElementsMap;
+ GstElementsMap m_aux_streamer_gstelements;
/// Vector containing all the sounds
std::vector<sound_data*> m_sound_data;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] gnash ChangeLog libmedia/gst/sound_handler_gst....,
Sandro Santilli <=