OLD | NEW |
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 #ifndef MEDIA_AUDIO_AUDIO_INPUT_IPC_H_ | 5 #ifndef MEDIA_AUDIO_AUDIO_INPUT_IPC_H_ |
6 #define MEDIA_AUDIO_AUDIO_INPUT_IPC_H_ | 6 #define MEDIA_AUDIO_AUDIO_INPUT_IPC_H_ |
7 | 7 |
8 #include "base/shared_memory.h" | 8 #include "base/shared_memory.h" |
9 #include "base/sync_socket.h" | 9 #include "base/sync_socket.h" |
10 #include "media/audio/audio_parameters.h" | 10 #include "media/audio/audio_parameters.h" |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
55 protected: | 55 protected: |
56 virtual ~AudioInputIPCDelegate(); | 56 virtual ~AudioInputIPCDelegate(); |
57 }; | 57 }; |
58 | 58 |
59 // Provides IPC functionality for an AudioInputDevice. The implementation | 59 // Provides IPC functionality for an AudioInputDevice. The implementation |
60 // should asynchronously deliver the messages to an AudioInputController object | 60 // should asynchronously deliver the messages to an AudioInputController object |
61 // (or create one in the case of CreateStream()), that may live in a separate | 61 // (or create one in the case of CreateStream()), that may live in a separate |
62 // process. | 62 // process. |
63 class MEDIA_EXPORT AudioInputIPC { | 63 class MEDIA_EXPORT AudioInputIPC { |
64 public: | 64 public: |
| 65 virtual ~AudioInputIPC(); |
| 66 |
65 // Registers an AudioInputIPCDelegate and returns a |stream_id| that | 67 // Registers an AudioInputIPCDelegate and returns a |stream_id| that |
66 // must be used with all other IPC functions in this interface. | 68 // must be used with all other IPC functions in this interface. |
67 virtual int AddDelegate(AudioInputIPCDelegate* delegate) = 0; | 69 virtual int AddDelegate(AudioInputIPCDelegate* delegate) = 0; |
68 | 70 |
69 // Unregisters a delegate that was previously registered via a call to | 71 // Unregisters a delegate that was previously registered via a call to |
70 // AddDelegate(). The audio stream should be in a closed state prior to | 72 // AddDelegate(). The audio stream should be in a closed state prior to |
71 // calling this function. | 73 // calling this function. |
72 virtual void RemoveDelegate(int stream_id) = 0; | 74 virtual void RemoveDelegate(int stream_id) = 0; |
73 | 75 |
74 // Sends a request to create an AudioInputController object in the peer | 76 // Sends a request to create an AudioInputController object in the peer |
(...skipping 12 matching lines...) Expand all Loading... |
87 // Corresponds to a call to AudioInputController::Record() on the server side. | 89 // Corresponds to a call to AudioInputController::Record() on the server side. |
88 virtual void RecordStream(int stream_id) = 0; | 90 virtual void RecordStream(int stream_id) = 0; |
89 | 91 |
90 // Sets the volume of the audio stream. | 92 // Sets the volume of the audio stream. |
91 virtual void SetVolume(int stream_id, double volume) = 0; | 93 virtual void SetVolume(int stream_id, double volume) = 0; |
92 | 94 |
93 // Closes the audio stream and deletes the matching AudioInputController | 95 // Closes the audio stream and deletes the matching AudioInputController |
94 // instance. Prior to deleting the AudioInputController object, a call to | 96 // instance. Prior to deleting the AudioInputController object, a call to |
95 // AudioInputController::Close must be made. | 97 // AudioInputController::Close must be made. |
96 virtual void CloseStream(int stream_id) = 0; | 98 virtual void CloseStream(int stream_id) = 0; |
97 | |
98 protected: | |
99 virtual ~AudioInputIPC(); | |
100 }; | 99 }; |
101 | 100 |
102 } // namespace media | 101 } // namespace media |
103 | 102 |
104 #endif // MEDIA_AUDIO_AUDIO_INPUT_IPC_H_ | 103 #endif // MEDIA_AUDIO_AUDIO_INPUT_IPC_H_ |
OLD | NEW |