summaryrefslogtreecommitdiff
path: root/media/base/fake_audio_renderer_sink.h
diff options
context:
space:
mode:
authorTorne (Richard Coles) <torne@google.com>2013-10-22 16:41:35 +0100
committerTorne (Richard Coles) <torne@google.com>2013-10-22 16:41:35 +0100
commit8bcbed890bc3ce4d7a057a8f32cab53fa534672e (patch)
tree1390b6675d21328859f01f50203d9bde09105298 /media/base/fake_audio_renderer_sink.h
parent116fa16b45c9efe30e785b9fc32f09780ca23bec (diff)
downloadchromium_org-8bcbed890bc3ce4d7a057a8f32cab53fa534672e.tar.gz
Merge from Chromium at DEPS revision 230120
This commit was generated by merge_to_master.py. Change-Id: I54bc06b7ee8a07092e74ce3b68c6893508349042
Diffstat (limited to 'media/base/fake_audio_renderer_sink.h')
-rw-r--r--media/base/fake_audio_renderer_sink.h61
1 files changed, 61 insertions, 0 deletions
diff --git a/media/base/fake_audio_renderer_sink.h b/media/base/fake_audio_renderer_sink.h
new file mode 100644
index 0000000000..b548224e6c
--- /dev/null
+++ b/media/base/fake_audio_renderer_sink.h
@@ -0,0 +1,61 @@
+// Copyright 2013 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef MEDIA_BASE_FAKE_AUDIO_RENDERER_SINK_H_
+#define MEDIA_BASE_FAKE_AUDIO_RENDERER_SINK_H_
+
+#include "media/audio/audio_parameters.h"
+#include "media/base/audio_renderer_sink.h"
+
+namespace media {
+
+class FakeAudioRendererSink : public AudioRendererSink {
+ public:
+ enum State {
+ kUninitialized,
+ kInitialized,
+ kStarted,
+ kPaused,
+ kPlaying,
+ kStopped
+ };
+
+ FakeAudioRendererSink();
+
+ virtual void Initialize(const AudioParameters& params,
+ RenderCallback* callback) OVERRIDE;
+ virtual void Start() OVERRIDE;
+ virtual void Stop() OVERRIDE;
+ virtual void Pause() OVERRIDE;
+ virtual void Play() OVERRIDE;
+ virtual bool SetVolume(double volume) OVERRIDE;
+
+ // Attempts to call Render() on the callback provided to
+ // Initialize() with |dest| and |audio_delay_milliseconds|.
+ // Returns true and sets |frames_written| to the return value of the
+ // Render() call.
+ // Returns false if this object is in a state where calling Render()
+ // should not occur. (i.e., in the kPaused or kStopped state.) The
+ // value of |frames_written| is undefined if false is returned.
+ bool Render(AudioBus* dest, int audio_delay_milliseconds,
+ int* frames_written);
+ void OnRenderError();
+
+ State state() const { return state_; }
+
+ protected:
+ virtual ~FakeAudioRendererSink();
+
+ private:
+ void ChangeState(State new_state);
+
+ State state_;
+ RenderCallback* callback_;
+
+ DISALLOW_COPY_AND_ASSIGN(FakeAudioRendererSink);
+};
+
+} // namespace media
+
+#endif // MEDIA_BASE_FAKE_AUDIO_RENDERER_SINK_H_