| Index: webrtc/modules/video_coding/video_coding_impl.h
|
| diff --git a/webrtc/modules/video_coding/video_coding_impl.h b/webrtc/modules/video_coding/video_coding_impl.h
|
| index 581eb4ecdeebcbe97a49b11d1ef6009f9731805c..f66e3aa3d982908a1b63cf725ca878dcd09d0de2 100644
|
| --- a/webrtc/modules/video_coding/video_coding_impl.h
|
| +++ b/webrtc/modules/video_coding/video_coding_impl.h
|
| @@ -27,9 +27,9 @@
|
| #include "webrtc/modules/video_coding/media_optimization.h"
|
| #include "webrtc/modules/video_coding/receiver.h"
|
| #include "webrtc/modules/video_coding/timing.h"
|
| +#include "webrtc/modules/video_coding/utility/ivf_file_writer.h"
|
| #include "webrtc/modules/video_coding/utility/qp_parser.h"
|
| #include "webrtc/system_wrappers/include/clock.h"
|
| -#include "webrtc/system_wrappers/include/critical_section_wrapper.h"
|
|
|
| namespace webrtc {
|
|
|
| @@ -103,12 +103,12 @@ class VideoSender {
|
|
|
| Clock* const clock_;
|
|
|
| - std::unique_ptr<CriticalSectionWrapper> process_crit_sect_;
|
| + rtc::CriticalSection process_lock_;
|
| rtc::CriticalSection encoder_crit_;
|
| VCMGenericEncoder* _encoder;
|
| VCMEncodedFrameCallback _encodedFrameCallback GUARDED_BY(encoder_crit_);
|
| media_optimization::MediaOptimization _mediaOpt;
|
| - VCMSendStatisticsCallback* _sendStatsCallback GUARDED_BY(process_crit_sect_);
|
| + VCMSendStatisticsCallback* _sendStatsCallback GUARDED_BY(process_lock_);
|
| VCMCodecDataBase _codecDataBase GUARDED_BY(encoder_crit_);
|
| bool frame_dropper_enabled_ GUARDED_BY(encoder_crit_);
|
| VCMProcessTimer _sendStatsTimer;
|
| @@ -184,43 +184,44 @@ class VideoReceiver {
|
|
|
| protected:
|
| int32_t Decode(const webrtc::VCMEncodedFrame& frame)
|
| - EXCLUSIVE_LOCKS_REQUIRED(_receiveCritSect);
|
| + EXCLUSIVE_LOCKS_REQUIRED(receive_lock_);
|
| int32_t RequestKeyFrame();
|
| int32_t RequestSliceLossIndication(const uint64_t pictureID) const;
|
|
|
| private:
|
| + static const bool kEnableFrameRecording = false;
|
| +
|
| Clock* const clock_;
|
| - std::unique_ptr<CriticalSectionWrapper> process_crit_sect_;
|
| - CriticalSectionWrapper* _receiveCritSect;
|
| + rtc::CriticalSection process_lock_;
|
| + rtc::CriticalSection receive_lock_;
|
| VCMTiming _timing;
|
| VCMReceiver _receiver;
|
| VCMDecodedFrameCallback _decodedFrameCallback;
|
| - VCMFrameTypeCallback* _frameTypeCallback GUARDED_BY(process_crit_sect_);
|
| - VCMReceiveStatisticsCallback* _receiveStatsCallback
|
| - GUARDED_BY(process_crit_sect_);
|
| - VCMDecoderTimingCallback* _decoderTimingCallback
|
| - GUARDED_BY(process_crit_sect_);
|
| - VCMPacketRequestCallback* _packetRequestCallback
|
| - GUARDED_BY(process_crit_sect_);
|
| + VCMFrameTypeCallback* _frameTypeCallback GUARDED_BY(process_lock_);
|
| + VCMReceiveStatisticsCallback* _receiveStatsCallback GUARDED_BY(process_lock_);
|
| + VCMDecoderTimingCallback* _decoderTimingCallback GUARDED_BY(process_lock_);
|
| + VCMPacketRequestCallback* _packetRequestCallback GUARDED_BY(process_lock_);
|
| VCMRenderBufferSizeCallback* render_buffer_callback_
|
| - GUARDED_BY(process_crit_sect_);
|
| + GUARDED_BY(process_lock_);
|
| VCMGenericDecoder* _decoder;
|
| -#ifdef DEBUG_DECODER_BIT_STREAM
|
| - FILE* _bitStreamBeforeDecoder;
|
| -#endif
|
| +
|
| VCMFrameBuffer _frameFromFile;
|
| - bool _scheduleKeyRequest GUARDED_BY(process_crit_sect_);
|
| - bool drop_frames_until_keyframe_ GUARDED_BY(process_crit_sect_);
|
| - size_t max_nack_list_size_ GUARDED_BY(process_crit_sect_);
|
| + bool _scheduleKeyRequest GUARDED_BY(process_lock_);
|
| + bool drop_frames_until_keyframe_ GUARDED_BY(process_lock_);
|
| + size_t max_nack_list_size_ GUARDED_BY(process_lock_);
|
|
|
| - VCMCodecDataBase _codecDataBase GUARDED_BY(_receiveCritSect);
|
| - EncodedImageCallback* pre_decode_image_callback_ GUARDED_BY(_receiveCritSect);
|
| + VCMCodecDataBase _codecDataBase GUARDED_BY(receive_lock_);
|
| + EncodedImageCallback* pre_decode_image_callback_ GUARDED_BY(receive_lock_);
|
|
|
| VCMProcessTimer _receiveStatsTimer;
|
| VCMProcessTimer _retransmissionTimer;
|
| VCMProcessTimer _keyRequestTimer;
|
| QpParser qp_parser_;
|
| ThreadUnsafeOneTimeEvent first_frame_received_;
|
| +
|
| + rtc::CriticalSection file_write_lock_;
|
| + uint32_t ssrc_;
|
| + std::unique_ptr<IvfFileWriter> file_writer_ GUARDED_BY(file_write_lock_);
|
| };
|
|
|
| } // namespace vcm
|
|
|