diff options
author | Torne (Richard Coles) <torne@google.com> | 2013-10-22 16:41:35 +0100 |
---|---|---|
committer | Torne (Richard Coles) <torne@google.com> | 2013-10-22 16:41:35 +0100 |
commit | 8bcbed890bc3ce4d7a057a8f32cab53fa534672e (patch) | |
tree | 1390b6675d21328859f01f50203d9bde09105298 /media/base/fake_audio_renderer_sink.h | |
parent | 116fa16b45c9efe30e785b9fc32f09780ca23bec (diff) | |
download | chromium_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.h | 61 |
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_ |