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

Side by Side Diff: media/filters/reference_audio_renderer.h

Issue 8818012: Remove the AudioManager singleton. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Set svn eol properties for a couple of files Created 9 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
« no previous file with comments | « media/audio/win/audio_output_win_unittest.cc ('k') | media/filters/reference_audio_renderer.cc » ('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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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_FILTERS_REFERENCE_AUDIO_RENDERER_H_ 5 #ifndef MEDIA_FILTERS_REFERENCE_AUDIO_RENDERER_H_
6 #define MEDIA_FILTERS_REFERENCE_AUDIO_RENDERER_H_ 6 #define MEDIA_FILTERS_REFERENCE_AUDIO_RENDERER_H_
7 7
8 // This is the reference implementation of AudioRenderer, which uses the audio 8 // This is the reference implementation of AudioRenderer, which uses the audio
9 // interfaces to open an audio device. It cannot be used in the sandbox, but is 9 // interfaces to open an audio device. It cannot be used in the sandbox, but is
10 // used in other applications such as the test player. 10 // used in other applications such as the test player.
11 // 11 //
12 // Note: THIS IS NOT THE AUDIO RENDERER USED IN CHROME. 12 // Note: THIS IS NOT THE AUDIO RENDERER USED IN CHROME.
13 // 13 //
14 // See src/content/renderer/media/audio_renderer_impl.h for chrome's 14 // See src/content/renderer/media/audio_renderer_impl.h for chrome's
15 // implementation. 15 // implementation.
16 16
17 #include "media/audio/audio_output_controller.h" 17 #include "media/audio/audio_output_controller.h"
18 #include "media/filters/audio_renderer_base.h" 18 #include "media/filters/audio_renderer_base.h"
19 19
20 class AudioManager;
21
20 namespace media { 22 namespace media {
21 23
22 class MEDIA_EXPORT ReferenceAudioRenderer 24 class MEDIA_EXPORT ReferenceAudioRenderer
23 : public AudioRendererBase, 25 : public AudioRendererBase,
24 public AudioOutputController::EventHandler { 26 public AudioOutputController::EventHandler {
25 public: 27 public:
26 ReferenceAudioRenderer(); 28 explicit ReferenceAudioRenderer(AudioManager* audio_manager);
27 virtual ~ReferenceAudioRenderer(); 29 virtual ~ReferenceAudioRenderer();
28 30
29 // Filter implementation. 31 // Filter implementation.
30 virtual void SetPlaybackRate(float playback_rate) OVERRIDE; 32 virtual void SetPlaybackRate(float playback_rate) OVERRIDE;
31 33
32 // AudioRenderer implementation. 34 // AudioRenderer implementation.
33 virtual void SetVolume(float volume) OVERRIDE; 35 virtual void SetVolume(float volume) OVERRIDE;
34 36
35 // AudioController::EventHandler implementation. 37 // AudioController::EventHandler implementation.
36 virtual void OnCreated(AudioOutputController* controller) OVERRIDE; 38 virtual void OnCreated(AudioOutputController* controller) OVERRIDE;
37 virtual void OnPlaying(AudioOutputController* controller) OVERRIDE; 39 virtual void OnPlaying(AudioOutputController* controller) OVERRIDE;
38 virtual void OnPaused(AudioOutputController* controller) OVERRIDE; 40 virtual void OnPaused(AudioOutputController* controller) OVERRIDE;
39 virtual void OnError(AudioOutputController* controller, 41 virtual void OnError(AudioOutputController* controller,
40 int error_code) OVERRIDE; 42 int error_code) OVERRIDE;
41 virtual void OnMoreData(AudioOutputController* controller, 43 virtual void OnMoreData(AudioOutputController* controller,
42 AudioBuffersState buffers_state) OVERRIDE; 44 AudioBuffersState buffers_state) OVERRIDE;
43 45
44 protected: 46 protected:
45 // AudioRendererBase implementation. 47 // AudioRendererBase implementation.
46 virtual bool OnInitialize(int bits_per_channel, 48 virtual bool OnInitialize(int bits_per_channel,
47 ChannelLayout channel_layout, 49 ChannelLayout channel_layout,
48 int sample_rate) OVERRIDE; 50 int sample_rate) OVERRIDE;
49 virtual void OnStop() OVERRIDE; 51 virtual void OnStop() OVERRIDE;
50 52
51 private: 53 private:
52 int bytes_per_second_;
53
54 // AudioOutputController::Close callback. 54 // AudioOutputController::Close callback.
55 virtual void OnClose(); 55 virtual void OnClose();
56 56
57 scoped_refptr<AudioManager> audio_manager_;
58 int bytes_per_second_;
59
57 // Audio output controller. 60 // Audio output controller.
58 scoped_refptr<media::AudioOutputController> controller_; 61 scoped_refptr<media::AudioOutputController> controller_;
59 62
60 // Audio buffer. 63 // Audio buffer.
61 int buffer_capacity_; 64 int buffer_capacity_;
62 scoped_array<uint8> buffer_; 65 scoped_array<uint8> buffer_;
63 66
64 DISALLOW_COPY_AND_ASSIGN(ReferenceAudioRenderer); 67 DISALLOW_COPY_AND_ASSIGN(ReferenceAudioRenderer);
65 }; 68 };
66 69
67 } // namespace media 70 } // namespace media
68 71
69 #endif // MEDIA_FILTERS_REFERENCE_AUDIO_RENDERER_H_ 72 #endif // MEDIA_FILTERS_REFERENCE_AUDIO_RENDERER_H_
OLDNEW
« no previous file with comments | « media/audio/win/audio_output_win_unittest.cc ('k') | media/filters/reference_audio_renderer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698