| 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 CONTENT_RENDERER_MEDIA_WEBRTC_MEDIA_STREAM_TRACK_METRICS_H_ | 5 #ifndef CONTENT_RENDERER_MEDIA_WEBRTC_MEDIA_STREAM_TRACK_METRICS_H_ |
| 6 #define CONTENT_RENDERER_MEDIA_WEBRTC_MEDIA_STREAM_TRACK_METRICS_H_ | 6 #define CONTENT_RENDERER_MEDIA_WEBRTC_MEDIA_STREAM_TRACK_METRICS_H_ |
| 7 | 7 |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include "base/memory/scoped_vector.h" | 10 #include <memory> |
| 11 #include <vector> |
| 12 |
| 11 #include "base/threading/non_thread_safe.h" | 13 #include "base/threading/non_thread_safe.h" |
| 12 #include "content/common/content_export.h" | 14 #include "content/common/content_export.h" |
| 13 #include "third_party/webrtc/api/peerconnectioninterface.h" | 15 #include "third_party/webrtc/api/peerconnectioninterface.h" |
| 14 | 16 |
| 15 namespace webrtc { | 17 namespace webrtc { |
| 16 class MediaStreamInterface; | 18 class MediaStreamInterface; |
| 17 } | 19 } |
| 18 | 20 |
| 19 namespace content { | 21 namespace content { |
| 20 | 22 |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 83 // is a one-to-one relationship). | 85 // is a one-to-one relationship). |
| 84 uint64_t MakeUniqueIdImpl(uint64_t pc_id, | 86 uint64_t MakeUniqueIdImpl(uint64_t pc_id, |
| 85 const std::string& track, | 87 const std::string& track, |
| 86 StreamType stream_type); | 88 StreamType stream_type); |
| 87 | 89 |
| 88 private: | 90 private: |
| 89 // Make a unique ID for the given track, that is valid while the | 91 // Make a unique ID for the given track, that is valid while the |
| 90 // track object and the PeerConnection it is attached to both exist. | 92 // track object and the PeerConnection it is attached to both exist. |
| 91 uint64_t MakeUniqueId(const std::string& track, StreamType stream_type); | 93 uint64_t MakeUniqueId(const std::string& track, StreamType stream_type); |
| 92 | 94 |
| 93 typedef ScopedVector<MediaStreamTrackMetricsObserver> ObserverVector; | 95 typedef std::vector<std::unique_ptr<MediaStreamTrackMetricsObserver>> |
| 96 ObserverVector; |
| 94 ObserverVector observers_; | 97 ObserverVector observers_; |
| 95 | 98 |
| 96 webrtc::PeerConnectionInterface::IceConnectionState ice_state_; | 99 webrtc::PeerConnectionInterface::IceConnectionState ice_state_; |
| 97 }; | 100 }; |
| 98 | 101 |
| 99 } // namespace | 102 } // namespace |
| 100 | 103 |
| 101 #endif // CONTENT_RENDERER_MEDIA_WEBRTC_MEDIA_STREAM_TRACK_METRICS_H_ | 104 #endif // CONTENT_RENDERER_MEDIA_WEBRTC_MEDIA_STREAM_TRACK_METRICS_H_ |
| OLD | NEW |