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

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

Issue 314593002: [Cast] Cleanup: Remove TransportXXXXXSender, an unnecessary layer of indirection. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Restored/Improved CastSenderImpl VLOGging. Created 6 years, 6 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 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/single_thread_task_runner.h" 7 #include "base/single_thread_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
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 net::IPEndPoint(), 49 net::IPEndPoint(),
50 remote_end_point, 50 remote_end_point,
51 status_callback)), 51 status_callback)),
52 logging_(), 52 logging_(),
53 pacer_(clock, 53 pacer_(clock,
54 &logging_, 54 &logging_,
55 external_transport ? external_transport : transport_.get(), 55 external_transport ? external_transport : transport_.get(),
56 transport_task_runner), 56 transport_task_runner),
57 rtcp_builder_(&pacer_), 57 rtcp_builder_(&pacer_),
58 raw_events_callback_(raw_events_callback) { 58 raw_events_callback_(raw_events_callback) {
59 DCHECK(clock_);
59 if (!raw_events_callback_.is_null()) { 60 if (!raw_events_callback_.is_null()) {
60 DCHECK(raw_events_callback_interval > base::TimeDelta()); 61 DCHECK(raw_events_callback_interval > base::TimeDelta());
61 event_subscriber_.reset(new SimpleEventSubscriber); 62 event_subscriber_.reset(new SimpleEventSubscriber);
62 logging_.AddRawEventSubscriber(event_subscriber_.get()); 63 logging_.AddRawEventSubscriber(event_subscriber_.get());
63 raw_events_timer_.Start(FROM_HERE, 64 raw_events_timer_.Start(FROM_HERE,
64 raw_events_callback_interval, 65 raw_events_callback_interval,
65 this, 66 this,
66 &CastTransportSenderImpl::SendRawEvents); 67 &CastTransportSenderImpl::SendRawEvents);
67 } 68 }
68 } 69 }
69 70
70 CastTransportSenderImpl::~CastTransportSenderImpl() { 71 CastTransportSenderImpl::~CastTransportSenderImpl() {
71 if (event_subscriber_.get()) 72 if (event_subscriber_.get())
72 logging_.RemoveRawEventSubscriber(event_subscriber_.get()); 73 logging_.RemoveRawEventSubscriber(event_subscriber_.get());
73 } 74 }
74 75
75 void CastTransportSenderImpl::InitializeAudio( 76 void CastTransportSenderImpl::InitializeAudio(
76 const CastTransportAudioConfig& config) { 77 const CastTransportAudioConfig& config) {
77 pacer_.RegisterAudioSsrc(config.rtp.config.ssrc); 78 audio_sender_.reset(new RtpSender(clock_, transport_task_runner_, &pacer_));
78 audio_sender_.reset(new TransportAudioSender( 79 if (audio_sender_->InitializeAudio(config)) {
79 config, clock_, transport_task_runner_, &pacer_)); 80 pacer_.RegisterAudioSsrc(config.rtp.config.ssrc);
80 if (audio_sender_->initialized())
81 status_callback_.Run(TRANSPORT_AUDIO_INITIALIZED); 81 status_callback_.Run(TRANSPORT_AUDIO_INITIALIZED);
82 else 82 } else {
83 audio_sender_.reset();
83 status_callback_.Run(TRANSPORT_AUDIO_UNINITIALIZED); 84 status_callback_.Run(TRANSPORT_AUDIO_UNINITIALIZED);
85 }
84 } 86 }
85 87
86 void CastTransportSenderImpl::InitializeVideo( 88 void CastTransportSenderImpl::InitializeVideo(
87 const CastTransportVideoConfig& config) { 89 const CastTransportVideoConfig& config) {
88 pacer_.RegisterVideoSsrc(config.rtp.config.ssrc); 90 video_sender_.reset(new RtpSender(clock_, transport_task_runner_, &pacer_));
89 video_sender_.reset(new TransportVideoSender( 91 if (video_sender_->InitializeVideo(config)) {
90 config, clock_, transport_task_runner_, &pacer_)); 92 pacer_.RegisterVideoSsrc(config.rtp.config.ssrc);
91 if (video_sender_->initialized())
92 status_callback_.Run(TRANSPORT_VIDEO_INITIALIZED); 93 status_callback_.Run(TRANSPORT_VIDEO_INITIALIZED);
93 else 94 } else {
95 video_sender_.reset();
94 status_callback_.Run(TRANSPORT_VIDEO_UNINITIALIZED); 96 status_callback_.Run(TRANSPORT_VIDEO_UNINITIALIZED);
97 }
95 } 98 }
96 99
97 void CastTransportSenderImpl::SetPacketReceiver( 100 void CastTransportSenderImpl::SetPacketReceiver(
98 const PacketReceiverCallback& packet_receiver) { 101 const PacketReceiverCallback& packet_receiver) {
99 transport_->StartReceiving(packet_receiver); 102 transport_->StartReceiving(packet_receiver);
100 } 103 }
101 104
102 void CastTransportSenderImpl::InsertCodedAudioFrame( 105 void CastTransportSenderImpl::InsertCodedAudioFrame(
103 const EncodedFrame& audio_frame) { 106 const EncodedFrame& audio_frame) {
104 DCHECK(audio_sender_) << "Audio sender uninitialized"; 107 DCHECK(audio_sender_) << "Audio sender uninitialized";
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
153 DCHECK(event_subscriber_.get()); 156 DCHECK(event_subscriber_.get());
154 DCHECK(!raw_events_callback_.is_null()); 157 DCHECK(!raw_events_callback_.is_null());
155 std::vector<PacketEvent> packet_events; 158 std::vector<PacketEvent> packet_events;
156 event_subscriber_->GetPacketEventsAndReset(&packet_events); 159 event_subscriber_->GetPacketEventsAndReset(&packet_events);
157 raw_events_callback_.Run(packet_events); 160 raw_events_callback_.Run(packet_events);
158 } 161 }
159 162
160 } // namespace transport 163 } // namespace transport
161 } // namespace cast 164 } // namespace cast
162 } // namespace media 165 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698