#include "pc/payload_type_picker.h"
#include <algorithm>
#include <utility>
#include <vector>
#include "absl/strings/match.h"
#include "api/rtc_error.h"
#include "media/base/codec.h"
namespace webrtc {
namespace {
static const int kFirstDynamicPayloadTypeLowerRange = …;
static const int kLastDynamicPayloadTypeLowerRange = …;
static const int kFirstDynamicPayloadTypeUpperRange = …;
static const int kLastDynamicPayloadTypeUpperRange = …;
bool MatchesForSdp(const cricket::Codec& codec_1,
const cricket::Codec& codec_2) { … }
struct MapTableEntry { … };
RTCErrorOr<PayloadType> FindFreePayloadType(std::set<PayloadType> seen_pt) { … }
}
PayloadTypePicker::PayloadTypePicker() { … }
RTCErrorOr<PayloadType> PayloadTypePicker::SuggestMapping(
cricket::Codec codec,
const PayloadTypeRecorder* excluder) { … }
RTCError PayloadTypePicker::AddMapping(PayloadType payload_type,
cricket::Codec codec) { … }
RTCError PayloadTypeRecorder::AddMapping(PayloadType payload_type,
cricket::Codec codec) { … }
std::vector<std::pair<PayloadType, cricket::Codec>>
PayloadTypeRecorder::GetMappings() const { … }
RTCErrorOr<PayloadType> PayloadTypeRecorder::LookupPayloadType(
cricket::Codec codec) const { … }
RTCErrorOr<cricket::Codec> PayloadTypeRecorder::LookupCodec(
PayloadType payload_type) const { … }
void PayloadTypeRecorder::Commit() { … }
void PayloadTypeRecorder::Rollback() { … }
}