xref: /aosp_15_r20/external/webrtc/test/pc/e2e/analyzer_helper.cc (revision d9f758449e529ab9291ac668be2861e7a55c2422)
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