| OLD | NEW | 
|    1 /* |    1 /* | 
|    2  *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. |    2  *  Copyright (c) 2012 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 47 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   58  |   58  | 
|   59 class RtpStreamReceiver : public RtpData, |   59 class RtpStreamReceiver : public RtpData, | 
|   60                           public RtpFeedback, |   60                           public RtpFeedback, | 
|   61                           public VCMFrameTypeCallback, |   61                           public VCMFrameTypeCallback, | 
|   62                           public VCMPacketRequestCallback, |   62                           public VCMPacketRequestCallback, | 
|   63                           public video_coding::OnReceivedFrameCallback, |   63                           public video_coding::OnReceivedFrameCallback, | 
|   64                           public video_coding::OnCompleteFrameCallback, |   64                           public video_coding::OnCompleteFrameCallback, | 
|   65                           public CallStatsObserver { |   65                           public CallStatsObserver { | 
|   66  public: |   66  public: | 
|   67   RtpStreamReceiver( |   67   RtpStreamReceiver( | 
 |   68       vcm::VideoReceiver* video_receiver, | 
|   68       RemoteBitrateEstimator* remote_bitrate_estimator, |   69       RemoteBitrateEstimator* remote_bitrate_estimator, | 
|   69       Transport* transport, |   70       Transport* transport, | 
|   70       RtcpRttStats* rtt_stats, |   71       RtcpRttStats* rtt_stats, | 
|   71       PacketRouter* packet_router, |   72       PacketRouter* packet_router, | 
|   72       VieRemb* remb, |   73       VieRemb* remb, | 
|   73       const VideoReceiveStream::Config* config, |   74       const VideoReceiveStream::Config* config, | 
|   74       ReceiveStatisticsProxy* receive_stats_proxy, |   75       ReceiveStatisticsProxy* receive_stats_proxy, | 
|   75       ProcessThread* process_thread, |   76       ProcessThread* process_thread, | 
|   76       NackSender* nack_sender, |   77       NackSender* nack_sender, | 
|   77       KeyFrameRequestSender* keyframe_request_sender, |   78       KeyFrameRequestSender* keyframe_request_sender, | 
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  154   bool IsPacketInOrder(const RTPHeader& header) const; |  155   bool IsPacketInOrder(const RTPHeader& header) const; | 
|  155   bool IsPacketRetransmitted(const RTPHeader& header, bool in_order) const; |  156   bool IsPacketRetransmitted(const RTPHeader& header, bool in_order) const; | 
|  156   void UpdateHistograms(); |  157   void UpdateHistograms(); | 
|  157   void EnableReceiveRtpHeaderExtension(const std::string& extension, int id); |  158   void EnableReceiveRtpHeaderExtension(const std::string& extension, int id); | 
|  158   bool IsRedEnabled() const; |  159   bool IsRedEnabled() const; | 
|  159   void InsertSpsPpsIntoTracker(uint8_t payload_type); |  160   void InsertSpsPpsIntoTracker(uint8_t payload_type); | 
|  160  |  161  | 
|  161   Clock* const clock_; |  162   Clock* const clock_; | 
|  162   // Ownership of this object lies with VideoReceiveStream, which owns |this|. |  163   // Ownership of this object lies with VideoReceiveStream, which owns |this|. | 
|  163   const VideoReceiveStream::Config& config_; |  164   const VideoReceiveStream::Config& config_; | 
 |  165   vcm::VideoReceiver* const video_receiver_; | 
|  164   RemoteBitrateEstimator* const remote_bitrate_estimator_; |  166   RemoteBitrateEstimator* const remote_bitrate_estimator_; | 
|  165   PacketRouter* const packet_router_; |  167   PacketRouter* const packet_router_; | 
|  166   VieRemb* const remb_; |  168   VieRemb* const remb_; | 
|  167   ProcessThread* const process_thread_; |  169   ProcessThread* const process_thread_; | 
|  168  |  170  | 
|  169   RemoteNtpTimeEstimator ntp_estimator_; |  171   RemoteNtpTimeEstimator ntp_estimator_; | 
|  170   RTPPayloadRegistry rtp_payload_registry_; |  172   RTPPayloadRegistry rtp_payload_registry_; | 
|  171  |  173  | 
|  172   const std::unique_ptr<RtpHeaderParser> rtp_header_parser_; |  174   const std::unique_ptr<RtpHeaderParser> rtp_header_parser_; | 
|  173   const std::unique_ptr<RtpReceiver> rtp_receiver_; |  175   const std::unique_ptr<RtpReceiver> rtp_receiver_; | 
|  174   const std::unique_ptr<ReceiveStatistics> rtp_receive_statistics_; |  176   const std::unique_ptr<ReceiveStatistics> rtp_receive_statistics_; | 
|  175   std::unique_ptr<UlpfecReceiver> ulpfec_receiver_; |  177   std::unique_ptr<UlpfecReceiver> ulpfec_receiver_; | 
|  176  |  178  | 
|  177   rtc::CriticalSection receive_cs_; |  179   rtc::CriticalSection receive_cs_; | 
|  178   bool receiving_ GUARDED_BY(receive_cs_); |  180   bool receiving_ GUARDED_BY(receive_cs_); | 
|  179   uint8_t restored_packet_[IP_PACKET_SIZE] GUARDED_BY(receive_cs_); |  181   uint8_t restored_packet_[IP_PACKET_SIZE] GUARDED_BY(receive_cs_); | 
|  180   bool restored_packet_in_use_ GUARDED_BY(receive_cs_); |  182   bool restored_packet_in_use_ GUARDED_BY(receive_cs_); | 
|  181   int64_t last_packet_log_ms_ GUARDED_BY(receive_cs_); |  183   int64_t last_packet_log_ms_ GUARDED_BY(receive_cs_); | 
|  182  |  184  | 
|  183   const std::unique_ptr<RtpRtcp> rtp_rtcp_; |  185   const std::unique_ptr<RtpRtcp> rtp_rtcp_; | 
|  184  |  186  | 
|  185   // Members for the new jitter buffer experiment. |  187   // Members for the new jitter buffer experiment. | 
 |  188   bool jitter_buffer_experiment_; | 
|  186   video_coding::OnCompleteFrameCallback* complete_frame_callback_; |  189   video_coding::OnCompleteFrameCallback* complete_frame_callback_; | 
|  187   KeyFrameRequestSender* keyframe_request_sender_; |  190   KeyFrameRequestSender* keyframe_request_sender_; | 
|  188   VCMTiming* timing_; |  191   VCMTiming* timing_; | 
|  189   std::unique_ptr<NackModule> nack_module_; |  192   std::unique_ptr<NackModule> nack_module_; | 
|  190   rtc::scoped_refptr<video_coding::PacketBuffer> packet_buffer_; |  193   rtc::scoped_refptr<video_coding::PacketBuffer> packet_buffer_; | 
|  191   std::unique_ptr<video_coding::RtpFrameReferenceFinder> reference_finder_; |  194   std::unique_ptr<video_coding::RtpFrameReferenceFinder> reference_finder_; | 
|  192   rtc::CriticalSection last_seq_num_cs_; |  195   rtc::CriticalSection last_seq_num_cs_; | 
|  193   std::map<uint16_t, uint16_t, DescendingSeqNumComp<uint16_t>> |  196   std::map<uint16_t, uint16_t, DescendingSeqNumComp<uint16_t>> | 
|  194       last_seq_num_for_pic_id_ GUARDED_BY(last_seq_num_cs_); |  197       last_seq_num_for_pic_id_ GUARDED_BY(last_seq_num_cs_); | 
|  195   video_coding::H264SpsPpsTracker tracker_; |  198   video_coding::H264SpsPpsTracker tracker_; | 
|  196   // TODO(johan): Remove pt_codec_params_ once |  199   // TODO(johan): Remove pt_codec_params_ once | 
|  197   // https://bugs.chromium.org/p/webrtc/issues/detail?id=6883 is resolved. |  200   // https://bugs.chromium.org/p/webrtc/issues/detail?id=6883 is resolved. | 
|  198   // Maps a payload type to a map of out-of-band supplied codec parameters. |  201   // Maps a payload type to a map of out-of-band supplied codec parameters. | 
|  199   std::map<uint8_t, std::map<std::string, std::string>> pt_codec_params_; |  202   std::map<uint8_t, std::map<std::string, std::string>> pt_codec_params_; | 
|  200   int16_t last_payload_type_ = -1; |  203   int16_t last_payload_type_ = -1; | 
|  201 }; |  204 }; | 
|  202  |  205  | 
|  203 }  // namespace webrtc |  206 }  // namespace webrtc | 
|  204  |  207  | 
|  205 #endif  // WEBRTC_VIDEO_RTP_STREAM_RECEIVER_H_ |  208 #endif  // WEBRTC_VIDEO_RTP_STREAM_RECEIVER_H_ | 
| OLD | NEW |