1*d9f75844SAndroid Build Coastguard Worker /*
2*d9f75844SAndroid Build Coastguard Worker * Copyright (c) 2019 The WebRTC project authors. All Rights Reserved.
3*d9f75844SAndroid Build Coastguard Worker *
4*d9f75844SAndroid Build Coastguard Worker * Use of this source code is governed by a BSD-style license
5*d9f75844SAndroid Build Coastguard Worker * that can be found in the LICENSE file in the root of the source
6*d9f75844SAndroid Build Coastguard Worker * tree. An additional intellectual property rights grant can be found
7*d9f75844SAndroid Build Coastguard Worker * in the file PATENTS. All contributing project authors may
8*d9f75844SAndroid Build Coastguard Worker * be found in the AUTHORS file in the root of the source tree.
9*d9f75844SAndroid Build Coastguard Worker */
10*d9f75844SAndroid Build Coastguard Worker
11*d9f75844SAndroid Build Coastguard Worker #include "test/pc/e2e/analyzer_helper.h"
12*d9f75844SAndroid Build Coastguard Worker
13*d9f75844SAndroid Build Coastguard Worker #include <string>
14*d9f75844SAndroid Build Coastguard Worker #include <utility>
15*d9f75844SAndroid Build Coastguard Worker
16*d9f75844SAndroid Build Coastguard Worker namespace webrtc {
17*d9f75844SAndroid Build Coastguard Worker namespace webrtc_pc_e2e {
18*d9f75844SAndroid Build Coastguard Worker
AnalyzerHelper()19*d9f75844SAndroid Build Coastguard Worker AnalyzerHelper::AnalyzerHelper() {
20*d9f75844SAndroid Build Coastguard Worker signaling_sequence_checker_.Detach();
21*d9f75844SAndroid Build Coastguard Worker }
22*d9f75844SAndroid Build Coastguard Worker
AddTrackToStreamMapping(absl::string_view track_id,absl::string_view receiver_peer,absl::string_view stream_label,absl::optional<std::string> sync_group)23*d9f75844SAndroid Build Coastguard Worker void AnalyzerHelper::AddTrackToStreamMapping(
24*d9f75844SAndroid Build Coastguard Worker absl::string_view track_id,
25*d9f75844SAndroid Build Coastguard Worker absl::string_view receiver_peer,
26*d9f75844SAndroid Build Coastguard Worker absl::string_view stream_label,
27*d9f75844SAndroid Build Coastguard Worker absl::optional<std::string> sync_group) {
28*d9f75844SAndroid Build Coastguard Worker RTC_DCHECK_RUN_ON(&signaling_sequence_checker_);
29*d9f75844SAndroid Build Coastguard Worker track_to_stream_map_.insert(
30*d9f75844SAndroid Build Coastguard Worker {std::string(track_id),
31*d9f75844SAndroid Build Coastguard Worker StreamInfo{.receiver_peer = std::string(receiver_peer),
32*d9f75844SAndroid Build Coastguard Worker .stream_label = std::string(stream_label),
33*d9f75844SAndroid Build Coastguard Worker .sync_group = sync_group.has_value()
34*d9f75844SAndroid Build Coastguard Worker ? *sync_group
35*d9f75844SAndroid Build Coastguard Worker : std::string(stream_label)}});
36*d9f75844SAndroid Build Coastguard Worker }
37*d9f75844SAndroid Build Coastguard Worker
AddTrackToStreamMapping(std::string track_id,std::string stream_label)38*d9f75844SAndroid Build Coastguard Worker void AnalyzerHelper::AddTrackToStreamMapping(std::string track_id,
39*d9f75844SAndroid Build Coastguard Worker std::string stream_label) {
40*d9f75844SAndroid Build Coastguard Worker RTC_DCHECK_RUN_ON(&signaling_sequence_checker_);
41*d9f75844SAndroid Build Coastguard Worker track_to_stream_map_.insert(
42*d9f75844SAndroid Build Coastguard Worker {std::move(track_id), StreamInfo{stream_label, stream_label}});
43*d9f75844SAndroid Build Coastguard Worker }
44*d9f75844SAndroid Build Coastguard Worker
AddTrackToStreamMapping(std::string track_id,std::string stream_label,std::string sync_group)45*d9f75844SAndroid Build Coastguard Worker void AnalyzerHelper::AddTrackToStreamMapping(std::string track_id,
46*d9f75844SAndroid Build Coastguard Worker std::string stream_label,
47*d9f75844SAndroid Build Coastguard Worker std::string sync_group) {
48*d9f75844SAndroid Build Coastguard Worker RTC_DCHECK_RUN_ON(&signaling_sequence_checker_);
49*d9f75844SAndroid Build Coastguard Worker track_to_stream_map_.insert(
50*d9f75844SAndroid Build Coastguard Worker {std::move(track_id),
51*d9f75844SAndroid Build Coastguard Worker StreamInfo{std::move(stream_label), std::move(sync_group)}});
52*d9f75844SAndroid Build Coastguard Worker }
53*d9f75844SAndroid Build Coastguard Worker
GetStreamInfoFromTrackId(absl::string_view track_id) const54*d9f75844SAndroid Build Coastguard Worker AnalyzerHelper::StreamInfo AnalyzerHelper::GetStreamInfoFromTrackId(
55*d9f75844SAndroid Build Coastguard Worker absl::string_view track_id) const {
56*d9f75844SAndroid Build Coastguard Worker RTC_DCHECK_RUN_ON(&signaling_sequence_checker_);
57*d9f75844SAndroid Build Coastguard Worker auto track_to_stream_pair = track_to_stream_map_.find(std::string(track_id));
58*d9f75844SAndroid Build Coastguard Worker RTC_CHECK(track_to_stream_pair != track_to_stream_map_.end());
59*d9f75844SAndroid Build Coastguard Worker return track_to_stream_pair->second;
60*d9f75844SAndroid Build Coastguard Worker }
61*d9f75844SAndroid Build Coastguard Worker
62*d9f75844SAndroid Build Coastguard Worker } // namespace webrtc_pc_e2e
63*d9f75844SAndroid Build Coastguard Worker } // namespace webrtc
64