| OLD | NEW |
| 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 #ifndef MEDIA_CAST_RTCP_RECEIVER_RTCP_EVENT_SUBSCRIBER_H_ | 5 #ifndef MEDIA_CAST_RTCP_RECEIVER_RTCP_EVENT_SUBSCRIBER_H_ |
| 6 #define MEDIA_CAST_RTCP_RECEIVER_RTCP_EVENT_SUBSCRIBER_H_ | 6 #define MEDIA_CAST_RTCP_RECEIVER_RTCP_EVENT_SUBSCRIBER_H_ |
| 7 | 7 |
| 8 #include <deque> | 8 #include <deque> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 13 matching lines...) Expand all Loading... |
| 24 // - Only processes raw event types that are relevant for sending from cast | 24 // - Only processes raw event types that are relevant for sending from cast |
| 25 // receiver to cast sender via RTCP. | 25 // receiver to cast sender via RTCP. |
| 26 // - Captures information to be sent over to RTCP from raw event logs into the | 26 // - Captures information to be sent over to RTCP from raw event logs into the |
| 27 // more compact RtcpEvent struct. | 27 // more compact RtcpEvent struct. |
| 28 // - Orders events by RTP timestamp with a multimap. | 28 // - Orders events by RTP timestamp with a multimap. |
| 29 // - Internally, the map is capped at a maximum size configurable by the caller. | 29 // - Internally, the map is capped at a maximum size configurable by the caller. |
| 30 // The subscriber only keeps the most recent events (determined by RTP | 30 // The subscriber only keeps the most recent events (determined by RTP |
| 31 // timestamp) up to the size limit. | 31 // timestamp) up to the size limit. |
| 32 class ReceiverRtcpEventSubscriber : public RawEventSubscriber { | 32 class ReceiverRtcpEventSubscriber : public RawEventSubscriber { |
| 33 public: | 33 public: |
| 34 typedef std::pair<RtpTimestamp, RtcpEvent> RtcpEventPair; | 34 typedef std::pair<RtpTimeTicks, RtcpEvent> RtcpEventPair; |
| 35 typedef std::vector<std::pair<RtpTimestamp, RtcpEvent> > RtcpEvents; | 35 typedef std::vector<std::pair<RtpTimeTicks, RtcpEvent>> RtcpEvents; |
| 36 | 36 |
| 37 // |max_size_to_retain|: The object will keep up to |max_size_to_retain| | 37 // |max_size_to_retain|: The object will keep up to |max_size_to_retain| |
| 38 // events | 38 // events |
| 39 // in the map. Once threshold has been reached, an event with the smallest | 39 // in the map. Once threshold has been reached, an event with the smallest |
| 40 // RTP timestamp will be removed. | 40 // RTP timestamp will be removed. |
| 41 // |type|: Determines whether the subscriber will process only audio or video | 41 // |type|: Determines whether the subscriber will process only audio or video |
| 42 // events. | 42 // events. |
| 43 ReceiverRtcpEventSubscriber(const size_t max_size_to_retain, | 43 ReceiverRtcpEventSubscriber(const size_t max_size_to_retain, |
| 44 EventMediaType type); | 44 EventMediaType type); |
| 45 | 45 |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 93 // Ensures methods are only called on the main thread. | 93 // Ensures methods are only called on the main thread. |
| 94 base::ThreadChecker thread_checker_; | 94 base::ThreadChecker thread_checker_; |
| 95 | 95 |
| 96 DISALLOW_COPY_AND_ASSIGN(ReceiverRtcpEventSubscriber); | 96 DISALLOW_COPY_AND_ASSIGN(ReceiverRtcpEventSubscriber); |
| 97 }; | 97 }; |
| 98 | 98 |
| 99 } // namespace cast | 99 } // namespace cast |
| 100 } // namespace media | 100 } // namespace media |
| 101 | 101 |
| 102 #endif // MEDIA_CAST_RTCP_RECEIVER_RTCP_EVENT_SUBSCRIBER_H_ | 102 #endif // MEDIA_CAST_RTCP_RECEIVER_RTCP_EVENT_SUBSCRIBER_H_ |
| OLD | NEW |