Chromium Code Reviews| Index: webrtc/video/video_receive_stream.h |
| diff --git a/webrtc/video/video_receive_stream.h b/webrtc/video/video_receive_stream.h |
| index 0efbe75c383116b67b5ab6e3bf77cf389a3dc5ee..e8e28bf3811f8132d093f9bf43452d6b7818c8ad 100644 |
| --- a/webrtc/video/video_receive_stream.h |
| +++ b/webrtc/video/video_receive_stream.h |
| @@ -17,6 +17,7 @@ |
| #include "webrtc/common_video/include/incoming_video_stream.h" |
| #include "webrtc/common_video/libyuv/include/webrtc_libyuv.h" |
| #include "webrtc/modules/rtp_rtcp/include/flexfec_receiver.h" |
| +#include "webrtc/modules/video_coding/frame_buffer2.h" |
| #include "webrtc/modules/video_coding/video_coding_impl.h" |
| #include "webrtc/system_wrappers/include/clock.h" |
| #include "webrtc/video/receive_statistics_proxy.h" |
| @@ -35,6 +36,8 @@ class ProcessThread; |
| class RTPFragmentationHeader; |
| class VoiceEngine; |
| class VieRemb; |
| +class VCMTiming; |
| +class VCMJitterEstimator; |
| namespace internal { |
| @@ -42,7 +45,8 @@ class VideoReceiveStream : public webrtc::VideoReceiveStream, |
| public rtc::VideoSinkInterface<VideoFrame>, |
| public EncodedImageCallback, |
| public NackSender, |
| - public KeyFrameRequestSender { |
| + public KeyFrameRequestSender, |
| + public video_coding::OnCompleteFrameCallback { |
| public: |
| VideoReceiveStream(int num_cpu_cores, |
| CongestionController* congestion_controller, |
| @@ -70,6 +74,10 @@ class VideoReceiveStream : public webrtc::VideoReceiveStream, |
| // Overrides rtc::VideoSinkInterface<VideoFrame>. |
| void OnFrame(const VideoFrame& video_frame) override; |
| + // Implements video_coding::OnCompleteFrameCallback. |
| + void OnCompleteFrame( |
| + std::unique_ptr<video_coding::FrameObject> frame) override; |
| + |
| // Overrides EncodedImageCallback. |
| EncodedImageCallback::Result OnEncodedImage( |
| const EncodedImage& encoded_image, |
| @@ -112,12 +120,18 @@ class VideoReceiveStream : public webrtc::VideoReceiveStream, |
| vcm::VideoReceiver video_receiver_; |
| std::unique_ptr<rtc::VideoSinkInterface<VideoFrame>> incoming_video_stream_; |
| ReceiveStatisticsProxy stats_proxy_; |
| + std::unique_ptr<VCMTiming> timing_; // Jitter buffer experiment |
|
stefan-webrtc
2016/11/08 10:41:35
End with .
Perhaps move it down to line 132?
philipel
2016/11/08 12:28:39
Done, |timing_| has to be initialized before |rtp_
stefan-webrtc
2016/11/08 14:49:27
Acknowledged.
|
| RtpStreamReceiver rtp_stream_receiver_; |
| std::unique_ptr<VideoStreamDecoder> video_stream_decoder_; |
| RtpStreamsSynchronizer rtp_stream_sync_; |
| rtc::CriticalSection ivf_writer_lock_; |
| std::unique_ptr<IvfFileWriter> ivf_writer_ GUARDED_BY(ivf_writer_lock_); |
| + |
| + // Members for the new jitter buffer experiment. |
| + bool jitter_buffer_experiment_; |
| + std::unique_ptr<VCMJitterEstimator> jitter_estimator_; |
| + std::unique_ptr<video_coding::FrameBuffer> frame_buffer_; |
| }; |
| } // namespace internal |
| } // namespace webrtc |