| Index: media/cast/logging/logging_impl.cc
|
| diff --git a/media/cast/logging/logging_impl.cc b/media/cast/logging/logging_impl.cc
|
| index ec0099c6b931009949405bae3152e69f4f040977..7bfc4741176d78b22b0e85aff5da2a5c19e242a7 100644
|
| --- a/media/cast/logging/logging_impl.cc
|
| +++ b/media/cast/logging/logging_impl.cc
|
| @@ -9,20 +9,19 @@
|
| namespace media {
|
| namespace cast {
|
|
|
| -LoggingImpl::LoggingImpl(
|
| - scoped_refptr<base::SingleThreadTaskRunner> main_thread_proxy,
|
| - const CastLoggingConfig& config)
|
| - : main_thread_proxy_(main_thread_proxy),
|
| - config_(config),
|
| - raw_(),
|
| - stats_() {}
|
| +LoggingImpl::LoggingImpl(const CastLoggingConfig& config)
|
| + : config_(config), raw_(), stats_() {
|
| + // LoggingImpl can be constructed on any thread, but its methods should all be
|
| + // called on the same thread.
|
| + thread_checker_.DetachFromThread();
|
| +}
|
|
|
| LoggingImpl::~LoggingImpl() {}
|
|
|
| void LoggingImpl::InsertFrameEvent(const base::TimeTicks& time_of_event,
|
| CastLoggingEvent event, uint32 rtp_timestamp,
|
| uint32 frame_id) {
|
| - DCHECK(main_thread_proxy_->RunsTasksOnCurrentThread());
|
| + DCHECK(thread_checker_.CalledOnValidThread());
|
| if (config_.enable_raw_data_collection) {
|
| raw_.InsertFrameEvent(time_of_event, event, rtp_timestamp, frame_id);
|
| }
|
| @@ -40,7 +39,7 @@ void LoggingImpl::InsertFrameEventWithSize(const base::TimeTicks& time_of_event,
|
| CastLoggingEvent event,
|
| uint32 rtp_timestamp,
|
| uint32 frame_id, int frame_size) {
|
| - DCHECK(main_thread_proxy_->RunsTasksOnCurrentThread());
|
| + DCHECK(thread_checker_.CalledOnValidThread());
|
| if (config_.enable_raw_data_collection) {
|
| raw_.InsertFrameEventWithSize(time_of_event, event, rtp_timestamp, frame_id,
|
| frame_size);
|
| @@ -61,7 +60,7 @@ void LoggingImpl::InsertFrameEventWithSize(const base::TimeTicks& time_of_event,
|
| void LoggingImpl::InsertFrameEventWithDelay(
|
| const base::TimeTicks& time_of_event, CastLoggingEvent event,
|
| uint32 rtp_timestamp, uint32 frame_id, base::TimeDelta delay) {
|
| - DCHECK(main_thread_proxy_->RunsTasksOnCurrentThread());
|
| + DCHECK(thread_checker_.CalledOnValidThread());
|
| if (config_.enable_raw_data_collection) {
|
| raw_.InsertFrameEventWithDelay(time_of_event, event, rtp_timestamp,
|
| frame_id, delay);
|
| @@ -82,7 +81,7 @@ void LoggingImpl::InsertFrameEventWithDelay(
|
| void LoggingImpl::InsertPacketListEvent(const base::TimeTicks& time_of_event,
|
| CastLoggingEvent event,
|
| const PacketList& packets) {
|
| - DCHECK(main_thread_proxy_->RunsTasksOnCurrentThread());
|
| + DCHECK(thread_checker_.CalledOnValidThread());
|
| for (unsigned int i = 0; i < packets.size(); ++i) {
|
| const Packet& packet = packets[i];
|
| // Parse basic properties.
|
| @@ -107,7 +106,7 @@ void LoggingImpl::InsertPacketEvent(const base::TimeTicks& time_of_event,
|
| uint32 rtp_timestamp, uint32 frame_id,
|
| uint16 packet_id, uint16 max_packet_id,
|
| size_t size) {
|
| - DCHECK(main_thread_proxy_->RunsTasksOnCurrentThread());
|
| + DCHECK(thread_checker_.CalledOnValidThread());
|
| if (config_.enable_raw_data_collection) {
|
| raw_.InsertPacketEvent(time_of_event, event, rtp_timestamp, frame_id,
|
| packet_id, max_packet_id, size);
|
| @@ -126,7 +125,7 @@ void LoggingImpl::InsertPacketEvent(const base::TimeTicks& time_of_event,
|
|
|
| void LoggingImpl::InsertGenericEvent(const base::TimeTicks& time_of_event,
|
| CastLoggingEvent event, int value) {
|
| - DCHECK(main_thread_proxy_->RunsTasksOnCurrentThread());
|
| + DCHECK(thread_checker_.CalledOnValidThread());
|
| if (config_.enable_raw_data_collection) {
|
| raw_.InsertGenericEvent(time_of_event, event, value);
|
| }
|
| @@ -142,31 +141,33 @@ void LoggingImpl::InsertGenericEvent(const base::TimeTicks& time_of_event,
|
| }
|
|
|
| void LoggingImpl::AddRawEventSubscriber(RawEventSubscriber* subscriber) {
|
| + DCHECK(thread_checker_.CalledOnValidThread());
|
| raw_.AddSubscriber(subscriber);
|
| }
|
|
|
| void LoggingImpl::RemoveRawEventSubscriber(RawEventSubscriber* subscriber) {
|
| + DCHECK(thread_checker_.CalledOnValidThread());
|
| raw_.RemoveSubscriber(subscriber);
|
| }
|
|
|
| FrameStatsMap LoggingImpl::GetFrameStatsData(EventMediaType media_type) const {
|
| - DCHECK(main_thread_proxy_->RunsTasksOnCurrentThread());
|
| + DCHECK(thread_checker_.CalledOnValidThread());
|
| return stats_.GetFrameStatsData(media_type);
|
| }
|
|
|
| PacketStatsMap LoggingImpl::GetPacketStatsData(
|
| EventMediaType media_type) const {
|
| - DCHECK(main_thread_proxy_->RunsTasksOnCurrentThread());
|
| + DCHECK(thread_checker_.CalledOnValidThread());
|
| return stats_.GetPacketStatsData(media_type);
|
| }
|
|
|
| GenericStatsMap LoggingImpl::GetGenericStatsData() const {
|
| - DCHECK(main_thread_proxy_->RunsTasksOnCurrentThread());
|
| + DCHECK(thread_checker_.CalledOnValidThread());
|
| return stats_.GetGenericStatsData();
|
| }
|
|
|
| void LoggingImpl::ResetStats() {
|
| - DCHECK(main_thread_proxy_->RunsTasksOnCurrentThread());
|
| + DCHECK(thread_checker_.CalledOnValidThread());
|
| stats_.Reset();
|
| }
|
|
|
|
|