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

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

Issue 210303003: Cast: Remove LoggingStats in favor of event subscribers. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix compile 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
11 namespace media { 11 namespace media {
12 namespace cast { 12 namespace cast {
13 namespace transport { 13 namespace transport {
14 14
15 scoped_ptr<CastTransportSender> CastTransportSender::Create( 15 scoped_ptr<CastTransportSender> CastTransportSender::Create(
16 net::NetLog* net_log, 16 net::NetLog* net_log,
17 base::TickClock* clock, 17 base::TickClock* clock,
18 const net::IPEndPoint& remote_end_point, 18 const net::IPEndPoint& remote_end_point,
19 const CastLoggingConfig& logging_config,
20 const CastTransportStatusCallback& status_callback, 19 const CastTransportStatusCallback& status_callback,
21 const BulkRawEventsCallback& raw_events_callback, 20 const BulkRawEventsCallback& raw_events_callback,
22 base::TimeDelta raw_events_callback_interval, 21 base::TimeDelta raw_events_callback_interval,
23 const scoped_refptr<base::SingleThreadTaskRunner>& transport_task_runner) { 22 const scoped_refptr<base::SingleThreadTaskRunner>& transport_task_runner) {
24 return scoped_ptr<CastTransportSender>( 23 return scoped_ptr<CastTransportSender>(
25 new CastTransportSenderImpl(net_log, 24 new CastTransportSenderImpl(net_log,
26 clock, 25 clock,
27 remote_end_point, 26 remote_end_point,
28 logging_config,
29 status_callback, 27 status_callback,
30 raw_events_callback, 28 raw_events_callback,
31 raw_events_callback_interval, 29 raw_events_callback_interval,
32 transport_task_runner.get(), 30 transport_task_runner.get(),
33 NULL)); 31 NULL));
34 } 32 }
35 33
36 CastTransportSenderImpl::CastTransportSenderImpl( 34 CastTransportSenderImpl::CastTransportSenderImpl(
37 net::NetLog* net_log, 35 net::NetLog* net_log,
38 base::TickClock* clock, 36 base::TickClock* clock,
39 const net::IPEndPoint& remote_end_point, 37 const net::IPEndPoint& remote_end_point,
40 const CastLoggingConfig& logging_config,
41 const CastTransportStatusCallback& status_callback, 38 const CastTransportStatusCallback& status_callback,
42 const BulkRawEventsCallback& raw_events_callback, 39 const BulkRawEventsCallback& raw_events_callback,
43 base::TimeDelta raw_events_callback_interval, 40 base::TimeDelta raw_events_callback_interval,
44 const scoped_refptr<base::SingleThreadTaskRunner>& transport_task_runner, 41 const scoped_refptr<base::SingleThreadTaskRunner>& transport_task_runner,
45 PacketSender* external_transport) 42 PacketSender* external_transport)
46 : clock_(clock), 43 : clock_(clock),
47 status_callback_(status_callback), 44 status_callback_(status_callback),
48 transport_task_runner_(transport_task_runner), 45 transport_task_runner_(transport_task_runner),
49 transport_(external_transport ? NULL 46 transport_(external_transport ? NULL
50 : new UdpTransport(net_log, 47 : new UdpTransport(net_log,
51 transport_task_runner, 48 transport_task_runner,
52 net::IPEndPoint(), 49 net::IPEndPoint(),
53 remote_end_point, 50 remote_end_point,
54 status_callback)), 51 status_callback)),
55 logging_(logging_config), 52 logging_(),
56 pacer_(clock, 53 pacer_(clock,
57 &logging_, 54 &logging_,
58 external_transport ? external_transport : transport_.get(), 55 external_transport ? external_transport : transport_.get(),
59 transport_task_runner), 56 transport_task_runner),
60 rtcp_builder_(&pacer_), 57 rtcp_builder_(&pacer_),
61 raw_events_callback_(raw_events_callback) { 58 raw_events_callback_(raw_events_callback) {
62 if (!raw_events_callback_.is_null()) { 59 if (!raw_events_callback_.is_null()) {
63 DCHECK(logging_config.enable_raw_data_collection);
64 DCHECK(raw_events_callback_interval > base::TimeDelta()); 60 DCHECK(raw_events_callback_interval > base::TimeDelta());
65 event_subscriber_.reset(new SimpleEventSubscriber); 61 event_subscriber_.reset(new SimpleEventSubscriber);
66 logging_.AddRawEventSubscriber(event_subscriber_.get()); 62 logging_.AddRawEventSubscriber(event_subscriber_.get());
67 raw_events_timer_.Start(FROM_HERE, 63 raw_events_timer_.Start(FROM_HERE,
68 raw_events_callback_interval, 64 raw_events_callback_interval,
69 this, 65 this,
70 &CastTransportSenderImpl::SendRawEvents); 66 &CastTransportSenderImpl::SendRawEvents);
71 } 67 }
72 } 68 }
73 69
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 DCHECK(event_subscriber_.get()); 152 DCHECK(event_subscriber_.get());
157 DCHECK(!raw_events_callback_.is_null()); 153 DCHECK(!raw_events_callback_.is_null());
158 std::vector<PacketEvent> packet_events; 154 std::vector<PacketEvent> packet_events;
159 event_subscriber_->GetPacketEventsAndReset(&packet_events); 155 event_subscriber_->GetPacketEventsAndReset(&packet_events);
160 raw_events_callback_.Run(packet_events); 156 raw_events_callback_.Run(packet_events);
161 } 157 }
162 158
163 } // namespace transport 159 } // namespace transport
164 } // namespace cast 160 } // namespace cast
165 } // namespace media 161 } // namespace media
OLDNEW
« no previous file with comments | « media/cast/transport/cast_transport_sender_impl.h ('k') | media/cast/transport/cast_transport_sender_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698