1// Copyright 2013 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef MEDIA_AUDIO_SOUNDS_TEST_UTILS_H_
6#define MEDIA_AUDIO_SOUNDS_TEST_UTILS_H_
7
8#include "base/basictypes.h"
9#include "base/callback.h"
10#include "base/compiler_specific.h"
11#include "media/audio/sounds/audio_stream_handler.h"
12
13namespace base {
14class MessageLoop;
15}
16
17namespace media {
18
19const int kTestAudioKey = 1000;
20
21const char kTestAudioData[] = "RIFF\x26\x00\x00\x00WAVEfmt \x10\x00\x00\x00"
22    "\x01\x00\x02\x00\x80\xbb\x00\x00\x00\x77\x01\x00\x02\x00\x10\x00"
23    "data\x04\x00\x00\x00\x01\x00\x01\x00";
24
25class TestObserver : public AudioStreamHandler::TestObserver {
26 public:
27  TestObserver(const base::Closure& quit);
28  virtual ~TestObserver();
29
30  // AudioStreamHandler::TestObserver implementation:
31  virtual void OnPlay() OVERRIDE;
32  virtual void OnStop(size_t cursor) OVERRIDE;
33
34  int num_play_requests() const { return num_play_requests_; }
35  int num_stop_requests() const { return num_stop_requests_; }
36  int cursor() const { return cursor_; }
37
38 private:
39  base::MessageLoop* loop_;
40  base::Closure quit_;
41
42  int num_play_requests_;
43  int num_stop_requests_;
44  int cursor_;
45
46  DISALLOW_COPY_AND_ASSIGN(TestObserver);
47};
48
49}  // namespace media
50
51#endif // MEDIA_AUDIO_SOUNDS_TEST_UTILS_H_
52