OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef MEDIA_AUDIO_SOUNDS_AUDIO_STREAM_HANDLER_H_ | 5 #ifndef MEDIA_AUDIO_SOUNDS_AUDIO_STREAM_HANDLER_H_ |
6 #define MEDIA_AUDIO_SOUNDS_AUDIO_STREAM_HANDLER_H_ | 6 #define MEDIA_AUDIO_SOUNDS_AUDIO_STREAM_HANDLER_H_ |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 | 9 |
10 #include <memory> | 10 #include <memory> |
11 | 11 |
12 #include "base/compiler_specific.h" | 12 #include "base/compiler_specific.h" |
13 #include "base/macros.h" | 13 #include "base/macros.h" |
| 14 #include "base/sequence_checker.h" |
14 #include "base/strings/string_piece.h" | 15 #include "base/strings/string_piece.h" |
15 #include "base/threading/non_thread_safe.h" | |
16 #include "base/time/time.h" | 16 #include "base/time/time.h" |
17 #include "media/audio/audio_io.h" | 17 #include "media/audio/audio_io.h" |
18 #include "media/base/audio_parameters.h" | 18 #include "media/base/audio_parameters.h" |
19 #include "media/base/media_export.h" | 19 #include "media/base/media_export.h" |
20 | 20 |
21 namespace media { | 21 namespace media { |
22 | 22 |
23 // This class sends a sound to the audio manager. | 23 // This class sends a sound to the audio manager. |
24 class MEDIA_EXPORT AudioStreamHandler : public base::NonThreadSafe { | 24 class MEDIA_EXPORT AudioStreamHandler { |
25 public: | 25 public: |
26 class TestObserver { | 26 class TestObserver { |
27 public: | 27 public: |
28 virtual ~TestObserver() {} | 28 virtual ~TestObserver() {} |
29 | 29 |
30 // Following methods will be called only from the audio thread. | 30 // Following methods will be called only from the audio thread. |
31 | 31 |
32 // Called when AudioOutputStreamProxy::Start() was successfully called. | 32 // Called when AudioOutputStreamProxy::Start() was successfully called. |
33 virtual void OnPlay() = 0; | 33 virtual void OnPlay() = 0; |
34 | 34 |
(...skipping 29 matching lines...) Expand all Loading... |
64 | 64 |
65 class AudioStreamContainer; | 65 class AudioStreamContainer; |
66 | 66 |
67 static void SetObserverForTesting(TestObserver* observer); | 67 static void SetObserverForTesting(TestObserver* observer); |
68 static void SetAudioSourceForTesting( | 68 static void SetAudioSourceForTesting( |
69 AudioOutputStream::AudioSourceCallback* source); | 69 AudioOutputStream::AudioSourceCallback* source); |
70 | 70 |
71 base::TimeDelta duration_; | 71 base::TimeDelta duration_; |
72 std::unique_ptr<AudioStreamContainer> stream_; | 72 std::unique_ptr<AudioStreamContainer> stream_; |
73 | 73 |
| 74 SEQUENCE_CHECKER(sequence_checker_); |
| 75 |
74 DISALLOW_COPY_AND_ASSIGN(AudioStreamHandler); | 76 DISALLOW_COPY_AND_ASSIGN(AudioStreamHandler); |
75 }; | 77 }; |
76 | 78 |
77 } // namespace media | 79 } // namespace media |
78 | 80 |
79 #endif // MEDIA_AUDIO_SOUNDS_AUDIO_STREAM_HANDLER_H_ | 81 #endif // MEDIA_AUDIO_SOUNDS_AUDIO_STREAM_HANDLER_H_ |
OLD | NEW |