| OLD | NEW |
| 1 /* | 1 /* |
| 2 * libjingle | 2 * libjingle |
| 3 * Copyright 2004 Google Inc. | 3 * Copyright 2004 Google Inc. |
| 4 * | 4 * |
| 5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions are met: | 6 * modification, are permitted provided that the following conditions are met: |
| 7 * | 7 * |
| 8 * 1. Redistributions of source code must retain the above copyright notice, | 8 * 1. Redistributions of source code must retain the above copyright notice, |
| 9 * this list of conditions and the following disclaimer. | 9 * this list of conditions and the following disclaimer. |
| 10 * 2. Redistributions in binary form must reproduce the above copyright notice, | 10 * 2. Redistributions in binary form must reproduce the above copyright notice, |
| (...skipping 30 matching lines...) Expand all Loading... |
| 41 #include "webrtc/base/thread.h" | 41 #include "webrtc/base/thread.h" |
| 42 | 42 |
| 43 namespace webrtc { | 43 namespace webrtc { |
| 44 class MediaControllerInterface; | 44 class MediaControllerInterface; |
| 45 } | 45 } |
| 46 namespace cricket { | 46 namespace cricket { |
| 47 | 47 |
| 48 const int kDefaultAudioDelayOffset = 0; | 48 const int kDefaultAudioDelayOffset = 0; |
| 49 | 49 |
| 50 class VoiceChannel; | 50 class VoiceChannel; |
| 51 class VoiceProcessor; | |
| 52 | 51 |
| 53 // ChannelManager allows the MediaEngine to run on a separate thread, and takes | 52 // ChannelManager allows the MediaEngine to run on a separate thread, and takes |
| 54 // care of marshalling calls between threads. It also creates and keeps track of | 53 // care of marshalling calls between threads. It also creates and keeps track of |
| 55 // voice and video channels; by doing so, it can temporarily pause all the | 54 // voice and video channels; by doing so, it can temporarily pause all the |
| 56 // channels when a new audio or video device is chosen. The voice and video | 55 // channels when a new audio or video device is chosen. The voice and video |
| 57 // channels are stored in separate vectors, to easily allow operations on just | 56 // channels are stored in separate vectors, to easily allow operations on just |
| 58 // voice or just video channels. | 57 // voice or just video channels. |
| 59 // ChannelManager also allows the application to discover what devices it has | 58 // ChannelManager also allows the application to discover what devices it has |
| 60 // using device manager. | 59 // using device manager. |
| 61 class ChannelManager : public rtc::MessageHandler, | 60 class ChannelManager : public rtc::MessageHandler, |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 167 // Starts/stops the local microphone and enables polling of the input level. | 166 // Starts/stops the local microphone and enables polling of the input level. |
| 168 bool capturing() const { return capturing_; } | 167 bool capturing() const { return capturing_; } |
| 169 | 168 |
| 170 // Configures the logging output of the mediaengine(s). | 169 // Configures the logging output of the mediaengine(s). |
| 171 void SetVoiceLogging(int level, const char* filter); | 170 void SetVoiceLogging(int level, const char* filter); |
| 172 void SetVideoLogging(int level, const char* filter); | 171 void SetVideoLogging(int level, const char* filter); |
| 173 | 172 |
| 174 // Gets capturer's supported formats in a thread safe manner | 173 // Gets capturer's supported formats in a thread safe manner |
| 175 std::vector<cricket::VideoFormat> GetSupportedFormats( | 174 std::vector<cricket::VideoFormat> GetSupportedFormats( |
| 176 VideoCapturer* capturer) const; | 175 VideoCapturer* capturer) const; |
| 177 // The channel manager handles the Tx and Rx side for Voice processing. | |
| 178 bool RegisterVoiceProcessor(uint32 ssrc, | |
| 179 VoiceProcessor* processor, | |
| 180 MediaProcessorDirection direction); | |
| 181 bool UnregisterVoiceProcessor(uint32 ssrc, | |
| 182 VoiceProcessor* processor, | |
| 183 MediaProcessorDirection direction); | |
| 184 // The following are done in the new "CaptureManager" style that | 176 // The following are done in the new "CaptureManager" style that |
| 185 // all local video capturers, processors, and managers should move to. | 177 // all local video capturers, processors, and managers should move to. |
| 186 // TODO(pthatcher): Make methods nicer by having start return a handle that | 178 // TODO(pthatcher): Make methods nicer by having start return a handle that |
| 187 // can be used for stop and restart, rather than needing to pass around | 179 // can be used for stop and restart, rather than needing to pass around |
| 188 // formats a a pseudo-handle. | 180 // formats a a pseudo-handle. |
| 189 bool StartVideoCapture(VideoCapturer* video_capturer, | 181 bool StartVideoCapture(VideoCapturer* video_capturer, |
| 190 const VideoFormat& video_format); | 182 const VideoFormat& video_format); |
| 191 // When muting, produce black frames then pause the camera. | 183 // When muting, produce black frames then pause the camera. |
| 192 // When unmuting, start the camera. Camera starts unmuted. | 184 // When unmuting, start the camera. Camera starts unmuted. |
| 193 bool MuteToBlackThenPause(VideoCapturer* video_capturer, bool muted); | 185 bool MuteToBlackThenPause(VideoCapturer* video_capturer, bool muted); |
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 305 // but selected devices while this sting will be empty or contain current | 297 // but selected devices while this sting will be empty or contain current |
| 306 // selected device. | 298 // selected device. |
| 307 // TODO(hellner): refactor the code such that there is no need to keep two | 299 // TODO(hellner): refactor the code such that there is no need to keep two |
| 308 // strings for video devices that have subtle differences in behavior. | 300 // strings for video devices that have subtle differences in behavior. |
| 309 std::string video_device_name_; | 301 std::string video_device_name_; |
| 310 }; | 302 }; |
| 311 | 303 |
| 312 } // namespace cricket | 304 } // namespace cricket |
| 313 | 305 |
| 314 #endif // TALK_SESSION_MEDIA_CHANNELMANAGER_H_ | 306 #endif // TALK_SESSION_MEDIA_CHANNELMANAGER_H_ |
| OLD | NEW |