#include "media/base/stream_params.h"
#include <stdint.h>
#include <list>
#include "absl/algorithm/container.h"
#include "api/array_view.h"
#include "rtc_base/strings/string_builder.h"
namespace cricket {
namespace {
void AppendSsrcs(rtc::ArrayView<const uint32_t> ssrcs,
rtc::SimpleStringBuilder* sb) { … }
void AppendSsrcGroups(rtc::ArrayView<const SsrcGroup> ssrc_groups,
rtc::SimpleStringBuilder* sb) { … }
void AppendStreamIds(rtc::ArrayView<const std::string> stream_ids,
rtc::SimpleStringBuilder* sb) { … }
void AppendRids(rtc::ArrayView<const RidDescription> rids,
rtc::SimpleStringBuilder* sb) { … }
}
const char kFecSsrcGroupSemantics[] = …;
const char kFecFrSsrcGroupSemantics[] = …;
const char kFidSsrcGroupSemantics[] = …;
const char kSimSsrcGroupSemantics[] = …;
bool GetStream(const StreamParamsVec& streams,
const StreamSelector& selector,
StreamParams* stream_out) { … }
SsrcGroup::SsrcGroup(const std::string& usage,
const std::vector<uint32_t>& ssrcs)
: … { … }
SsrcGroup::SsrcGroup(const SsrcGroup&) = default;
SsrcGroup::SsrcGroup(SsrcGroup&&) = default;
SsrcGroup::~SsrcGroup() = default;
SsrcGroup& SsrcGroup::operator=(const SsrcGroup&) = default;
SsrcGroup& SsrcGroup::operator=(SsrcGroup&&) = default;
bool SsrcGroup::has_semantics(const std::string& semantics_in) const { … }
std::string SsrcGroup::ToString() const { … }
StreamParams::StreamParams() = default;
StreamParams::StreamParams(const StreamParams&) = default;
StreamParams::StreamParams(StreamParams&&) = default;
StreamParams::~StreamParams() = default;
StreamParams& StreamParams::operator=(const StreamParams&) = default;
StreamParams& StreamParams::operator=(StreamParams&&) = default;
bool StreamParams::operator==(const StreamParams& other) const { … }
std::string StreamParams::ToString() const { … }
void StreamParams::GenerateSsrcs(int num_layers,
bool generate_fid,
bool generate_fec_fr,
rtc::UniqueRandomIdGenerator* ssrc_generator) { … }
void StreamParams::GetPrimarySsrcs(std::vector<uint32_t>* ssrcs) const { … }
void StreamParams::GetSecondarySsrcs(
const std::string& semantics,
const std::vector<uint32_t>& primary_ssrcs,
std::vector<uint32_t>* secondary_ssrcs) const { … }
void StreamParams::GetFidSsrcs(const std::vector<uint32_t>& primary_ssrcs,
std::vector<uint32_t>* fid_ssrcs) const { … }
bool StreamParams::AddSecondarySsrc(const std::string& semantics,
uint32_t primary_ssrc,
uint32_t secondary_ssrc) { … }
bool StreamParams::GetSecondarySsrc(const std::string& semantics,
uint32_t primary_ssrc,
uint32_t* secondary_ssrc) const { … }
std::vector<std::string> StreamParams::stream_ids() const { … }
void StreamParams::set_stream_ids(const std::vector<std::string>& stream_ids) { … }
std::string StreamParams::first_stream_id() const { … }
}