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

Side by Side Diff: content/renderer/media/audio_message_filter.h

Issue 10537121: Adds AudioDevice factory for all audio clients in Chrome (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Moved AudioDeviceFactory to content namespace Created 8 years, 5 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
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 // MessageFilter that handles audio messages and delegates them to audio 5 // MessageFilter that handles audio messages and delegates them to audio
6 // renderers. Created on render thread, AudioMessageFilter is operated on 6 // renderers. Created on render thread, AudioMessageFilter is operated on
7 // IO thread (secondary thread of render process) it intercepts audio messages 7 // IO thread (secondary thread of render process) it intercepts audio messages
8 // and process them on IO thread since these messages are time critical. 8 // and process them on IO thread since these messages are time critical.
9 9
10 #ifndef CONTENT_RENDERER_MEDIA_AUDIO_MESSAGE_FILTER_H_ 10 #ifndef CONTENT_RENDERER_MEDIA_AUDIO_MESSAGE_FILTER_H_
(...skipping 21 matching lines...) Expand all
32 virtual void OnStreamCreated(base::SharedMemoryHandle handle, 32 virtual void OnStreamCreated(base::SharedMemoryHandle handle,
33 base::SyncSocket::Handle socket_handle, 33 base::SyncSocket::Handle socket_handle,
34 uint32 length) = 0; 34 uint32 length) = 0;
35 35
36 protected: 36 protected:
37 virtual ~Delegate() {} 37 virtual ~Delegate() {}
38 }; 38 };
39 39
40 AudioMessageFilter(); 40 AudioMessageFilter();
41 41
42 // Getter for the one AudioMessageFilter object.
43 static AudioMessageFilter* current();
jam 2012/06/27 15:56:29 per style guide, since the implementation is in th
henrika (OOO until Aug 14) 2012/06/27 17:54:47 Got it. Not GetCurrent() then?
jam 2012/06/27 18:03:58 current() was named like because initially there w
henrika (OOO until Aug 14) 2012/06/28 11:36:01 Done.
44
42 // Add a delegate to the map and return id of the entry. 45 // Add a delegate to the map and return id of the entry.
43 int32 AddDelegate(Delegate* delegate); 46 int32 AddDelegate(Delegate* delegate);
44 47
45 // Remove a delegate referenced by |id| from the map. 48 // Remove a delegate referenced by |id| from the map.
46 void RemoveDelegate(int32 id); 49 void RemoveDelegate(int32 id);
47 50
48 // Sends an IPC message using |channel_|. 51 // Sends an IPC message using |channel_|.
49 bool Send(IPC::Message* message); 52 bool Send(IPC::Message* message);
50 53
51 // IPC::ChannelProxy::MessageFilter override. Called on IO thread. 54 // IPC::ChannelProxy::MessageFilter override. Called on IO thread.
(...skipping 16 matching lines...) Expand all
68 #else 71 #else
69 base::FileDescriptor socket_descriptor, 72 base::FileDescriptor socket_descriptor,
70 #endif 73 #endif
71 uint32 length); 74 uint32 length);
72 75
73 76
74 // Received when internal state of browser process' audio output device has 77 // Received when internal state of browser process' audio output device has
75 // changed. 78 // changed.
76 void OnStreamStateChanged(int stream_id, AudioStreamState state); 79 void OnStreamStateChanged(int stream_id, AudioStreamState state);
77 80
81 // The singleton instance for this filter.
82 // Should only be accessed on the main renderer thread.
jam 2012/06/27 15:56:29 nit: i thought the whole point of exposing the get
henrika (OOO until Aug 14) 2012/06/27 17:54:47 I do need a vacation. Thanks.
henrika (OOO until Aug 14) 2012/06/28 11:36:01 Done.
83 static AudioMessageFilter* filter_;
84
78 // A map of stream ids to delegates. 85 // A map of stream ids to delegates.
79 IDMap<Delegate> delegates_; 86 IDMap<Delegate> delegates_;
80 87
81 IPC::Channel* channel_; 88 IPC::Channel* channel_;
82 89
83 DISALLOW_COPY_AND_ASSIGN(AudioMessageFilter); 90 DISALLOW_COPY_AND_ASSIGN(AudioMessageFilter);
84 }; 91 };
85 92
86 #endif // CONTENT_RENDERER_MEDIA_AUDIO_MESSAGE_FILTER_H_ 93 #endif // CONTENT_RENDERER_MEDIA_AUDIO_MESSAGE_FILTER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698