Commit b09aeb1e authored by imcheng@chromium.org's avatar imcheng@chromium.org

Cast: Split kDuplicatePacketReceived into separate events for audio/video.

This change brings this type of event in line with the rest - having separate types
for audio / video. As a new type that is potentially sent over in RTCP is introduced,
a new RTCP encoding for that type is added as well.

This change is backwards-compatible because these events aren't being sent over in RTCP because they are not processed by ReceiverRtcpEventSubscriber.

BUG=337901

Review URL: https://codereview.chromium.org/164253003

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251301 0039d316-1c4b-4281-b951-d872f2087c98
parent 65c55a0c
......@@ -198,7 +198,7 @@ void AudioReceiver::IncomingParsedRtpPacket(const uint8* payload_data,
rtp_header, &duplicate);
if (duplicate) {
cast_environment_->Logging()->InsertPacketEvent(
now, kDuplicatePacketReceived, rtp_header.webrtc.header.timestamp,
now, kDuplicateAudioPacketReceived, rtp_header.webrtc.header.timestamp,
rtp_header.frame_id, rtp_header.packet_id, rtp_header.max_packet_id,
payload_size);
// Duplicate packets are ignored.
......
......@@ -63,7 +63,8 @@ std::string CastLoggingToString(CastLoggingEvent event) {
ENUM_TO_STRING(PacketRetransmitted);
ENUM_TO_STRING(AudioPacketReceived);
ENUM_TO_STRING(VideoPacketReceived);
ENUM_TO_STRING(DuplicatePacketReceived);
ENUM_TO_STRING(DuplicateAudioPacketReceived);
ENUM_TO_STRING(DuplicateVideoPacketReceived);
case kNumOfLoggingEvents:
NOTREACHED();
return "";
......
......@@ -67,7 +67,8 @@ enum CastLoggingEvent {
// Receive-side packet events.
kAudioPacketReceived,
kVideoPacketReceived,
kDuplicatePacketReceived,
kDuplicateAudioPacketReceived,
kDuplicateVideoPacketReceived,
kNumOfLoggingEvents,
};
......
......@@ -39,7 +39,10 @@ media::cast::proto::EventType ToProtoEventType(CastLoggingEvent event) {
TO_PROTO_ENUM(kPacketRetransmitted, PACKET_RETRANSMITTED);
TO_PROTO_ENUM(kAudioPacketReceived, AUDIO_PACKET_RECEIVED);
TO_PROTO_ENUM(kVideoPacketReceived, VIDEO_PACKET_RECEIVED);
TO_PROTO_ENUM(kDuplicatePacketReceived, DUPLICATE_PACKET_RECEIVED);
TO_PROTO_ENUM(kDuplicateAudioPacketReceived,
DUPLICATE_AUDIO_PACKET_RECEIVED);
TO_PROTO_ENUM(kDuplicateVideoPacketReceived,
DUPLICATE_VIDEO_PACKET_RECEIVED);
case kNumOfLoggingEvents:
NOTREACHED();
return media::cast::proto::UNKNOWN;
......
......@@ -44,7 +44,8 @@ enum EventType {
// Receiver-side packet events.
AUDIO_PACKET_RECEIVED = 22;
VIDEO_PACKET_RECEIVED = 23;
DUPLICATE_PACKET_RECEIVED = 24;
DUPLICATE_AUDIO_PACKET_RECEIVED = 24;
DUPLICATE_VIDEO_PACKET_RECEIVED = 25;
}
message AggregatedFrameEvent {
......
......@@ -79,7 +79,8 @@ class LocalRtcpReceiverFeedback : public RtcpReceiverFeedback {
switch (event_it->type) {
case kAudioPacketReceived:
case kVideoPacketReceived:
case kDuplicatePacketReceived:
case kDuplicateAudioPacketReceived:
case kDuplicateVideoPacketReceived:
cast_environment_->Logging()->InsertPacketEvent(
event_it->event_timestamp, event_it->type, rtp_timestamp,
kFrameIdUnknown, event_it->packet_id, 0, 0);
......
......@@ -29,7 +29,9 @@ media::cast::CastLoggingEvent TranslateToLogEventFromWireFormat(uint8 event) {
case 8:
return media::cast::kVideoPacketReceived;
case 9:
return media::cast::kDuplicatePacketReceived;
return media::cast::kDuplicateAudioPacketReceived;
case 10:
return media::cast::kDuplicateVideoPacketReceived;
default:
// If the sender adds new log messages we will end up here until we add
// the new messages in the receiver.
......
......@@ -42,8 +42,10 @@ int ConvertEventTypeToWireFormat(const media::cast::CastLoggingEvent& event) {
return 7;
case media::cast::kVideoPacketReceived:
return 8;
case media::cast::kDuplicatePacketReceived:
case media::cast::kDuplicateAudioPacketReceived:
return 9;
case media::cast::kDuplicateVideoPacketReceived:
return 10;
default:
return 0; // Not an interesting event.
}
......@@ -645,7 +647,8 @@ void RtcpSender::BuildReceiverLog(RtcpReceiverLogMessage* receiver_log_message,
break;
case kAudioPacketReceived:
case kVideoPacketReceived:
case kDuplicatePacketReceived:
case kDuplicateAudioPacketReceived:
case kDuplicateVideoPacketReceived:
big_endian_writer.WriteU16(event_message.packet_id);
big_endian_writer.WriteU16(event_type_and_timestamp_delta);
break;
......
......@@ -443,7 +443,7 @@ void VideoReceiver::IncomingParsedRtpPacket(const uint8* payload_data,
if (duplicate) {
cast_environment_->Logging()->InsertPacketEvent(
now,
kDuplicatePacketReceived,
kDuplicateVideoPacketReceived,
rtp_header.webrtc.header.timestamp,
rtp_header.frame_id,
rtp_header.packet_id,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment