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 |