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

Side by Side Diff: webrtc/media/engine/webrtcvideoengine2.h

Issue 2383093002: Delete all use of cricket::VideoFrame and cricket::WebRtcVideoFrame. (Closed)
Patch Set: Deleted a newline. Created 4 years, 1 month 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) 2014 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2014 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
11 #ifndef WEBRTC_MEDIA_ENGINE_WEBRTCVIDEOENGINE2_H_ 11 #ifndef WEBRTC_MEDIA_ENGINE_WEBRTCVIDEOENGINE2_H_
12 #define WEBRTC_MEDIA_ENGINE_WEBRTCVIDEOENGINE2_H_ 12 #define WEBRTC_MEDIA_ENGINE_WEBRTCVIDEOENGINE2_H_
13 13
14 #include <map> 14 #include <map>
15 #include <memory> 15 #include <memory>
16 #include <set> 16 #include <set>
17 #include <string> 17 #include <string>
18 #include <vector> 18 #include <vector>
19 19
20 #include "webrtc/base/asyncinvoker.h" 20 #include "webrtc/base/asyncinvoker.h"
21 #include "webrtc/base/criticalsection.h" 21 #include "webrtc/base/criticalsection.h"
22 #include "webrtc/base/networkroute.h" 22 #include "webrtc/base/networkroute.h"
23 #include "webrtc/base/thread_annotations.h" 23 #include "webrtc/base/thread_annotations.h"
24 #include "webrtc/base/thread_checker.h" 24 #include "webrtc/base/thread_checker.h"
25 #include "webrtc/media/base/videosinkinterface.h" 25 #include "webrtc/media/base/videosinkinterface.h"
26 #include "webrtc/media/base/videosourceinterface.h" 26 #include "webrtc/media/base/videosourceinterface.h"
27 #include "webrtc/call.h" 27 #include "webrtc/call.h"
28 #include "webrtc/media/base/mediaengine.h" 28 #include "webrtc/media/base/mediaengine.h"
29 #include "webrtc/media/base/videoframe.h"
30 #include "webrtc/media/engine/webrtcvideodecoderfactory.h" 29 #include "webrtc/media/engine/webrtcvideodecoderfactory.h"
31 #include "webrtc/media/engine/webrtcvideoencoderfactory.h" 30 #include "webrtc/media/engine/webrtcvideoencoderfactory.h"
32 #include "webrtc/transport.h" 31 #include "webrtc/transport.h"
32 #include "webrtc/video_frame.h"
33 #include "webrtc/video_receive_stream.h" 33 #include "webrtc/video_receive_stream.h"
34 #include "webrtc/video_send_stream.h" 34 #include "webrtc/video_send_stream.h"
35 35
36 namespace webrtc { 36 namespace webrtc {
37 class VideoDecoder; 37 class VideoDecoder;
38 class VideoEncoder; 38 class VideoEncoder;
39 struct MediaConfig; 39 struct MediaConfig;
40 } 40 }
41 41
42 namespace rtc { 42 namespace rtc {
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 virtual ~UnsignalledSsrcHandler() = default; 75 virtual ~UnsignalledSsrcHandler() = default;
76 }; 76 };
77 77
78 // TODO(pbos): Remove, use external handlers only. 78 // TODO(pbos): Remove, use external handlers only.
79 class DefaultUnsignalledSsrcHandler : public UnsignalledSsrcHandler { 79 class DefaultUnsignalledSsrcHandler : public UnsignalledSsrcHandler {
80 public: 80 public:
81 DefaultUnsignalledSsrcHandler(); 81 DefaultUnsignalledSsrcHandler();
82 Action OnUnsignalledSsrc(WebRtcVideoChannel2* channel, 82 Action OnUnsignalledSsrc(WebRtcVideoChannel2* channel,
83 uint32_t ssrc) override; 83 uint32_t ssrc) override;
84 84
85 rtc::VideoSinkInterface<VideoFrame>* GetDefaultSink() const; 85 rtc::VideoSinkInterface<webrtc::VideoFrame>* GetDefaultSink() const;
86 void SetDefaultSink(VideoMediaChannel* channel, 86 void SetDefaultSink(VideoMediaChannel* channel,
87 rtc::VideoSinkInterface<VideoFrame>* sink); 87 rtc::VideoSinkInterface<webrtc::VideoFrame>* sink);
88 virtual ~DefaultUnsignalledSsrcHandler() = default; 88 virtual ~DefaultUnsignalledSsrcHandler() = default;
89 89
90 private: 90 private:
91 uint32_t default_recv_ssrc_; 91 uint32_t default_recv_ssrc_;
92 rtc::VideoSinkInterface<VideoFrame>* default_sink_; 92 rtc::VideoSinkInterface<webrtc::VideoFrame>* default_sink_;
93 }; 93 };
94 94
95 // WebRtcVideoEngine2 is used for the new native WebRTC Video API (webrtc:1667). 95 // WebRtcVideoEngine2 is used for the new native WebRTC Video API (webrtc:1667).
96 class WebRtcVideoEngine2 { 96 class WebRtcVideoEngine2 {
97 public: 97 public:
98 WebRtcVideoEngine2(); 98 WebRtcVideoEngine2();
99 virtual ~WebRtcVideoEngine2(); 99 virtual ~WebRtcVideoEngine2();
100 100
101 // Basic video engine implementation. 101 // Basic video engine implementation.
102 void Init(); 102 void Init();
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
151 webrtc::RtpParameters GetRtpReceiveParameters(uint32_t ssrc) const override; 151 webrtc::RtpParameters GetRtpReceiveParameters(uint32_t ssrc) const override;
152 bool SetRtpReceiveParameters( 152 bool SetRtpReceiveParameters(
153 uint32_t ssrc, 153 uint32_t ssrc,
154 const webrtc::RtpParameters& parameters) override; 154 const webrtc::RtpParameters& parameters) override;
155 bool GetSendCodec(VideoCodec* send_codec) override; 155 bool GetSendCodec(VideoCodec* send_codec) override;
156 bool SetSend(bool send) override; 156 bool SetSend(bool send) override;
157 bool SetVideoSend( 157 bool SetVideoSend(
158 uint32_t ssrc, 158 uint32_t ssrc,
159 bool enable, 159 bool enable,
160 const VideoOptions* options, 160 const VideoOptions* options,
161 rtc::VideoSourceInterface<cricket::VideoFrame>* source) override; 161 rtc::VideoSourceInterface<webrtc::VideoFrame>* source) override;
162 bool AddSendStream(const StreamParams& sp) override; 162 bool AddSendStream(const StreamParams& sp) override;
163 bool RemoveSendStream(uint32_t ssrc) override; 163 bool RemoveSendStream(uint32_t ssrc) override;
164 bool AddRecvStream(const StreamParams& sp) override; 164 bool AddRecvStream(const StreamParams& sp) override;
165 bool AddRecvStream(const StreamParams& sp, bool default_stream); 165 bool AddRecvStream(const StreamParams& sp, bool default_stream);
166 bool RemoveRecvStream(uint32_t ssrc) override; 166 bool RemoveRecvStream(uint32_t ssrc) override;
167 bool SetSink(uint32_t ssrc, 167 bool SetSink(uint32_t ssrc,
168 rtc::VideoSinkInterface<VideoFrame>* sink) override; 168 rtc::VideoSinkInterface<webrtc::VideoFrame>* sink) override;
169 bool GetStats(VideoMediaInfo* info) override; 169 bool GetStats(VideoMediaInfo* info) override;
170 170
171 void OnPacketReceived(rtc::CopyOnWriteBuffer* packet, 171 void OnPacketReceived(rtc::CopyOnWriteBuffer* packet,
172 const rtc::PacketTime& packet_time) override; 172 const rtc::PacketTime& packet_time) override;
173 void OnRtcpReceived(rtc::CopyOnWriteBuffer* packet, 173 void OnRtcpReceived(rtc::CopyOnWriteBuffer* packet,
174 const rtc::PacketTime& packet_time) override; 174 const rtc::PacketTime& packet_time) override;
175 void OnReadyToSend(bool ready) override; 175 void OnReadyToSend(bool ready) override;
176 void OnNetworkRouteChanged(const std::string& transport_name, 176 void OnNetworkRouteChanged(const std::string& transport_name,
177 const rtc::NetworkRoute& network_route) override; 177 const rtc::NetworkRoute& network_route) override;
178 void SetInterface(NetworkInterface* iface) override; 178 void SetInterface(NetworkInterface* iface) override;
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
233 EXCLUSIVE_LOCKS_REQUIRED(stream_crit_); 233 EXCLUSIVE_LOCKS_REQUIRED(stream_crit_);
234 void DeleteReceiveStream(WebRtcVideoReceiveStream* stream) 234 void DeleteReceiveStream(WebRtcVideoReceiveStream* stream)
235 EXCLUSIVE_LOCKS_REQUIRED(stream_crit_); 235 EXCLUSIVE_LOCKS_REQUIRED(stream_crit_);
236 236
237 static std::string CodecSettingsVectorToString( 237 static std::string CodecSettingsVectorToString(
238 const std::vector<VideoCodecSettings>& codecs); 238 const std::vector<VideoCodecSettings>& codecs);
239 239
240 // Wrapper for the sender part, this is where the source is connected and 240 // Wrapper for the sender part, this is where the source is connected and
241 // frames are then converted from cricket frames to webrtc frames. 241 // frames are then converted from cricket frames to webrtc frames.
242 class WebRtcVideoSendStream 242 class WebRtcVideoSendStream
243 : public rtc::VideoSinkInterface<cricket::VideoFrame>, 243 : public rtc::VideoSinkInterface<webrtc::VideoFrame>,
244 public rtc::VideoSourceInterface<webrtc::VideoFrame>, 244 public rtc::VideoSourceInterface<webrtc::VideoFrame>,
245 public webrtc::LoadObserver { 245 public webrtc::LoadObserver {
246 public: 246 public:
247 WebRtcVideoSendStream( 247 WebRtcVideoSendStream(
248 webrtc::Call* call, 248 webrtc::Call* call,
249 const StreamParams& sp, 249 const StreamParams& sp,
250 webrtc::VideoSendStream::Config config, 250 webrtc::VideoSendStream::Config config,
251 const VideoOptions& options, 251 const VideoOptions& options,
252 WebRtcVideoEncoderFactory* external_encoder_factory, 252 WebRtcVideoEncoderFactory* external_encoder_factory,
253 bool enable_cpu_overuse_detection, 253 bool enable_cpu_overuse_detection,
254 int max_bitrate_bps, 254 int max_bitrate_bps,
255 const rtc::Optional<VideoCodecSettings>& codec_settings, 255 const rtc::Optional<VideoCodecSettings>& codec_settings,
256 const rtc::Optional<std::vector<webrtc::RtpExtension>>& rtp_extensions, 256 const rtc::Optional<std::vector<webrtc::RtpExtension>>& rtp_extensions,
257 const VideoSendParameters& send_params); 257 const VideoSendParameters& send_params);
258 virtual ~WebRtcVideoSendStream(); 258 virtual ~WebRtcVideoSendStream();
259 259
260 void SetSendParameters(const ChangedSendParameters& send_params); 260 void SetSendParameters(const ChangedSendParameters& send_params);
261 bool SetRtpParameters(const webrtc::RtpParameters& parameters); 261 bool SetRtpParameters(const webrtc::RtpParameters& parameters);
262 webrtc::RtpParameters GetRtpParameters() const; 262 webrtc::RtpParameters GetRtpParameters() const;
263 263
264 // Implements rtc::VideoSourceInterface<webrtc::VideoFrame>. 264 // Implements rtc::VideoSourceInterface<webrtc::VideoFrame>.
265 // WebRtcVideoSendStream acts as a source to the webrtc::VideoSendStream 265 // WebRtcVideoSendStream acts as a source to the webrtc::VideoSendStream
266 // in |stream_|. The reason is that WebRtcVideoSendStream receives 266 // in |stream_|.
267 // cricket::VideoFrames and forwards webrtc::VideoFrames to |source_|.
268 // TODO(perkj, nisse): Refactor WebRtcVideoSendStream to directly connect 267 // TODO(perkj, nisse): Refactor WebRtcVideoSendStream to directly connect
269 // the camera input |source_| 268 // the camera input |source_|
270 void AddOrUpdateSink(VideoSinkInterface<webrtc::VideoFrame>* sink, 269 void AddOrUpdateSink(VideoSinkInterface<webrtc::VideoFrame>* sink,
271 const rtc::VideoSinkWants& wants) override; 270 const rtc::VideoSinkWants& wants) override;
272 void RemoveSink(VideoSinkInterface<webrtc::VideoFrame>* sink) override; 271 void RemoveSink(VideoSinkInterface<webrtc::VideoFrame>* sink) override;
273 272
274 void OnFrame(const cricket::VideoFrame& frame) override; 273 void OnFrame(const webrtc::VideoFrame& frame) override;
275 bool SetVideoSend(bool mute, 274 bool SetVideoSend(bool mute,
276 const VideoOptions* options, 275 const VideoOptions* options,
277 rtc::VideoSourceInterface<cricket::VideoFrame>* source); 276 rtc::VideoSourceInterface<webrtc::VideoFrame>* source);
278 void DisconnectSource(); 277 void DisconnectSource();
279 278
280 void SetSend(bool send); 279 void SetSend(bool send);
281 280
282 // Implements webrtc::LoadObserver. 281 // Implements webrtc::LoadObserver.
283 void OnLoadUpdate(Load load) override; 282 void OnLoadUpdate(Load load) override;
284 283
285 const std::vector<uint32_t>& GetSsrcs() const; 284 const std::vector<uint32_t>& GetSsrcs() const;
286 VideoSenderInfo GetVideoSenderInfo(bool log_stats); 285 VideoSenderInfo GetVideoSenderInfo(bool log_stats);
287 void FillBandwidthEstimationInfo(BandwidthEstimationInfo* bwe_info); 286 void FillBandwidthEstimationInfo(BandwidthEstimationInfo* bwe_info);
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
360 // Counter used for deciding if the video resolution is currently 359 // Counter used for deciding if the video resolution is currently
361 // restricted by CPU usage. It is reset if |source_| is changed. 360 // restricted by CPU usage. It is reset if |source_| is changed.
362 int cpu_restricted_counter_; 361 int cpu_restricted_counter_;
363 // Total number of times resolution as been requested to be changed due to 362 // Total number of times resolution as been requested to be changed due to
364 // CPU adaptation. 363 // CPU adaptation.
365 int number_of_cpu_adapt_changes_ ACCESS_ON(&thread_checker_); 364 int number_of_cpu_adapt_changes_ ACCESS_ON(&thread_checker_);
366 // Total number of frames sent to |stream_|. 365 // Total number of frames sent to |stream_|.
367 int frame_count_ GUARDED_BY(lock_); 366 int frame_count_ GUARDED_BY(lock_);
368 // Total number of cpu restricted frames sent to |stream_|. 367 // Total number of cpu restricted frames sent to |stream_|.
369 int cpu_restricted_frame_count_ GUARDED_BY(lock_); 368 int cpu_restricted_frame_count_ GUARDED_BY(lock_);
370 rtc::VideoSourceInterface<cricket::VideoFrame>* source_ 369 rtc::VideoSourceInterface<webrtc::VideoFrame>* source_
371 ACCESS_ON(&thread_checker_); 370 ACCESS_ON(&thread_checker_);
372 WebRtcVideoEncoderFactory* const external_encoder_factory_ 371 WebRtcVideoEncoderFactory* const external_encoder_factory_
373 ACCESS_ON(&thread_checker_); 372 ACCESS_ON(&thread_checker_);
374 373
375 rtc::CriticalSection lock_; 374 rtc::CriticalSection lock_;
376 webrtc::VideoSendStream* stream_ ACCESS_ON(&thread_checker_); 375 webrtc::VideoSendStream* stream_ ACCESS_ON(&thread_checker_);
377 rtc::VideoSinkInterface<webrtc::VideoFrame>* encoder_sink_ 376 rtc::VideoSinkInterface<webrtc::VideoFrame>* encoder_sink_
378 GUARDED_BY(lock_); 377 GUARDED_BY(lock_);
379 // Contains settings that are the same for all streams in the MediaChannel, 378 // Contains settings that are the same for all streams in the MediaChannel,
380 // such as codecs, header extensions, and the global bitrate limit for the 379 // such as codecs, header extensions, and the global bitrate limit for the
381 // entire channel. 380 // entire channel.
382 VideoSendStreamParameters parameters_ ACCESS_ON(&thread_checker_); 381 VideoSendStreamParameters parameters_ ACCESS_ON(&thread_checker_);
383 // Contains settings that are unique for each stream, such as max_bitrate. 382 // Contains settings that are unique for each stream, such as max_bitrate.
384 // Does *not* contain codecs, however. 383 // Does *not* contain codecs, however.
385 // TODO(skvlad): Move ssrcs_ and ssrc_groups_ into rtp_parameters_. 384 // TODO(skvlad): Move ssrcs_ and ssrc_groups_ into rtp_parameters_.
386 // TODO(skvlad): Combine parameters_ and rtp_parameters_ once we have only 385 // TODO(skvlad): Combine parameters_ and rtp_parameters_ once we have only
387 // one stream per MediaChannel. 386 // one stream per MediaChannel.
388 webrtc::RtpParameters rtp_parameters_ ACCESS_ON(&thread_checker_); 387 webrtc::RtpParameters rtp_parameters_ ACCESS_ON(&thread_checker_);
389 AllocatedEncoder allocated_encoder_ ACCESS_ON(&thread_checker_); 388 AllocatedEncoder allocated_encoder_ ACCESS_ON(&thread_checker_);
390 VideoFrameInfo last_frame_info_ GUARDED_BY(lock_); 389 VideoFrameInfo last_frame_info_ GUARDED_BY(lock_);
391 390
392 bool sending_ ACCESS_ON(&thread_checker_); 391 bool sending_ ACCESS_ON(&thread_checker_);
393 392
394 // The timestamp of the last frame received 393 // The timestamp of the last frame received
395 // Used to generate timestamp for the black frame when source is removed 394 // Used to generate timestamp for the black frame when source is removed
396 int64_t last_frame_timestamp_us_ GUARDED_BY(lock_); 395 int64_t last_frame_timestamp_us_ GUARDED_BY(lock_);
397 }; 396 };
398 397
399 // Wrapper for the receiver part, contains configs etc. that are needed to 398 // Wrapper for the receiver part, contains configs etc. that are needed to
400 // reconstruct the underlying VideoReceiveStream. Also serves as a wrapper 399 // reconstruct the underlying VideoReceiveStream.
401 // between rtc::VideoSinkInterface<webrtc::VideoFrame> and
402 // rtc::VideoSinkInterface<cricket::VideoFrame>.
403 class WebRtcVideoReceiveStream 400 class WebRtcVideoReceiveStream
404 : public rtc::VideoSinkInterface<webrtc::VideoFrame> { 401 : public rtc::VideoSinkInterface<webrtc::VideoFrame> {
405 public: 402 public:
406 WebRtcVideoReceiveStream( 403 WebRtcVideoReceiveStream(
407 webrtc::Call* call, 404 webrtc::Call* call,
408 const StreamParams& sp, 405 const StreamParams& sp,
409 webrtc::VideoReceiveStream::Config config, 406 webrtc::VideoReceiveStream::Config config,
410 WebRtcVideoDecoderFactory* external_decoder_factory, 407 WebRtcVideoDecoderFactory* external_decoder_factory,
411 bool default_stream, 408 bool default_stream,
412 const std::vector<VideoCodecSettings>& recv_codecs, 409 const std::vector<VideoCodecSettings>& recv_codecs,
413 bool red_disabled_by_remote_side); 410 bool red_disabled_by_remote_side);
414 ~WebRtcVideoReceiveStream(); 411 ~WebRtcVideoReceiveStream();
415 412
416 const std::vector<uint32_t>& GetSsrcs() const; 413 const std::vector<uint32_t>& GetSsrcs() const;
417 rtc::Optional<uint32_t> GetFirstPrimarySsrc() const; 414 rtc::Optional<uint32_t> GetFirstPrimarySsrc() const;
418 415
419 void SetLocalSsrc(uint32_t local_ssrc); 416 void SetLocalSsrc(uint32_t local_ssrc);
420 // TODO(deadbeef): Move these feedback parameters into the recv parameters. 417 // TODO(deadbeef): Move these feedback parameters into the recv parameters.
421 void SetFeedbackParameters(bool nack_enabled, 418 void SetFeedbackParameters(bool nack_enabled,
422 bool remb_enabled, 419 bool remb_enabled,
423 bool transport_cc_enabled, 420 bool transport_cc_enabled,
424 webrtc::RtcpMode rtcp_mode); 421 webrtc::RtcpMode rtcp_mode);
425 void SetRecvParameters(const ChangedRecvParameters& recv_params); 422 void SetRecvParameters(const ChangedRecvParameters& recv_params);
426 423
427 void OnFrame(const webrtc::VideoFrame& frame) override; 424 void OnFrame(const webrtc::VideoFrame& frame) override;
428 bool IsDefaultStream() const; 425 bool IsDefaultStream() const;
429 426
430 void SetSink(rtc::VideoSinkInterface<cricket::VideoFrame>* sink); 427 void SetSink(rtc::VideoSinkInterface<webrtc::VideoFrame>* sink);
431 428
432 VideoReceiverInfo GetVideoReceiverInfo(bool log_stats); 429 VideoReceiverInfo GetVideoReceiverInfo(bool log_stats);
433 430
434 // Used to disable RED/FEC when the remote description doesn't contain those 431 // Used to disable RED/FEC when the remote description doesn't contain those
435 // codecs. This is needed to be able to work around an RTX bug which is only 432 // codecs. This is needed to be able to work around an RTX bug which is only
436 // happening if the remote side doesn't send RED, but the local side is 433 // happening if the remote side doesn't send RED, but the local side is
437 // configured to receive RED. 434 // configured to receive RED.
438 // TODO(holmer): Remove this after a couple of Chrome versions, M53-54 435 // TODO(holmer): Remove this after a couple of Chrome versions, M53-54
439 // time frame. 436 // time frame.
440 void SetUlpfecDisabledRemotely(bool disable); 437 void SetUlpfecDisabledRemotely(bool disable);
(...skipping 26 matching lines...) Expand all
467 464
468 webrtc::VideoReceiveStream* stream_; 465 webrtc::VideoReceiveStream* stream_;
469 const bool default_stream_; 466 const bool default_stream_;
470 webrtc::VideoReceiveStream::Config config_; 467 webrtc::VideoReceiveStream::Config config_;
471 bool red_disabled_by_remote_side_; 468 bool red_disabled_by_remote_side_;
472 469
473 WebRtcVideoDecoderFactory* const external_decoder_factory_; 470 WebRtcVideoDecoderFactory* const external_decoder_factory_;
474 std::vector<AllocatedDecoder> allocated_decoders_; 471 std::vector<AllocatedDecoder> allocated_decoders_;
475 472
476 rtc::CriticalSection sink_lock_; 473 rtc::CriticalSection sink_lock_;
477 rtc::VideoSinkInterface<cricket::VideoFrame>* sink_ GUARDED_BY(sink_lock_); 474 rtc::VideoSinkInterface<webrtc::VideoFrame>* sink_ GUARDED_BY(sink_lock_);
478 // Expands remote RTP timestamps to int64_t to be able to estimate how long 475 // Expands remote RTP timestamps to int64_t to be able to estimate how long
479 // the stream has been running. 476 // the stream has been running.
480 rtc::TimestampWrapAroundHandler timestamp_wraparound_handler_ 477 rtc::TimestampWrapAroundHandler timestamp_wraparound_handler_
481 GUARDED_BY(sink_lock_); 478 GUARDED_BY(sink_lock_);
482 int64_t first_frame_timestamp_ GUARDED_BY(sink_lock_); 479 int64_t first_frame_timestamp_ GUARDED_BY(sink_lock_);
483 // Start NTP time is estimated as current remote NTP time (estimated from 480 // Start NTP time is estimated as current remote NTP time (estimated from
484 // RTCP) minus the elapsed time, as soon as remote NTP time is available. 481 // RTCP) minus the elapsed time, as soon as remote NTP time is available.
485 int64_t estimated_remote_start_ntp_time_ms_ GUARDED_BY(sink_lock_); 482 int64_t estimated_remote_start_ntp_time_ms_ GUARDED_BY(sink_lock_);
486 }; 483 };
487 484
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
537 VideoSendParameters send_params_; 534 VideoSendParameters send_params_;
538 VideoOptions default_send_options_; 535 VideoOptions default_send_options_;
539 VideoRecvParameters recv_params_; 536 VideoRecvParameters recv_params_;
540 bool red_disabled_by_remote_side_; 537 bool red_disabled_by_remote_side_;
541 int64_t last_stats_log_ms_; 538 int64_t last_stats_log_ms_;
542 }; 539 };
543 540
544 } // namespace cricket 541 } // namespace cricket
545 542
546 #endif // WEBRTC_MEDIA_ENGINE_WEBRTCVIDEOENGINE2_H_ 543 #endif // WEBRTC_MEDIA_ENGINE_WEBRTCVIDEOENGINE2_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698