Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(785)

Unified Diff: media/base/audio_renderer_mixer.h

Issue 14358049: Refactor AudioRendererMixer to be more generic. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: media/base/audio_renderer_mixer.h
diff --git a/media/base/audio_renderer_mixer.h b/media/base/audio_renderer_mixer.h
index c25e1d813623b600a4a5dd537e131834c5d3f434..6168064e3cb59b44b9a4f25ffd017b7b0dc98f07 100644
--- a/media/base/audio_renderer_mixer.h
+++ b/media/base/audio_renderer_mixer.h
@@ -5,19 +5,18 @@
#ifndef MEDIA_BASE_AUDIO_RENDERER_MIXER_H_
#define MEDIA_BASE_AUDIO_RENDERER_MIXER_H_
-#include <list>
+#include <map>
#include "base/synchronization/lock.h"
#include "base/time.h"
#include "media/base/audio_converter.h"
-#include "media/base/audio_renderer_mixer_input.h"
#include "media/base/audio_renderer_sink.h"
namespace media {
-// Mixes a set of AudioRendererMixerInputs into a single output stream which is
-// funneled into a single shared AudioRendererSink; saving a bundle on renderer
-// side resources.
+// Mixes a set of AudioConverter::InputCallbacks into a single output stream
+// which is funneled into a single shared AudioRendererSink; saving a bundle
+// on renderer side resources.
class MEDIA_EXPORT AudioRendererMixer
: NON_EXPORTED_BASE(public AudioRendererSink::RenderCallback) {
public:
@@ -27,8 +26,9 @@ class MEDIA_EXPORT AudioRendererMixer
virtual ~AudioRendererMixer();
// Add or remove a mixer input from mixing; called by AudioRendererMixerInput.
- void AddMixerInput(const scoped_refptr<AudioRendererMixerInput>& input);
- void RemoveMixerInput(const scoped_refptr<AudioRendererMixerInput>& input);
+ void AddMixerInput(AudioConverter::InputCallback* input,
+ const base::Closure& error_cb);
+ void RemoveMixerInput(AudioConverter::InputCallback* input);
void set_pause_delay_for_testing(base::TimeDelta delay) {
pause_delay_ = delay;
@@ -45,7 +45,7 @@ class MEDIA_EXPORT AudioRendererMixer
// Set of mixer inputs to be mixed by this mixer. Access is thread-safe
// through |mixer_inputs_lock_|.
- typedef std::list<scoped_refptr<AudioRendererMixerInput> >
+ typedef std::map<AudioConverter::InputCallback*, base::Closure>
AudioRendererMixerInputSet;
AudioRendererMixerInputSet mixer_inputs_;
base::Lock mixer_inputs_lock_;

Powered by Google App Engine
This is Rietveld 408576698