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

Side by Side Diff: media/audio/audio_output_dispatcher.h

Issue 13243003: Move MessageLoop to base namespace. (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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « media/audio/audio_output_controller.h ('k') | media/audio/audio_output_dispatcher_impl.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 // AudioOutputDispatcher is a single-threaded base class that dispatches 5 // AudioOutputDispatcher is a single-threaded base class that dispatches
6 // creation and deletion of audio output streams. AudioOutputProxy objects use 6 // creation and deletion of audio output streams. AudioOutputProxy objects use
7 // this class to allocate and recycle actual audio output streams. When playback 7 // this class to allocate and recycle actual audio output streams. When playback
8 // is started, the proxy calls StartStream() to get an output stream that it 8 // is started, the proxy calls StartStream() to get an output stream that it
9 // uses to play audio. When playback is stopped, the proxy returns the stream 9 // uses to play audio. When playback is stopped, the proxy returns the stream
10 // back to the dispatcher by calling StopStream(). 10 // back to the dispatcher by calling StopStream().
11 // 11 //
12 // AudioManagerBase creates one specialization of AudioOutputDispatcher on the 12 // AudioManagerBase creates one specialization of AudioOutputDispatcher on the
13 // audio thread for each possible set of audio parameters. I.e streams with 13 // audio thread for each possible set of audio parameters. I.e streams with
14 // different parameters are managed independently. The AudioOutputDispatcher 14 // different parameters are managed independently. The AudioOutputDispatcher
15 // instance is then deleted on the audio thread when the AudioManager shuts 15 // instance is then deleted on the audio thread when the AudioManager shuts
16 // down. 16 // down.
17 17
18 #ifndef MEDIA_AUDIO_AUDIO_OUTPUT_DISPATCHER_H_ 18 #ifndef MEDIA_AUDIO_AUDIO_OUTPUT_DISPATCHER_H_
19 #define MEDIA_AUDIO_AUDIO_OUTPUT_DISPATCHER_H_ 19 #define MEDIA_AUDIO_AUDIO_OUTPUT_DISPATCHER_H_
20 20
21 #include "base/basictypes.h" 21 #include "base/basictypes.h"
22 #include "base/memory/ref_counted.h" 22 #include "base/memory/ref_counted.h"
23 #include "base/timer.h" 23 #include "base/timer.h"
24 #include "media/audio/audio_io.h" 24 #include "media/audio/audio_io.h"
25 #include "media/audio/audio_manager.h" 25 #include "media/audio/audio_manager.h"
26 #include "media/audio/audio_parameters.h" 26 #include "media/audio/audio_parameters.h"
27 27
28 namespace base {
28 class MessageLoop; 29 class MessageLoop;
30 }
29 31
30 namespace media { 32 namespace media {
31 33
32 class AudioOutputProxy; 34 class AudioOutputProxy;
33 35
34 class MEDIA_EXPORT AudioOutputDispatcher 36 class MEDIA_EXPORT AudioOutputDispatcher
35 : public base::RefCountedThreadSafe<AudioOutputDispatcher> { 37 : public base::RefCountedThreadSafe<AudioOutputDispatcher> {
36 public: 38 public:
37 AudioOutputDispatcher(AudioManager* audio_manager, 39 AudioOutputDispatcher(AudioManager* audio_manager,
38 const AudioParameters& params); 40 const AudioParameters& params);
(...skipping 25 matching lines...) Expand all
64 66
65 protected: 67 protected:
66 friend class base::RefCountedThreadSafe<AudioOutputDispatcher>; 68 friend class base::RefCountedThreadSafe<AudioOutputDispatcher>;
67 friend class AudioOutputProxyTest; 69 friend class AudioOutputProxyTest;
68 70
69 virtual ~AudioOutputDispatcher(); 71 virtual ~AudioOutputDispatcher();
70 72
71 // A no-reference-held pointer (we don't want circular references) back to the 73 // A no-reference-held pointer (we don't want circular references) back to the
72 // AudioManager that owns this object. 74 // AudioManager that owns this object.
73 AudioManager* audio_manager_; 75 AudioManager* audio_manager_;
74 MessageLoop* message_loop_; 76 base::MessageLoop* message_loop_;
75 AudioParameters params_; 77 AudioParameters params_;
76 78
77 private: 79 private:
78 DISALLOW_COPY_AND_ASSIGN(AudioOutputDispatcher); 80 DISALLOW_COPY_AND_ASSIGN(AudioOutputDispatcher);
79 }; 81 };
80 82
81 } // namespace media 83 } // namespace media
82 84
83 #endif // MEDIA_AUDIO_AUDIO_OUTPUT_DISPATCHER_H_ 85 #endif // MEDIA_AUDIO_AUDIO_OUTPUT_DISPATCHER_H_
OLDNEW
« no previous file with comments | « media/audio/audio_output_controller.h ('k') | media/audio/audio_output_dispatcher_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698