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

Unified Diff: media/cast/video_sender/video_sender.h

Issue 295603004: [Cast] Aggressively send sender reports until first receiver report is received. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: media/cast/video_sender/video_sender.h
diff --git a/media/cast/video_sender/video_sender.h b/media/cast/video_sender/video_sender.h
index f21b11db57698501a02a5a9bb770a8bfbe7ab7a2..59792f7693088e94f74de3072de5810d4354efe8 100644
--- a/media/cast/video_sender/video_sender.h
+++ b/media/cast/video_sender/video_sender.h
@@ -23,7 +23,6 @@ namespace media {
class VideoFrame;
namespace cast {
-class LocalRtcpVideoSenderFeedback;
class LocalVideoEncoderCallback;
class VideoEncoder;
@@ -37,7 +36,8 @@ class CastTransportSender;
// RTCP packets.
// Additionally it posts a bunch of delayed tasks to the main thread for various
// timeouts.
-class VideoSender : public base::NonThreadSafe,
+class VideoSender : public RtcpSenderFeedback,
+ public base::NonThreadSafe,
public base::SupportsWeakPtr<VideoSender> {
public:
VideoSender(scoped_refptr<CastEnvironment> cast_environment,
@@ -61,7 +61,8 @@ class VideoSender : public base::NonThreadSafe,
protected:
// Protected for testability.
- void OnReceivedCastFeedback(const RtcpCastMessage& cast_feedback);
+ virtual void OnReceivedCastFeedback(const RtcpCastMessage& cast_feedback)
+ OVERRIDE;
private:
friend class LocalRtcpVideoSenderFeedback;
@@ -69,7 +70,7 @@ class VideoSender : public base::NonThreadSafe,
// Schedule when we should send the next RTPC report,
// via a PostDelayedTask to the main cast thread.
void ScheduleNextRtcpReport();
- void SendRtcpReport();
+ void SendRtcpReport(bool schedule_future_reports);
// Schedule when we should check that we have received an acknowledgment, or a
// loss report from our remote peer. If we have not heard back from our remote
@@ -104,9 +105,9 @@ class VideoSender : public base::NonThreadSafe,
transport::CastTransportSender* const transport_sender_;
RtpTimestampHelper rtp_timestamp_helper_;
- scoped_ptr<LocalRtcpVideoSenderFeedback> rtcp_feedback_;
scoped_ptr<VideoEncoder> video_encoder_;
scoped_ptr<Rtcp> rtcp_;
+ int num_aggressive_rtcp_reports_sent_;
uint8 max_unacked_frames_;
int last_acked_frame_id_;
int last_sent_frame_id_;

Powered by Google App Engine
This is Rietveld 408576698