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

Side by Side Diff: media/cast/rtp_receiver/rtp_receiver.cc

Issue 145873006: ui/base/resource: Roll our own version of ReadBigEndian() function. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 10 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 | Annotate | Revision Log
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/rtp_receiver/rtp_receiver.h" 5 #include "media/cast/rtp_receiver/rtp_receiver.h"
6 6
7 #include "base/big_endian.h"
7 #include "base/logging.h" 8 #include "base/logging.h"
8 #include "media/cast/rtp_receiver/receiver_stats.h" 9 #include "media/cast/rtp_receiver/receiver_stats.h"
9 #include "media/cast/rtp_receiver/rtp_parser/rtp_parser.h" 10 #include "media/cast/rtp_receiver/rtp_parser/rtp_parser.h"
10 #include "media/cast/rtp_receiver/rtp_receiver_defines.h" 11 #include "media/cast/rtp_receiver/rtp_receiver_defines.h"
11 #include "net/base/big_endian.h"
12 12
13 namespace media { 13 namespace media {
14 namespace cast { 14 namespace cast {
15 15
16 RtpReceiver::RtpReceiver(base::TickClock* clock, 16 RtpReceiver::RtpReceiver(base::TickClock* clock,
17 const AudioReceiverConfig* audio_config, 17 const AudioReceiverConfig* audio_config,
18 const VideoReceiverConfig* video_config, 18 const VideoReceiverConfig* video_config,
19 RtpData* incoming_payload_callback) { 19 RtpData* incoming_payload_callback) {
20 DCHECK(incoming_payload_callback) << "Invalid argument"; 20 DCHECK(incoming_payload_callback) << "Invalid argument";
21 DCHECK(audio_config || video_config) << "Invalid argument"; 21 DCHECK(audio_config || video_config) << "Invalid argument";
(...skipping 13 matching lines...) Expand all
35 stats_.reset(new ReceiverStats(clock)); 35 stats_.reset(new ReceiverStats(clock));
36 parser_.reset(new RtpParser(incoming_payload_callback, config)); 36 parser_.reset(new RtpParser(incoming_payload_callback, config));
37 } 37 }
38 38
39 RtpReceiver::~RtpReceiver() {} 39 RtpReceiver::~RtpReceiver() {}
40 40
41 // static 41 // static
42 uint32 RtpReceiver::GetSsrcOfSender(const uint8* rtcp_buffer, size_t length) { 42 uint32 RtpReceiver::GetSsrcOfSender(const uint8* rtcp_buffer, size_t length) {
43 DCHECK_GE(length, kMinLengthOfRtp) << "Invalid RTP packet"; 43 DCHECK_GE(length, kMinLengthOfRtp) << "Invalid RTP packet";
44 uint32 ssrc_of_sender; 44 uint32 ssrc_of_sender;
45 net::BigEndianReader big_endian_reader(rtcp_buffer, length); 45 base::BigEndianReader big_endian_reader(
46 reinterpret_cast<const char*>(rtcp_buffer), length);
46 big_endian_reader.Skip(8); // Skip header 47 big_endian_reader.Skip(8); // Skip header
47 big_endian_reader.ReadU32(&ssrc_of_sender); 48 big_endian_reader.ReadU32(&ssrc_of_sender);
48 return ssrc_of_sender; 49 return ssrc_of_sender;
49 } 50 }
50 51
51 bool RtpReceiver::ReceivedPacket(const uint8* packet, size_t length) { 52 bool RtpReceiver::ReceivedPacket(const uint8* packet, size_t length) {
52 RtpCastHeader rtp_header; 53 RtpCastHeader rtp_header;
53 if (!parser_->ParsePacket(packet, length, &rtp_header)) 54 if (!parser_->ParsePacket(packet, length, &rtp_header))
54 return false; 55 return false;
55 56
56 stats_->UpdateStatistics(rtp_header); 57 stats_->UpdateStatistics(rtp_header);
57 return true; 58 return true;
58 } 59 }
59 60
60 void RtpReceiver::GetStatistics(uint8* fraction_lost, 61 void RtpReceiver::GetStatistics(uint8* fraction_lost,
61 uint32* cumulative_lost, 62 uint32* cumulative_lost,
62 uint32* extended_high_sequence_number, 63 uint32* extended_high_sequence_number,
63 uint32* jitter) { 64 uint32* jitter) {
64 stats_->GetStatistics( 65 stats_->GetStatistics(
65 fraction_lost, cumulative_lost, extended_high_sequence_number, jitter); 66 fraction_lost, cumulative_lost, extended_high_sequence_number, jitter);
66 } 67 }
67 68
68 } // namespace cast 69 } // namespace cast
69 } // namespace media 70 } // namespace media
OLDNEW
« no previous file with comments | « media/cast/rtp_receiver/rtp_parser/test/rtp_packet_builder.cc ('k') | media/cast/test/sender.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698