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

Unified Diff: media/cast/rtcp/rtcp_sender.cc

Issue 145443005: Fixes for memory and threading issues in cast (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix compile Created 6 years, 11 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
« no previous file with comments | « media/cast/rtcp/rtcp_sender.h ('k') | media/cast/rtcp/rtcp_sender_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/cast/rtcp/rtcp_sender.cc
diff --git a/media/cast/rtcp/rtcp_sender.cc b/media/cast/rtcp/rtcp_sender.cc
index 87d3889391c89008ff4283b7d7f2c6cd201498bf..23f7466853420157115eefa1d55e14a94e9e4f52 100644
--- a/media/cast/rtcp/rtcp_sender.cc
+++ b/media/cast/rtcp/rtcp_sender.cc
@@ -20,48 +20,45 @@ static const size_t kRtcpReceiverFrameLogSize = 8;
static const size_t kRtcpReceiverEventLogSize = 4;
namespace {
-uint16 MergeEventTypeAndTimestampForWireFormat(
- const media::cast::CastLoggingEvent& event,
- const base::TimeDelta& time_delta) {
- int64 time_delta_ms = time_delta.InMilliseconds();
- // Max delta is 4096 milliseconds.
- DCHECK_GE(GG_INT64_C(0xfff), time_delta_ms);
-
- uint16 event_type_and_timestamp_delta =
- static_cast<uint16>(time_delta_ms & 0xfff);
- uint16 event_type = 0;
+// Converts a log event type to an integer value.
+int ConvertEventTypeToWireFormat(const media::cast::CastLoggingEvent& event) {
switch (event) {
case media::cast::kAudioAckSent:
- event_type = 1;
- break;
+ return 1;
case media::cast::kAudioPlayoutDelay:
- event_type = 2;
- break;
+ return 2;
case media::cast::kAudioFrameDecoded:
- event_type = 3;
- break;
+ return 3;
case media::cast::kAudioPacketReceived:
- event_type = 4;
- break;
+ return 4;
case media::cast::kVideoAckSent:
- event_type = 5;
- break;
+ return 5;
case media::cast::kVideoFrameDecoded:
- event_type = 6;
- break;
+ return 6;
case media::cast::kVideoRenderDelay:
- event_type = 7;
- break;
+ return 7;
case media::cast::kVideoPacketReceived:
- event_type = 8;
- break;
+ return 8;
case media::cast::kDuplicatePacketReceived:
- event_type = 9;
- break;
+ return 9;
default:
- NOTREACHED();
+ return 0; // Not an interesting event.
}
+}
+
+uint16 MergeEventTypeAndTimestampForWireFormat(
+ const media::cast::CastLoggingEvent& event,
+ const base::TimeDelta& time_delta) {
+ int64 time_delta_ms = time_delta.InMilliseconds();
+ // Max delta is 4096 milliseconds.
+ DCHECK_GE(GG_INT64_C(0xfff), time_delta_ms);
+
+ uint16 event_type_and_timestamp_delta =
+ static_cast<uint16>(time_delta_ms & 0xfff);
+
+ uint16 event_type = ConvertEventTypeToWireFormat(event);
+ DCHECK(event_type);
DCHECK(!(event_type & 0xfff0));
return (event_type << 12) + event_type_and_timestamp_delta;
}
@@ -147,6 +144,11 @@ RtcpSender::RtcpSender(scoped_refptr<CastEnvironment> cast_environment,
RtcpSender::~RtcpSender() {}
+// static
+bool RtcpSender::IsReceiverEvent(const media::cast::CastLoggingEvent& event) {
+ return ConvertEventTypeToWireFormat(event) != 0;
+}
+
void RtcpSender::SendRtcpFromRtpReceiver(
uint32 packet_type_flags,
const transport::RtcpReportBlock* report_block,
« no previous file with comments | « media/cast/rtcp/rtcp_sender.h ('k') | media/cast/rtcp/rtcp_sender_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698