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

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

Issue 196433002: Cast: Log sender side packet events. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 6 years, 9 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/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 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 PacketSender* external_transport) 48 PacketSender* external_transport)
49 : clock_(clock), 49 : clock_(clock),
50 status_callback_(status_callback), 50 status_callback_(status_callback),
51 transport_task_runner_(transport_task_runner), 51 transport_task_runner_(transport_task_runner),
52 transport_(external_transport ? NULL 52 transport_(external_transport ? NULL
53 : new UdpTransport(net_log, 53 : new UdpTransport(net_log,
54 transport_task_runner, 54 transport_task_runner,
55 local_end_point, 55 local_end_point,
56 remote_end_point, 56 remote_end_point,
57 status_callback)), 57 status_callback)),
58 logging_(logging_config),
58 pacer_(clock, 59 pacer_(clock,
60 &logging_,
59 external_transport ? external_transport : transport_.get(), 61 external_transport ? external_transport : transport_.get(),
60 transport_task_runner), 62 transport_task_runner),
61 rtcp_builder_(&pacer_), 63 rtcp_builder_(&pacer_),
62 logging_(logging_config),
63 raw_events_callback_(raw_events_callback) { 64 raw_events_callback_(raw_events_callback) {
64 if (!raw_events_callback_.is_null()) { 65 if (!raw_events_callback_.is_null()) {
65 DCHECK(logging_config.enable_raw_data_collection); 66 DCHECK(logging_config.enable_raw_data_collection);
66 DCHECK(raw_events_callback_interval > base::TimeDelta()); 67 DCHECK(raw_events_callback_interval > base::TimeDelta());
67 event_subscriber_.reset(new SimpleEventSubscriber); 68 event_subscriber_.reset(new SimpleEventSubscriber);
68 logging_.AddRawEventSubscriber(event_subscriber_.get()); 69 logging_.AddRawEventSubscriber(event_subscriber_.get());
69 raw_events_timer_.Start(FROM_HERE, 70 raw_events_timer_.Start(FROM_HERE,
70 raw_events_callback_interval, 71 raw_events_callback_interval,
71 this, 72 this,
72 &CastTransportSenderImpl::SendRawEvents); 73 &CastTransportSenderImpl::SendRawEvents);
73 } 74 }
74 } 75 }
75 76
76 CastTransportSenderImpl::~CastTransportSenderImpl() { 77 CastTransportSenderImpl::~CastTransportSenderImpl() {
77 if (event_subscriber_.get()) 78 if (event_subscriber_.get())
78 logging_.RemoveRawEventSubscriber(event_subscriber_.get()); 79 logging_.RemoveRawEventSubscriber(event_subscriber_.get());
79 } 80 }
80 81
81 void CastTransportSenderImpl::InitializeAudio( 82 void CastTransportSenderImpl::InitializeAudio(
82 const CastTransportAudioConfig& config) { 83 const CastTransportAudioConfig& config) {
84 pacer_.RegisterAudioSsrc(config.base.ssrc);
83 audio_sender_.reset(new TransportAudioSender( 85 audio_sender_.reset(new TransportAudioSender(
84 config, clock_, transport_task_runner_, &pacer_)); 86 config, clock_, &logging_, transport_task_runner_, &pacer_));
85 if (audio_sender_->initialized()) 87 if (audio_sender_->initialized())
86 status_callback_.Run(TRANSPORT_AUDIO_INITIALIZED); 88 status_callback_.Run(TRANSPORT_AUDIO_INITIALIZED);
87 else 89 else
88 status_callback_.Run(TRANSPORT_AUDIO_UNINITIALIZED); 90 status_callback_.Run(TRANSPORT_AUDIO_UNINITIALIZED);
89 } 91 }
90 92
91 void CastTransportSenderImpl::InitializeVideo( 93 void CastTransportSenderImpl::InitializeVideo(
92 const CastTransportVideoConfig& config) { 94 const CastTransportVideoConfig& config) {
95 pacer_.RegisterVideoSsrc(config.base.ssrc);
93 video_sender_.reset(new TransportVideoSender( 96 video_sender_.reset(new TransportVideoSender(
94 config, clock_, transport_task_runner_, &pacer_)); 97 config, clock_, &logging_, transport_task_runner_, &pacer_));
95 if (video_sender_->initialized()) 98 if (video_sender_->initialized())
96 status_callback_.Run(TRANSPORT_VIDEO_INITIALIZED); 99 status_callback_.Run(TRANSPORT_VIDEO_INITIALIZED);
97 else 100 else
98 status_callback_.Run(TRANSPORT_VIDEO_UNINITIALIZED); 101 status_callback_.Run(TRANSPORT_VIDEO_UNINITIALIZED);
99 } 102 }
100 103
101 void CastTransportSenderImpl::SetPacketReceiver( 104 void CastTransportSenderImpl::SetPacketReceiver(
102 const PacketReceiverCallback& packet_receiver) { 105 const PacketReceiverCallback& packet_receiver) {
103 transport_->StartReceiving(packet_receiver); 106 transport_->StartReceiving(packet_receiver);
104 } 107 }
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 DCHECK(event_subscriber_.get()); 159 DCHECK(event_subscriber_.get());
157 DCHECK(!raw_events_callback_.is_null()); 160 DCHECK(!raw_events_callback_.is_null());
158 std::vector<PacketEvent> packet_events; 161 std::vector<PacketEvent> packet_events;
159 event_subscriber_->GetPacketEventsAndReset(&packet_events); 162 event_subscriber_->GetPacketEventsAndReset(&packet_events);
160 raw_events_callback_.Run(packet_events); 163 raw_events_callback_.Run(packet_events);
161 } 164 }
162 165
163 } // namespace transport 166 } // namespace transport
164 } // namespace cast 167 } // namespace cast
165 } // namespace media 168 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698