blob: 1b288735be3fe2f7cdfca5e9c255af36b4e54bc6 [file] [log] [blame]
henrike@webrtc.org28e20752013-07-10 00:45:361/*
kjellander1afca732016-02-08 04:46:452 * Copyright (c) 2004 The WebRTC project authors. All Rights Reserved.
henrike@webrtc.org28e20752013-07-10 00:45:363 *
kjellander1afca732016-02-08 04:46:454 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
henrike@webrtc.org28e20752013-07-10 00:45:369 */
10
Steve Anton10542f22019-01-11 17:11:0011#include "media/base/test_utils.h"
henrike@webrtc.org28e20752013-07-10 00:45:3612
Yves Gerey3e707812018-11-28 15:47:4913#include <cstdint>
henrike@webrtc.org28e20752013-07-10 00:45:3614
Mirko Bonadei92ea95e2017-09-15 04:47:3115#include "api/video/video_frame.h"
Yves Gerey3e707812018-11-28 15:47:4916#include "api/video/video_source_interface.h"
henrike@webrtc.org28e20752013-07-10 00:45:3617
18namespace cricket {
19
sergeyu@chromium.org5bc25c42013-12-05 00:24:0620cricket::StreamParams CreateSimStreamParams(
Peter Boström0c4e06b2015-10-07 10:23:2121 const std::string& cname,
22 const std::vector<uint32_t>& ssrcs) {
sergeyu@chromium.org5bc25c42013-12-05 00:24:0623 cricket::StreamParams sp;
24 cricket::SsrcGroup sg(cricket::kSimSsrcGroupSemantics, ssrcs);
25 sp.ssrcs = ssrcs;
26 sp.ssrc_groups.push_back(sg);
27 sp.cname = cname;
28 return sp;
29}
30
31// There should be an rtx_ssrc per ssrc.
32cricket::StreamParams CreateSimWithRtxStreamParams(
Peter Boström0c4e06b2015-10-07 10:23:2133 const std::string& cname,
34 const std::vector<uint32_t>& ssrcs,
35 const std::vector<uint32_t>& rtx_ssrcs) {
sergeyu@chromium.org5bc25c42013-12-05 00:24:0636 cricket::StreamParams sp = CreateSimStreamParams(cname, ssrcs);
37 for (size_t i = 0; i < ssrcs.size(); ++i) {
Philipp Hancke07764152023-06-26 10:27:3138 sp.AddFidSsrc(ssrcs[i], rtx_ssrcs[i]);
sergeyu@chromium.org5bc25c42013-12-05 00:24:0639 }
40 return sp;
41}
42
Philipp Hancke07764152023-06-26 10:27:3143// There should be one fec ssrc per ssrc.
brandtr9688e382016-11-22 08:59:4844cricket::StreamParams CreatePrimaryWithFecFrStreamParams(
45 const std::string& cname,
46 uint32_t primary_ssrc,
47 uint32_t flexfec_ssrc) {
48 cricket::StreamParams sp;
brandtr9688e382016-11-22 08:59:4849 sp.ssrcs = {primary_ssrc};
brandtr9688e382016-11-22 08:59:4850 sp.cname = cname;
Philipp Hancke07764152023-06-26 10:27:3151 sp.AddFecFrSsrc(primary_ssrc, flexfec_ssrc);
brandtr9688e382016-11-22 08:59:4852 return sp;
53}
54
henrike@webrtc.org28e20752013-07-10 00:45:3655} // namespace cricket