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

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

Issue 27605002: Improve and simplify AudioOutputDispatcher. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase. Comments. Created 7 years 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
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().
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 // wedge is detected all streams across all dispatchers must be closed. After 71 // wedge is detected all streams across all dispatchers must be closed. After
72 // all streams are closed, streams are restarted. See http://crbug.com/160920 72 // all streams are closed, streams are restarted. See http://crbug.com/160920
73 virtual void CloseStreamsForWedgeFix() = 0; 73 virtual void CloseStreamsForWedgeFix() = 0;
74 virtual void RestartStreamsForWedgeFix() = 0; 74 virtual void RestartStreamsForWedgeFix() = 0;
75 75
76 // Accessor to the input device id used by unified IO. 76 // Accessor to the input device id used by unified IO.
77 const std::string& input_device_id() const { return input_device_id_; } 77 const std::string& input_device_id() const { return input_device_id_; }
78 78
79 protected: 79 protected:
80 friend class base::RefCountedThreadSafe<AudioOutputDispatcher>; 80 friend class base::RefCountedThreadSafe<AudioOutputDispatcher>;
81 friend class AudioOutputProxyTest;
82
83 virtual ~AudioOutputDispatcher(); 81 virtual ~AudioOutputDispatcher();
84 82
85 // A no-reference-held pointer (we don't want circular references) back to the 83 // A no-reference-held pointer (we don't want circular references) back to the
86 // AudioManager that owns this object. 84 // AudioManager that owns this object.
87 AudioManager* audio_manager_; 85 AudioManager* audio_manager_;
88 const scoped_refptr<base::MessageLoopProxy> message_loop_; 86 const scoped_refptr<base::MessageLoopProxy> message_loop_;
89 const AudioParameters params_; 87 const AudioParameters params_;
90 std::string output_device_id_; 88 std::string output_device_id_;
91 const std::string input_device_id_; 89 const std::string input_device_id_;
92 90
93 private: 91 private:
94 DISALLOW_COPY_AND_ASSIGN(AudioOutputDispatcher); 92 DISALLOW_COPY_AND_ASSIGN(AudioOutputDispatcher);
95 }; 93 };
96 94
97 } // namespace media 95 } // namespace media
98 96
99 #endif // MEDIA_AUDIO_AUDIO_OUTPUT_DISPATCHER_H_ 97 #endif // MEDIA_AUDIO_AUDIO_OUTPUT_DISPATCHER_H_
OLDNEW
« no previous file with comments | « no previous file | media/audio/audio_output_dispatcher_impl.h » ('j') | media/audio/audio_output_dispatcher_impl.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698