#include "api/jsep_session_description.h"
#include <memory>
#include <utility>
#include "absl/types/optional.h"
#include "p2p/base/p2p_constants.h"
#include "p2p/base/port.h"
#include "p2p/base/transport_description.h"
#include "p2p/base/transport_info.h"
#include "pc/media_session.h"
#include "pc/webrtc_sdp.h"
#include "rtc_base/checks.h"
#include "rtc_base/ip_address.h"
#include "rtc_base/logging.h"
#include "rtc_base/net_helper.h"
#include "rtc_base/socket_address.h"
Candidate;
SessionDescription;
namespace webrtc {
namespace {
constexpr char kDummyAddress[] = …;
constexpr int kDummyPort = …;
void UpdateConnectionAddress(
const JsepCandidateCollection& candidate_collection,
cricket::MediaContentDescription* media_desc) { … }
}
SdpType SessionDescriptionInterface::GetType() const { … }
SessionDescriptionInterface* CreateSessionDescription(const std::string& type,
const std::string& sdp,
SdpParseError* error) { … }
std::unique_ptr<SessionDescriptionInterface> CreateSessionDescription(
SdpType type,
const std::string& sdp) { … }
std::unique_ptr<SessionDescriptionInterface> CreateSessionDescription(
SdpType type,
const std::string& sdp,
SdpParseError* error_out) { … }
std::unique_ptr<SessionDescriptionInterface> CreateSessionDescription(
SdpType type,
const std::string& session_id,
const std::string& session_version,
std::unique_ptr<cricket::SessionDescription> description) { … }
JsepSessionDescription::JsepSessionDescription(SdpType type) : … { … }
JsepSessionDescription::JsepSessionDescription(const std::string& type) { … }
JsepSessionDescription::JsepSessionDescription(
SdpType type,
std::unique_ptr<cricket::SessionDescription> description,
absl::string_view session_id,
absl::string_view session_version)
: … { … }
JsepSessionDescription::~JsepSessionDescription() { … }
bool JsepSessionDescription::Initialize(
std::unique_ptr<cricket::SessionDescription> description,
const std::string& session_id,
const std::string& session_version) { … }
std::unique_ptr<SessionDescriptionInterface> JsepSessionDescription::Clone()
const { … }
bool JsepSessionDescription::AddCandidate(
const IceCandidateInterface* candidate) { … }
size_t JsepSessionDescription::RemoveCandidates(
const std::vector<Candidate>& candidates) { … }
size_t JsepSessionDescription::number_of_mediasections() const { … }
const IceCandidateCollection* JsepSessionDescription::candidates(
size_t mediasection_index) const { … }
bool JsepSessionDescription::ToString(std::string* out) const { … }
bool JsepSessionDescription::GetMediasectionIndex(
const IceCandidateInterface* candidate,
size_t* index) { … }
int JsepSessionDescription::GetMediasectionIndex(const Candidate& candidate) { … }
}