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

Side by Side Diff: media/cast/rtcp/rtcp_sender.cc

Issue 136903003: cast: Wire upp logging to be sent over RTCP between receiver and sender. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Merge TOT 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 unified diff | Download patch
« no previous file with comments | « media/cast/rtcp/rtcp_receiver_unittest.cc ('k') | media/cast/rtcp/rtcp_sender_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "media/cast/rtcp/rtcp_sender.h" 5 #include "media/cast/rtcp/rtcp_sender.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 14 matching lines...) Expand all
25 const base::TimeDelta& time_delta) { 25 const base::TimeDelta& time_delta) {
26 int64 time_delta_ms = time_delta.InMilliseconds(); 26 int64 time_delta_ms = time_delta.InMilliseconds();
27 // Max delta is 4096 milliseconds. 27 // Max delta is 4096 milliseconds.
28 DCHECK_GE(GG_INT64_C(0xfff), time_delta_ms); 28 DCHECK_GE(GG_INT64_C(0xfff), time_delta_ms);
29 29
30 uint16 event_type_and_timestamp_delta = 30 uint16 event_type_and_timestamp_delta =
31 static_cast<uint16>(time_delta_ms & 0xfff); 31 static_cast<uint16>(time_delta_ms & 0xfff);
32 32
33 uint16 event_type = 0; 33 uint16 event_type = 0;
34 switch (event) { 34 switch (event) {
35 case media::cast::kAckSent: 35 case media::cast::kAudioAckSent:
36 event_type = 1; 36 event_type = 1;
37 break; 37 break;
38 case media::cast::kAudioPlayoutDelay: 38 case media::cast::kAudioPlayoutDelay:
39 event_type = 2; 39 event_type = 2;
40 break; 40 break;
41 case media::cast::kAudioFrameDecoded: 41 case media::cast::kAudioFrameDecoded:
42 event_type = 3; 42 event_type = 3;
43 break; 43 break;
44 case media::cast::kVideoFrameDecoded: 44 case media::cast::kAudioPacketReceived:
45 event_type = 4; 45 event_type = 4;
46 break; 46 break;
47 case media::cast::kVideoRenderDelay: 47 case media::cast::kVideoAckSent:
48 event_type = 5; 48 event_type = 5;
49 break; 49 break;
50 case media::cast::kPacketReceived: 50 case media::cast::kVideoFrameDecoded:
51 event_type = 6; 51 event_type = 6;
52 break; 52 break;
53 case media::cast::kVideoRenderDelay:
54 event_type = 7;
55 break;
56 case media::cast::kVideoPacketReceived:
57 event_type = 8;
58 break;
53 case media::cast::kDuplicatePacketReceived: 59 case media::cast::kDuplicatePacketReceived:
54 event_type = 7; 60 event_type = 9;
55 break; 61 break;
56 default: 62 default:
57 NOTREACHED(); 63 NOTREACHED();
58 } 64 }
59 DCHECK(!(event_type & 0xfff0)); 65 DCHECK(!(event_type & 0xfff0));
60 return (event_type << 12) + event_type_and_timestamp_delta; 66 return (event_type << 12) + event_type_and_timestamp_delta;
61 } 67 }
62 68
63 bool ScanRtcpReceiverLogMessage( 69 bool ScanRtcpReceiverLogMessage(
64 const media::cast::RtcpReceiverLogMessage& receiver_log_message, 70 const media::cast::RtcpReceiverLogMessage& receiver_log_message,
(...skipping 558 matching lines...) Expand 10 before | Expand all | Expand 10 after
623 big_endian_writer.WriteU8(static_cast<uint8>(base_timestamp_ms)); 629 big_endian_writer.WriteU8(static_cast<uint8>(base_timestamp_ms));
624 630
625 while (!frame_log_messages.event_log_messages_.empty() && 631 while (!frame_log_messages.event_log_messages_.empty() &&
626 messages_in_frame > 0) { 632 messages_in_frame > 0) {
627 const RtcpReceiverEventLogMessage& event_message = 633 const RtcpReceiverEventLogMessage& event_message =
628 frame_log_messages.event_log_messages_.front(); 634 frame_log_messages.event_log_messages_.front();
629 uint16 event_type_and_timestamp_delta = 635 uint16 event_type_and_timestamp_delta =
630 MergeEventTypeAndTimestampForWireFormat(event_message.type, 636 MergeEventTypeAndTimestampForWireFormat(event_message.type,
631 event_message.event_timestamp - event_timestamp_base); 637 event_message.event_timestamp - event_timestamp_base);
632 switch (event_message.type) { 638 switch (event_message.type) {
633 case kAckSent: 639 case kAudioAckSent:
640 case kVideoAckSent:
634 case kAudioPlayoutDelay: 641 case kAudioPlayoutDelay:
635 case kAudioFrameDecoded: 642 case kAudioFrameDecoded:
636 case kVideoFrameDecoded: 643 case kVideoFrameDecoded:
637 case kVideoRenderDelay: 644 case kVideoRenderDelay:
638 big_endian_writer.WriteU16(static_cast<uint16>( 645 big_endian_writer.WriteU16(static_cast<uint16>(
639 event_message.delay_delta.InMilliseconds())); 646 event_message.delay_delta.InMilliseconds()));
640 big_endian_writer.WriteU16(event_type_and_timestamp_delta); 647 big_endian_writer.WriteU16(event_type_and_timestamp_delta);
641 break; 648 break;
642 case kPacketReceived: 649 case kAudioPacketReceived:
650 case kVideoPacketReceived:
643 case kDuplicatePacketReceived: 651 case kDuplicatePacketReceived:
644 big_endian_writer.WriteU16(event_message.packet_id); 652 big_endian_writer.WriteU16(event_message.packet_id);
645 big_endian_writer.WriteU16(event_type_and_timestamp_delta); 653 big_endian_writer.WriteU16(event_type_and_timestamp_delta);
646 break; 654 break;
647 default: 655 default:
648 NOTREACHED(); 656 NOTREACHED();
649 } 657 }
650 messages_in_frame--; 658 messages_in_frame--;
651 frame_log_messages.event_log_messages_.pop_front(); 659 frame_log_messages.event_log_messages_.pop_front();
652 } 660 }
653 if (frame_log_messages.event_log_messages_.empty()) { 661 if (frame_log_messages.event_log_messages_.empty()) {
654 // We sent all messages on this frame; pop the frame header. 662 // We sent all messages on this frame; pop the frame header.
655 receiver_log_message->pop_front(); 663 receiver_log_message->pop_front();
656 } 664 }
657 } 665 }
658 DCHECK_EQ(total_number_of_messages_to_send, 0); 666 DCHECK_EQ(total_number_of_messages_to_send, 0);
659 } 667 }
660 668
661 } // namespace cast 669 } // namespace cast
662 } // namespace media 670 } // namespace media
OLDNEW
« no previous file with comments | « media/cast/rtcp/rtcp_receiver_unittest.cc ('k') | media/cast/rtcp/rtcp_sender_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698