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

Side by Side Diff: content/common/media/audio_messages.h

Issue 1323403005: Allow AudioOutputDevice objects to be initialized with a specific hardware output device and store … (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Palmer's comments Created 5 years, 3 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
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 // IPC messages for the audio. 5 // IPC messages for the audio.
6 // Multiply-included message file, hence no include guard. 6 // Multiply-included message file, hence no include guard.
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
11 #include "base/memory/shared_memory.h" 11 #include "base/memory/shared_memory.h"
12 #include "base/sync_socket.h" 12 #include "base/sync_socket.h"
13 #include "content/common/content_export.h" 13 #include "content/common/content_export.h"
14 #include "content/common/media/media_param_traits.h" 14 #include "content/common/media/media_param_traits.h"
15 #include "ipc/ipc_message_macros.h" 15 #include "ipc/ipc_message_macros.h"
16 #include "media/audio/audio_input_ipc.h" 16 #include "media/audio/audio_input_ipc.h"
17 #include "media/audio/audio_output_ipc.h" 17 #include "media/audio/audio_output_ipc.h"
18 #include "media/audio/audio_parameters.h" 18 #include "media/audio/audio_parameters.h"
19 #include "url/gurl.h" 19 #include "url/origin.h"
20 20
21 #undef IPC_MESSAGE_EXPORT 21 #undef IPC_MESSAGE_EXPORT
22 #define IPC_MESSAGE_EXPORT CONTENT_EXPORT 22 #define IPC_MESSAGE_EXPORT CONTENT_EXPORT
23 #define IPC_MESSAGE_START AudioMsgStart 23 #define IPC_MESSAGE_START AudioMsgStart
24 24
25 IPC_ENUM_TRAITS_MAX_VALUE(media::AudioInputIPCDelegateState, 25 IPC_ENUM_TRAITS_MAX_VALUE(media::AudioInputIPCDelegateState,
26 media::AUDIO_INPUT_IPC_DELEGATE_STATE_LAST) 26 media::AUDIO_INPUT_IPC_DELEGATE_STATE_LAST)
27 27
28 IPC_ENUM_TRAITS_MAX_VALUE(media::AudioOutputIPCDelegateState, 28 IPC_ENUM_TRAITS_MAX_VALUE(media::AudioOutputIPCDelegateState,
29 media::AUDIO_OUTPUT_IPC_DELEGATE_STATE_LAST) 29 media::AUDIO_OUTPUT_IPC_DELEGATE_STATE_LAST)
30 30
31 IPC_ENUM_TRAITS_MAX_VALUE(media::SwitchOutputDeviceResult, 31 IPC_ENUM_TRAITS_MAX_VALUE(media::SwitchOutputDeviceResult,
32 media::SWITCH_OUTPUT_DEVICE_RESULT_LAST) 32 media::SWITCH_OUTPUT_DEVICE_RESULT_LAST)
33 33
34 IPC_ENUM_TRAITS_MAX_VALUE(media::AudioParameters::Format, 34 IPC_ENUM_TRAITS_MAX_VALUE(media::AudioParameters::Format,
35 media::AudioParameters::AUDIO_FORMAT_LAST) 35 media::AudioParameters::AUDIO_FORMAT_LAST)
36 36
37 IPC_ENUM_TRAITS_MAX_VALUE(media::ChannelLayout, media::CHANNEL_LAYOUT_MAX) 37 IPC_ENUM_TRAITS_MAX_VALUE(media::ChannelLayout, media::CHANNEL_LAYOUT_MAX)
38 38
39 IPC_STRUCT_BEGIN(AudioInputHostMsg_CreateStream_Config) 39 IPC_STRUCT_BEGIN(AudioInputHostMsg_CreateStream_Config)
40 IPC_STRUCT_MEMBER(media::AudioParameters, params) 40 IPC_STRUCT_MEMBER(media::AudioParameters, params)
41 IPC_STRUCT_MEMBER(bool, automatic_gain_control) 41 IPC_STRUCT_MEMBER(bool, automatic_gain_control)
42 IPC_STRUCT_MEMBER(uint32, shared_memory_count) 42 IPC_STRUCT_MEMBER(uint32, shared_memory_count)
43 IPC_STRUCT_END() 43 IPC_STRUCT_END()
44 44
45 // Messages sent from the browser to the renderer. 45 // Messages sent from the browser to the renderer.
46 46
47 // Tell the renderer process that an audio output device has been authorized
48 // for a given stream. The renderer is given the output parameters for the
49 // authorized device.
50 IPC_MESSAGE_CONTROL3(AudioMsg_NotifyDeviceAuthorized,
51 int /* stream id */,
52 bool /* success */,
53 media::AudioParameters /* output parameters */)
54
47 // Tell the renderer process that an audio stream has been created. 55 // Tell the renderer process that an audio stream has been created.
48 // The renderer process is given a shared memory handle for the audio data 56 // The renderer process is given a shared memory handle for the audio data
49 // buffer it shares with the browser process. It is also given a SyncSocket that 57 // buffer it shares with the browser process. It is also given a SyncSocket that
50 // it uses to communicate with the browser process about the state of the 58 // it uses to communicate with the browser process about the state of the
51 // buffered audio data. 59 // buffered audio data.
52 IPC_MESSAGE_CONTROL4( 60 IPC_MESSAGE_CONTROL4(
53 AudioMsg_NotifyStreamCreated, 61 AudioMsg_NotifyStreamCreated,
54 int /* stream id */, 62 int /* stream id */,
55 base::SharedMemoryHandle /* handle */, 63 base::SharedMemoryHandle /* handle */,
56 base::SyncSocket::TransitDescriptor /* socket descriptor */, 64 base::SyncSocket::TransitDescriptor /* socket descriptor */,
(...skipping 20 matching lines...) Expand all
77 IPC_MESSAGE_CONTROL2(AudioInputMsg_NotifyStreamStateChanged, 85 IPC_MESSAGE_CONTROL2(AudioInputMsg_NotifyStreamStateChanged,
78 int /* stream id */, 86 int /* stream id */,
79 media::AudioInputIPCDelegateState /* new state */) 87 media::AudioInputIPCDelegateState /* new state */)
80 88
81 IPC_MESSAGE_CONTROL2(AudioInputMsg_NotifyStreamVolume, 89 IPC_MESSAGE_CONTROL2(AudioInputMsg_NotifyStreamVolume,
82 int /* stream id */, 90 int /* stream id */,
83 double /* volume */) 91 double /* volume */)
84 92
85 // Notification message sent from AudioRendererHost to renderer for state 93 // Notification message sent from AudioRendererHost to renderer for state
86 // update after the renderer has requested a SwitchOutputDevice. 94 // update after the renderer has requested a SwitchOutputDevice.
87 IPC_MESSAGE_CONTROL3(AudioMsg_NotifyOutputDeviceSwitched, 95 IPC_MESSAGE_CONTROL2(AudioMsg_NotifyOutputDeviceSwitched,
88 int /* stream id */, 96 int /* stream id */,
89 int /* request id */,
90 media::SwitchOutputDeviceResult /* result */) 97 media::SwitchOutputDeviceResult /* result */)
91 98
92 // Messages sent from the renderer to the browser. 99 // Messages sent from the renderer to the browser.
93 100
94 // Request that is sent to the browser for creating an audio output stream. 101 // Message sent to the browser to request the use of an audio output
95 // |render_frame_id| is the routing ID for the RenderFrame producing the audio 102 // device. |render_frame_id| is the routing ID for the RenderFrame producing
96 // data. 103 // the audio data.
97 IPC_MESSAGE_CONTROL4(AudioHostMsg_CreateStream, 104 IPC_MESSAGE_CONTROL5(AudioHostMsg_RequestDeviceAuthorization,
98 int /* stream_id */, 105 int /* stream_id */,
99 int /* render_frame_id */, 106 int /* render_frame_id */,
100 int /* session_id */, 107 int /* session_id */,
108 std::string /* device_id */,
109 url::Origin /* security_origin */)
110
111 // Request that is sent to the browser for creating an audio output stream.
112 IPC_MESSAGE_CONTROL3(AudioHostMsg_CreateStream,
113 int /* stream_id */,
114 int /* render_frame_id */,
101 media::AudioParameters /* params */) 115 media::AudioParameters /* params */)
102 116
103 // Request that is sent to the browser for creating an audio input stream. 117 // Request that is sent to the browser for creating an audio input stream.
104 // |render_frame_id| is the routing ID for the RenderFrame consuming the audio 118 // |render_frame_id| is the routing ID for the RenderFrame consuming the audio
105 // data. 119 // data.
106 IPC_MESSAGE_CONTROL4(AudioInputHostMsg_CreateStream, 120 IPC_MESSAGE_CONTROL4(AudioInputHostMsg_CreateStream,
107 int /* stream_id */, 121 int /* stream_id */,
108 int /* render_frame_id */, 122 int /* render_frame_id */,
109 int /* session_id */, 123 int /* session_id */,
110 AudioInputHostMsg_CreateStream_Config) 124 AudioInputHostMsg_CreateStream_Config)
(...skipping 23 matching lines...) Expand all
134 IPC_MESSAGE_CONTROL2(AudioHostMsg_SetVolume, 148 IPC_MESSAGE_CONTROL2(AudioHostMsg_SetVolume,
135 int /* stream_id */, 149 int /* stream_id */,
136 double /* volume */) 150 double /* volume */)
137 151
138 // Set audio volume of the input stream specified by stream_id. 152 // Set audio volume of the input stream specified by stream_id.
139 IPC_MESSAGE_CONTROL2(AudioInputHostMsg_SetVolume, 153 IPC_MESSAGE_CONTROL2(AudioInputHostMsg_SetVolume,
140 int /* stream_id */, 154 int /* stream_id */,
141 double /* volume */) 155 double /* volume */)
142 156
143 // Switch the output device of the stream specified by stream_id. 157 // Switch the output device of the stream specified by stream_id.
144 IPC_MESSAGE_CONTROL5(AudioHostMsg_SwitchOutputDevice, 158 IPC_MESSAGE_CONTROL4(AudioHostMsg_SwitchOutputDevice,
145 int /* stream_id */, 159 int /* stream_id */,
146 int /* render_frame_id */, 160 int /* render_frame_id */,
147 std::string /* device_id */, 161 std::string /* device_id */,
148 GURL /* security_origin */, 162 url::Origin /* security_origin */)
149 int /* request_id */)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698