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

Side by Side Diff: media/cast/transport/cast_transport_sender_impl.cc

Issue 131233007: Cast: Clean up injection of transport into PacedPacketSender (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: merged 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
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/transport/cast_transport_sender_impl.h" 5 #include "media/cast/transport/cast_transport_sender_impl.h"
6 6
7 #include "base/task_runner.h" 7 #include "base/task_runner.h"
8 #include "media/cast/transport/cast_transport_config.h" 8 #include "media/cast/transport/cast_transport_config.h"
9 #include "media/cast/transport/cast_transport_defines.h" 9 #include "media/cast/transport/cast_transport_defines.h"
10 10
11 namespace media { 11 namespace media {
12 namespace cast { 12 namespace cast {
13 namespace transport { 13 namespace transport {
14 14
15 CastTransportSender* CastTransportSender::CreateCastTransportSender( 15 CastTransportSender* CastTransportSender::CreateCastTransportSender(
16 base::TickClock* clock, 16 base::TickClock* clock,
17 const CastTransportConfig& config, 17 const CastTransportConfig& config,
18 const CastTransportStatusCallback& status_callback, 18 const CastTransportStatusCallback& status_callback,
19 const scoped_refptr<base::TaskRunner>& transport_task_runner) { 19 const scoped_refptr<base::TaskRunner>& transport_task_runner) {
20 return new CastTransportSenderImpl(clock, config, status_callback, 20 return new CastTransportSenderImpl(clock,
21 transport_task_runner.get()); 21 config,
22 status_callback,
23 transport_task_runner.get(),
24 NULL);
22 } 25 }
23 26
24 CastTransportSenderImpl::CastTransportSenderImpl( 27 CastTransportSenderImpl::CastTransportSenderImpl(
25 base::TickClock* clock, 28 base::TickClock* clock,
26 const CastTransportConfig& config, 29 const CastTransportConfig& config,
27 const CastTransportStatusCallback& status_callback, 30 const CastTransportStatusCallback& status_callback,
28 const scoped_refptr<base::TaskRunner>& transport_task_runner) 31 const scoped_refptr<base::TaskRunner>& transport_task_runner,
29 : pacer_(clock, &config, NULL, transport_task_runner, status_callback), 32 PacketSender* external_transport)
33 : transport_(external_transport ? NULL :
34 new UdpTransport(transport_task_runner,
35 config.local_endpoint,
36 config.receiver_endpoint,
37 status_callback)),
38 pacer_(clock,
39 external_transport ? external_transport : transport_.get(),
40 transport_task_runner),
30 rtcp_builder_(&pacer_), 41 rtcp_builder_(&pacer_),
31 audio_sender_(config, clock, &pacer_), 42 audio_sender_(config, clock, &pacer_),
32 video_sender_(config, clock, &pacer_) { 43 video_sender_(config, clock, &pacer_) {
33 if (audio_sender_.initialized() && video_sender_.initialized()) { 44 if (audio_sender_.initialized() && video_sender_.initialized()) {
34 status_callback.Run(TRANSPORT_INITIALIZED); 45 status_callback.Run(TRANSPORT_INITIALIZED);
35 } else { 46 } else {
36 status_callback.Run(TRANSPORT_UNINITIALIZED); 47 status_callback.Run(TRANSPORT_UNINITIALIZED);
37 } 48 }
38 } 49 }
39 50
40 CastTransportSenderImpl::~CastTransportSenderImpl() { 51 CastTransportSenderImpl::~CastTransportSenderImpl() {
41 } 52 }
42 53
43 void CastTransportSenderImpl::SetPacketReceiver( 54 void CastTransportSenderImpl::SetPacketReceiver(
44 const PacketReceiverCallback& packet_receiver) { 55 const PacketReceiverCallback& packet_receiver) {
45 pacer_.SetPacketReceiver(packet_receiver); 56 transport_->StartReceiving(packet_receiver);
46 } 57 }
47 58
48 void CastTransportSenderImpl::InsertCodedAudioFrame( 59 void CastTransportSenderImpl::InsertCodedAudioFrame(
49 const EncodedAudioFrame* audio_frame, 60 const EncodedAudioFrame* audio_frame,
50 const base::TimeTicks& recorded_time) { 61 const base::TimeTicks& recorded_time) {
51 audio_sender_.InsertCodedAudioFrame(audio_frame, recorded_time); 62 audio_sender_.InsertCodedAudioFrame(audio_frame, recorded_time);
52 } 63 }
53 64
54 void CastTransportSenderImpl::InsertCodedVideoFrame( 65 void CastTransportSenderImpl::InsertCodedVideoFrame(
55 const EncodedVideoFrame* video_frame, 66 const EncodedVideoFrame* video_frame,
(...skipping 30 matching lines...) Expand all
86 RtcpSenderInfo* sender_info) { 97 RtcpSenderInfo* sender_info) {
87 audio_sender_.GetStatistics(now, sender_info); 98 audio_sender_.GetStatistics(now, sender_info);
88 } 99 }
89 100
90 void CastTransportSenderImpl::RtpVideoStatistics( 101 void CastTransportSenderImpl::RtpVideoStatistics(
91 const base::TimeTicks& now, 102 const base::TimeTicks& now,
92 RtcpSenderInfo* sender_info) { 103 RtcpSenderInfo* sender_info) {
93 video_sender_.GetStatistics(now, sender_info); 104 video_sender_.GetStatistics(now, sender_info);
94 } 105 }
95 106
96 void CastTransportSenderImpl::InsertFakeTransportForTesting(
97 PacketSender* fake_transport) {
98 pacer_.InsertFakeTransportForTesting(fake_transport);
99 }
100
101 } // namespace transport 107 } // namespace transport
102 } // namespace cast 108 } // namespace cast
103 } // namespace media 109 } // namespace media
OLDNEW
« no previous file with comments | « media/cast/transport/cast_transport_sender_impl.h ('k') | media/cast/transport/pacing/paced_sender.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698