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

Side by Side Diff: media/cast/receiver/cast_receiver_impl.cc

Issue 1520613004: cast: Split Rtcp into two for sender and receiver (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@timestamp
Patch Set: Rebased Created 4 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/net/rtp/receiver_stats.h ('k') | media/cast/receiver/frame_receiver.h » ('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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/receiver/cast_receiver_impl.h" 5 #include "media/cast/receiver/cast_receiver_impl.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
11 #include "base/bind_helpers.h" 11 #include "base/bind_helpers.h"
12 #include "base/callback.h" 12 #include "base/callback.h"
13 #include "base/logging.h" 13 #include "base/logging.h"
14 #include "base/message_loop/message_loop.h" 14 #include "base/message_loop/message_loop.h"
15 #include "base/trace_event/trace_event.h" 15 #include "base/trace_event/trace_event.h"
16 #include "media/cast/net/rtcp/rtcp_utility.h"
16 #include "media/cast/receiver/audio_decoder.h" 17 #include "media/cast/receiver/audio_decoder.h"
17 #include "media/cast/receiver/video_decoder.h" 18 #include "media/cast/receiver/video_decoder.h"
18 19
19 namespace media { 20 namespace media {
20 namespace cast { 21 namespace cast {
21 22
22 scoped_ptr<CastReceiver> CastReceiver::Create( 23 scoped_ptr<CastReceiver> CastReceiver::Create(
23 scoped_refptr<CastEnvironment> cast_environment, 24 scoped_refptr<CastEnvironment> cast_environment,
24 const FrameReceiverConfig& audio_config, 25 const FrameReceiverConfig& audio_config,
25 const FrameReceiverConfig& video_config, 26 const FrameReceiverConfig& video_config,
(...skipping 17 matching lines...) Expand all
43 audio_codec_(audio_config.codec), 44 audio_codec_(audio_config.codec),
44 video_codec_(video_config.codec) {} 45 video_codec_(video_config.codec) {}
45 46
46 CastReceiverImpl::~CastReceiverImpl() {} 47 CastReceiverImpl::~CastReceiverImpl() {}
47 48
48 void CastReceiverImpl::ReceivePacket(scoped_ptr<Packet> packet) { 49 void CastReceiverImpl::ReceivePacket(scoped_ptr<Packet> packet) {
49 const uint8_t* const data = &packet->front(); 50 const uint8_t* const data = &packet->front();
50 const size_t length = packet->size(); 51 const size_t length = packet->size();
51 52
52 uint32_t ssrc_of_sender; 53 uint32_t ssrc_of_sender;
53 if (Rtcp::IsRtcpPacket(data, length)) { 54 if (IsRtcpPacket(data, length)) {
54 ssrc_of_sender = Rtcp::GetSsrcOfSender(data, length); 55 ssrc_of_sender = GetSsrcOfSender(data, length);
55 } else if (!RtpParser::ParseSsrc(data, length, &ssrc_of_sender)) { 56 } else if (!RtpParser::ParseSsrc(data, length, &ssrc_of_sender)) {
56 VLOG(1) << "Invalid RTP packet."; 57 VLOG(1) << "Invalid RTP packet.";
57 return; 58 return;
58 } 59 }
59 60
60 base::WeakPtr<FrameReceiver> target; 61 base::WeakPtr<FrameReceiver> target;
61 if (ssrc_of_sender == ssrc_of_video_sender_) { 62 if (ssrc_of_sender == ssrc_of_video_sender_) {
62 target = video_receiver_.AsWeakPtr(); 63 target = video_receiver_.AsWeakPtr();
63 } else if (ssrc_of_sender == ssrc_of_audio_sender_) { 64 } else if (ssrc_of_sender == ssrc_of_audio_sender_) {
64 target = audio_receiver_.AsWeakPtr(); 65 target = audio_receiver_.AsWeakPtr();
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
218 "cast_perf_test", "FrameDecoded", 219 "cast_perf_test", "FrameDecoded",
219 TRACE_EVENT_SCOPE_THREAD, 220 TRACE_EVENT_SCOPE_THREAD,
220 "rtp_timestamp", rtp_timestamp.lower_32_bits()); 221 "rtp_timestamp", rtp_timestamp.lower_32_bits());
221 } 222 }
222 223
223 callback.Run(video_frame, playout_time, is_continuous); 224 callback.Run(video_frame, playout_time, is_continuous);
224 } 225 }
225 226
226 } // namespace cast 227 } // namespace cast
227 } // namespace media 228 } // namespace media
OLDNEW
« no previous file with comments | « media/cast/net/rtp/receiver_stats.h ('k') | media/cast/receiver/frame_receiver.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698