OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
60 VideoEncoderRateObserver* encoder_rate_observer, | 60 VideoEncoderRateObserver* encoder_rate_observer, |
61 VCMQMSettingsCallback* qm_settings_callback); | 61 VCMQMSettingsCallback* qm_settings_callback); |
62 | 62 |
63 ~VideoSender(); | 63 ~VideoSender(); |
64 | 64 |
65 // Register the send codec to be used. | 65 // Register the send codec to be used. |
66 // This method must be called on the construction thread. | 66 // This method must be called on the construction thread. |
67 int32_t RegisterSendCodec(const VideoCodec* sendCodec, | 67 int32_t RegisterSendCodec(const VideoCodec* sendCodec, |
68 uint32_t numberOfCores, | 68 uint32_t numberOfCores, |
69 uint32_t maxPayloadSize); | 69 uint32_t maxPayloadSize); |
70 // Non-blocking access to the currently active send codec configuration. | |
71 // Must be called from the same thread as the VideoSender instance was | |
72 // created on. | |
73 const VideoCodec& GetSendCodec() const; | |
74 | |
75 // Get a copy of the currently configured send codec. | |
76 // This method acquires a lock to copy the current configuration out, | |
77 // so it can block and the returned information is not guaranteed to be | |
78 // accurate upon return. Consider using GetSendCodec() instead and make | |
79 // decisions on that thread with regards to the current codec. | |
80 int32_t SendCodecBlocking(VideoCodec* currentSendCodec) const; | |
81 | |
82 // Same as SendCodecBlocking. Try to use GetSendCodec() instead. | |
83 VideoCodecType SendCodecBlocking() const; | |
84 | 70 |
85 void RegisterExternalEncoder(VideoEncoder* externalEncoder, | 71 void RegisterExternalEncoder(VideoEncoder* externalEncoder, |
86 uint8_t payloadType, | 72 uint8_t payloadType, |
87 bool internalSource); | 73 bool internalSource); |
88 | 74 |
89 int Bitrate(unsigned int* bitrate) const; | 75 int Bitrate(unsigned int* bitrate) const; |
90 int FrameRate(unsigned int* framerate) const; | 76 int FrameRate(unsigned int* framerate) const; |
91 | 77 |
92 int32_t SetChannelParameters(uint32_t target_bitrate, // bits/s. | 78 int32_t SetChannelParameters(uint32_t target_bitrate, // bits/s. |
93 uint8_t lossRate, | 79 uint8_t lossRate, |
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
227 VCMCodecDataBase _codecDataBase GUARDED_BY(_receiveCritSect); | 213 VCMCodecDataBase _codecDataBase GUARDED_BY(_receiveCritSect); |
228 VCMProcessTimer _receiveStatsTimer; | 214 VCMProcessTimer _receiveStatsTimer; |
229 VCMProcessTimer _retransmissionTimer; | 215 VCMProcessTimer _retransmissionTimer; |
230 VCMProcessTimer _keyRequestTimer; | 216 VCMProcessTimer _keyRequestTimer; |
231 QpParser qp_parser_; | 217 QpParser qp_parser_; |
232 }; | 218 }; |
233 | 219 |
234 } // namespace vcm | 220 } // namespace vcm |
235 } // namespace webrtc | 221 } // namespace webrtc |
236 #endif // WEBRTC_MODULES_VIDEO_CODING_VIDEO_CODING_IMPL_H_ | 222 #endif // WEBRTC_MODULES_VIDEO_CODING_VIDEO_CODING_IMPL_H_ |
OLD | NEW |