Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(341)

Side by Side Diff: webrtc/video/video_receive_stream.h

Issue 3007303002: Revert of Use RtxReceiveStream. (Closed)
Patch Set: Created 3 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2013 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 20 matching lines...) Expand all
31 #include "webrtc/video/video_stream_decoder.h" 31 #include "webrtc/video/video_stream_decoder.h"
32 32
33 namespace webrtc { 33 namespace webrtc {
34 34
35 class CallStats; 35 class CallStats;
36 class IvfFileWriter; 36 class IvfFileWriter;
37 class ProcessThread; 37 class ProcessThread;
38 class RTPFragmentationHeader; 38 class RTPFragmentationHeader;
39 class RtpStreamReceiverInterface; 39 class RtpStreamReceiverInterface;
40 class RtpStreamReceiverControllerInterface; 40 class RtpStreamReceiverControllerInterface;
41 class RtxReceiveStream;
42 class VCMTiming; 41 class VCMTiming;
43 class VCMJitterEstimator; 42 class VCMJitterEstimator;
44 43
45 namespace internal { 44 namespace internal {
46 45
47 class VideoReceiveStream : public webrtc::VideoReceiveStream, 46 class VideoReceiveStream : public webrtc::VideoReceiveStream,
48 public rtc::VideoSinkInterface<VideoFrame>, 47 public rtc::VideoSinkInterface<VideoFrame>,
49 public EncodedImageCallback, 48 public EncodedImageCallback,
50 public NackSender, 49 public NackSender,
51 public KeyFrameRequestSender, 50 public KeyFrameRequestSender,
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
119 TransportAdapter transport_adapter_; 118 TransportAdapter transport_adapter_;
120 const VideoReceiveStream::Config config_; 119 const VideoReceiveStream::Config config_;
121 const int num_cpu_cores_; 120 const int num_cpu_cores_;
122 ProcessThread* const process_thread_; 121 ProcessThread* const process_thread_;
123 Clock* const clock_; 122 Clock* const clock_;
124 123
125 rtc::PlatformThread decode_thread_; 124 rtc::PlatformThread decode_thread_;
126 125
127 CallStats* const call_stats_; 126 CallStats* const call_stats_;
128 127
129 // Shared by media and rtx stream receivers, since the latter has no RtpRtcp
130 // module of its own.
131 const std::unique_ptr<ReceiveStatistics> rtp_receive_statistics_;
132
133 std::unique_ptr<VCMTiming> timing_; // Jitter buffer experiment. 128 std::unique_ptr<VCMTiming> timing_; // Jitter buffer experiment.
134 vcm::VideoReceiver video_receiver_; 129 vcm::VideoReceiver video_receiver_;
135 std::unique_ptr<rtc::VideoSinkInterface<VideoFrame>> incoming_video_stream_; 130 std::unique_ptr<rtc::VideoSinkInterface<VideoFrame>> incoming_video_stream_;
136 ReceiveStatisticsProxy stats_proxy_; 131 ReceiveStatisticsProxy stats_proxy_;
137 RtpVideoStreamReceiver rtp_video_stream_receiver_; 132 RtpVideoStreamReceiver rtp_video_stream_receiver_;
138 std::unique_ptr<VideoStreamDecoder> video_stream_decoder_; 133 std::unique_ptr<VideoStreamDecoder> video_stream_decoder_;
139 RtpStreamsSynchronizer rtp_stream_sync_; 134 RtpStreamsSynchronizer rtp_stream_sync_;
140 135
141 rtc::CriticalSection ivf_writer_lock_; 136 rtc::CriticalSection ivf_writer_lock_;
142 std::unique_ptr<IvfFileWriter> ivf_writer_ GUARDED_BY(ivf_writer_lock_); 137 std::unique_ptr<IvfFileWriter> ivf_writer_ GUARDED_BY(ivf_writer_lock_);
143 138
144 // Members for the new jitter buffer experiment. 139 // Members for the new jitter buffer experiment.
145 std::unique_ptr<VCMJitterEstimator> jitter_estimator_; 140 std::unique_ptr<VCMJitterEstimator> jitter_estimator_;
146 std::unique_ptr<video_coding::FrameBuffer> frame_buffer_; 141 std::unique_ptr<video_coding::FrameBuffer> frame_buffer_;
147 142
148 std::unique_ptr<RtpStreamReceiverInterface> media_receiver_; 143 std::unique_ptr<RtpStreamReceiverInterface> media_receiver_;
149 std::unique_ptr<RtxReceiveStream> rtx_receive_stream_;
150 std::unique_ptr<RtpStreamReceiverInterface> rtx_receiver_; 144 std::unique_ptr<RtpStreamReceiverInterface> rtx_receiver_;
151 145
152 // Whenever we are in an undecodable state (stream has just started or due to 146 // Whenever we are in an undecodable state (stream has just started or due to
153 // a decoding error) we require a keyframe to restart the stream. 147 // a decoding error) we require a keyframe to restart the stream.
154 bool keyframe_required_ = true; 148 bool keyframe_required_ = true;
155 149
156 // If we have successfully decoded any frame. 150 // If we have successfully decoded any frame.
157 bool frame_decoded_ = false; 151 bool frame_decoded_ = false;
158 }; 152 };
159 } // namespace internal 153 } // namespace internal
160 } // namespace webrtc 154 } // namespace webrtc
161 155
162 #endif // WEBRTC_VIDEO_VIDEO_RECEIVE_STREAM_H_ 156 #endif // WEBRTC_VIDEO_VIDEO_RECEIVE_STREAM_H_
OLDNEW
« no previous file with comments | « webrtc/video/rtp_video_stream_receiver_unittest.cc ('k') | webrtc/video/video_receive_stream.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698