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 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
156 | 156 |
157 int32_t RegisterReceiveCodec(const VideoCodec* receiveCodec, | 157 int32_t RegisterReceiveCodec(const VideoCodec* receiveCodec, |
158 int32_t numberOfCores, | 158 int32_t numberOfCores, |
159 bool requireKeyFrame); | 159 bool requireKeyFrame); |
160 | 160 |
161 void RegisterExternalDecoder(VideoDecoder* externalDecoder, | 161 void RegisterExternalDecoder(VideoDecoder* externalDecoder, |
162 uint8_t payloadType); | 162 uint8_t payloadType); |
163 int32_t RegisterReceiveCallback(VCMReceiveCallback* receiveCallback); | 163 int32_t RegisterReceiveCallback(VCMReceiveCallback* receiveCallback); |
164 int32_t RegisterReceiveStatisticsCallback( | 164 int32_t RegisterReceiveStatisticsCallback( |
165 VCMReceiveStatisticsCallback* receiveStats); | 165 VCMReceiveStatisticsCallback* receiveStats); |
166 int32_t RegisterDecoderTimingCallback( | |
167 VCMDecoderTimingCallback* decoderTiming); | |
168 int32_t RegisterFrameTypeCallback(VCMFrameTypeCallback* frameTypeCallback); | 166 int32_t RegisterFrameTypeCallback(VCMFrameTypeCallback* frameTypeCallback); |
169 int32_t RegisterPacketRequestCallback(VCMPacketRequestCallback* callback); | 167 int32_t RegisterPacketRequestCallback(VCMPacketRequestCallback* callback); |
170 | 168 |
171 int32_t Decode(uint16_t maxWaitTimeMs); | 169 int32_t Decode(uint16_t maxWaitTimeMs); |
172 | 170 |
173 int32_t Decode(const webrtc::VCMEncodedFrame* frame); | 171 int32_t Decode(const webrtc::VCMEncodedFrame* frame); |
174 | 172 |
175 // Called on the decoder thread when thread is exiting. | 173 // Called on the decoder thread when thread is exiting. |
176 void DecodingStopped(); | 174 void DecodingStopped(); |
177 | 175 |
(...skipping 30 matching lines...) Expand all Loading... |
208 private: | 206 private: |
209 rtc::ThreadChecker construction_thread_; | 207 rtc::ThreadChecker construction_thread_; |
210 Clock* const clock_; | 208 Clock* const clock_; |
211 rtc::CriticalSection process_crit_; | 209 rtc::CriticalSection process_crit_; |
212 rtc::CriticalSection receive_crit_; | 210 rtc::CriticalSection receive_crit_; |
213 VCMTiming* _timing; | 211 VCMTiming* _timing; |
214 VCMReceiver _receiver; | 212 VCMReceiver _receiver; |
215 VCMDecodedFrameCallback _decodedFrameCallback; | 213 VCMDecodedFrameCallback _decodedFrameCallback; |
216 VCMFrameTypeCallback* _frameTypeCallback GUARDED_BY(process_crit_); | 214 VCMFrameTypeCallback* _frameTypeCallback GUARDED_BY(process_crit_); |
217 VCMReceiveStatisticsCallback* _receiveStatsCallback GUARDED_BY(process_crit_); | 215 VCMReceiveStatisticsCallback* _receiveStatsCallback GUARDED_BY(process_crit_); |
218 VCMDecoderTimingCallback* _decoderTimingCallback GUARDED_BY(process_crit_); | |
219 VCMPacketRequestCallback* _packetRequestCallback GUARDED_BY(process_crit_); | 216 VCMPacketRequestCallback* _packetRequestCallback GUARDED_BY(process_crit_); |
220 | 217 |
221 VCMFrameBuffer _frameFromFile; | 218 VCMFrameBuffer _frameFromFile; |
222 bool _scheduleKeyRequest GUARDED_BY(process_crit_); | 219 bool _scheduleKeyRequest GUARDED_BY(process_crit_); |
223 bool drop_frames_until_keyframe_ GUARDED_BY(process_crit_); | 220 bool drop_frames_until_keyframe_ GUARDED_BY(process_crit_); |
224 size_t max_nack_list_size_ GUARDED_BY(process_crit_); | 221 size_t max_nack_list_size_ GUARDED_BY(process_crit_); |
225 | 222 |
226 VCMCodecDataBase _codecDataBase GUARDED_BY(receive_crit_); | 223 VCMCodecDataBase _codecDataBase GUARDED_BY(receive_crit_); |
227 EncodedImageCallback* pre_decode_image_callback_; | 224 EncodedImageCallback* pre_decode_image_callback_; |
228 | 225 |
229 VCMProcessTimer _receiveStatsTimer; | 226 VCMProcessTimer _receiveStatsTimer; |
230 VCMProcessTimer _retransmissionTimer; | 227 VCMProcessTimer _retransmissionTimer; |
231 VCMProcessTimer _keyRequestTimer; | 228 VCMProcessTimer _keyRequestTimer; |
232 QpParser qp_parser_; | 229 QpParser qp_parser_; |
233 ThreadUnsafeOneTimeEvent first_frame_received_; | 230 ThreadUnsafeOneTimeEvent first_frame_received_; |
234 }; | 231 }; |
235 | 232 |
236 } // namespace vcm | 233 } // namespace vcm |
237 } // namespace webrtc | 234 } // namespace webrtc |
238 #endif // WEBRTC_MODULES_VIDEO_CODING_VIDEO_CODING_IMPL_H_ | 235 #endif // WEBRTC_MODULES_VIDEO_CODING_VIDEO_CODING_IMPL_H_ |
OLD | NEW |