| /* | 
 |  *  Copyright 2023 The WebRTC project authors. All Rights Reserved. | 
 |  * | 
 |  *  Use of this source code is governed by a BSD-style license | 
 |  *  that can be found in the LICENSE file in the root of the source | 
 |  *  tree. An additional intellectual property rights grant can be found | 
 |  *  in the file PATENTS.  All contributing project authors may | 
 |  *  be found in the AUTHORS file in the root of the source tree. | 
 |  */ | 
 |  | 
 | #include "pc/test/simulcast_layer_util.h" | 
 |  | 
 | #include "absl/algorithm/container.h" | 
 | #include "rtc_base/checks.h" | 
 |  | 
 | namespace webrtc { | 
 |  | 
 | std::vector<cricket::SimulcastLayer> CreateLayers( | 
 |     const std::vector<std::string>& rids, | 
 |     const std::vector<bool>& active) { | 
 |   RTC_DCHECK_EQ(rids.size(), active.size()); | 
 |   std::vector<cricket::SimulcastLayer> result; | 
 |   absl::c_transform(rids, active, std::back_inserter(result), | 
 |                     [](const std::string& rid, bool is_active) { | 
 |                       return cricket::SimulcastLayer(rid, !is_active); | 
 |                     }); | 
 |   return result; | 
 | } | 
 |  | 
 | std::vector<cricket::SimulcastLayer> CreateLayers( | 
 |     const std::vector<std::string>& rids, | 
 |     bool active) { | 
 |   return CreateLayers(rids, std::vector<bool>(rids.size(), active)); | 
 | } | 
 |  | 
 | RtpTransceiverInit CreateTransceiverInit( | 
 |     const std::vector<cricket::SimulcastLayer>& layers) { | 
 |   RtpTransceiverInit init; | 
 |   for (const cricket::SimulcastLayer& layer : layers) { | 
 |     RtpEncodingParameters encoding; | 
 |     encoding.rid = layer.rid; | 
 |     encoding.active = !layer.is_paused; | 
 |     init.send_encodings.push_back(encoding); | 
 |   } | 
 |   return init; | 
 | } | 
 |  | 
 | cricket::SimulcastDescription RemoveSimulcast(SessionDescriptionInterface* sd) { | 
 |   auto mcd = sd->description()->contents()[0].media_description(); | 
 |   auto result = mcd->simulcast_description(); | 
 |   mcd->set_simulcast_description(cricket::SimulcastDescription()); | 
 |   return result; | 
 | } | 
 |  | 
 | }  // namespace webrtc |