OLD | NEW |
1 /* | 1 /* |
2 * libjingle | 2 * libjingle |
3 * Copyright 2014 Google Inc. | 3 * Copyright 2014 Google Inc. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions are met: | 6 * modification, are permitted provided that the following conditions are met: |
7 * | 7 * |
8 * 1. Redistributions of source code must retain the above copyright notice, | 8 * 1. Redistributions of source code must retain the above copyright notice, |
9 * this list of conditions and the following disclaimer. | 9 * this list of conditions and the following disclaimer. |
10 * 2. Redistributions in binary form must reproduce the above copyright notice, | 10 * 2. Redistributions in binary form must reproduce the above copyright notice, |
(...skipping 375 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
386 VideoSendStreamParameters parameters_ GUARDED_BY(lock_); | 386 VideoSendStreamParameters parameters_ GUARDED_BY(lock_); |
387 VideoEncoderSettings encoder_settings_ GUARDED_BY(lock_); | 387 VideoEncoderSettings encoder_settings_ GUARDED_BY(lock_); |
388 AllocatedEncoder allocated_encoder_ GUARDED_BY(lock_); | 388 AllocatedEncoder allocated_encoder_ GUARDED_BY(lock_); |
389 Dimensions last_dimensions_ GUARDED_BY(lock_); | 389 Dimensions last_dimensions_ GUARDED_BY(lock_); |
390 | 390 |
391 VideoCapturer* capturer_ GUARDED_BY(lock_); | 391 VideoCapturer* capturer_ GUARDED_BY(lock_); |
392 bool sending_ GUARDED_BY(lock_); | 392 bool sending_ GUARDED_BY(lock_); |
393 bool muted_ GUARDED_BY(lock_); | 393 bool muted_ GUARDED_BY(lock_); |
394 VideoFormat format_ GUARDED_BY(lock_); | 394 VideoFormat format_ GUARDED_BY(lock_); |
395 int old_adapt_changes_ GUARDED_BY(lock_); | 395 int old_adapt_changes_ GUARDED_BY(lock_); |
| 396 |
| 397 // The timestamp of the first frame received |
| 398 // Used to generate the timestamps of subsequent frames |
| 399 int64_t first_frame_timestamp_ms_ GUARDED_BY(lock_); |
| 400 |
| 401 // The timestamp of the last frame received |
| 402 // Used to generate timestamp for the black frame when capturer is removed |
| 403 int64_t last_frame_timestamp_ms_ GUARDED_BY(lock_); |
396 }; | 404 }; |
397 | 405 |
398 // Wrapper for the receiver part, contains configs etc. that are needed to | 406 // Wrapper for the receiver part, contains configs etc. that are needed to |
399 // reconstruct the underlying VideoReceiveStream. Also serves as a wrapper | 407 // reconstruct the underlying VideoReceiveStream. Also serves as a wrapper |
400 // between webrtc::VideoRenderer and cricket::VideoRenderer. | 408 // between webrtc::VideoRenderer and cricket::VideoRenderer. |
401 class WebRtcVideoReceiveStream : public webrtc::VideoRenderer { | 409 class WebRtcVideoReceiveStream : public webrtc::VideoRenderer { |
402 public: | 410 public: |
403 WebRtcVideoReceiveStream( | 411 WebRtcVideoReceiveStream( |
404 webrtc::Call* call, | 412 webrtc::Call* call, |
405 const StreamParams& sp, | 413 const StreamParams& sp, |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
527 WebRtcVideoDecoderFactory* const external_decoder_factory_; | 535 WebRtcVideoDecoderFactory* const external_decoder_factory_; |
528 std::vector<VideoCodecSettings> recv_codecs_; | 536 std::vector<VideoCodecSettings> recv_codecs_; |
529 std::vector<webrtc::RtpExtension> recv_rtp_extensions_; | 537 std::vector<webrtc::RtpExtension> recv_rtp_extensions_; |
530 webrtc::Call::Config::BitrateConfig bitrate_config_; | 538 webrtc::Call::Config::BitrateConfig bitrate_config_; |
531 VideoOptions options_; | 539 VideoOptions options_; |
532 }; | 540 }; |
533 | 541 |
534 } // namespace cricket | 542 } // namespace cricket |
535 | 543 |
536 #endif // TALK_MEDIA_WEBRTC_WEBRTCVIDEOENGINE2_H_ | 544 #endif // TALK_MEDIA_WEBRTC_WEBRTCVIDEOENGINE2_H_ |
OLD | NEW |