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
3 // found in the LICENSE file.
4 
5 #include "media/cast/logging/simple_event_subscriber.h"
6 
7 #include "base/check.h"
8 
9 namespace media {
10 namespace cast {
11 
12 SimpleEventSubscriber::SimpleEventSubscriber() = default;
13 
~SimpleEventSubscriber()14 SimpleEventSubscriber::~SimpleEventSubscriber() {
15   DCHECK(thread_checker_.CalledOnValidThread());
16 }
17 
OnReceiveFrameEvent(const FrameEvent & frame_event)18 void SimpleEventSubscriber::OnReceiveFrameEvent(const FrameEvent& frame_event) {
19   DCHECK(thread_checker_.CalledOnValidThread());
20   frame_events_.push_back(frame_event);
21 }
22 
OnReceivePacketEvent(const PacketEvent & packet_event)23 void SimpleEventSubscriber::OnReceivePacketEvent(
24     const PacketEvent& packet_event) {
25   DCHECK(thread_checker_.CalledOnValidThread());
26   packet_events_.push_back(packet_event);
27 }
28 
GetFrameEventsAndReset(std::vector<FrameEvent> * frame_events)29 void SimpleEventSubscriber::GetFrameEventsAndReset(
30     std::vector<FrameEvent>* frame_events) {
31   DCHECK(thread_checker_.CalledOnValidThread());
32   frame_events->swap(frame_events_);
33   frame_events_.clear();
34 }
35 
GetPacketEventsAndReset(std::vector<PacketEvent> * packet_events)36 void SimpleEventSubscriber::GetPacketEventsAndReset(
37     std::vector<PacketEvent>* packet_events) {
38   DCHECK(thread_checker_.CalledOnValidThread());
39   packet_events->swap(packet_events_);
40   packet_events_.clear();
41 }
42 
43 }  // namespace cast
44 }  // namespace media
45