#ifdef UNSAFE_BUFFERS_BUILD
#pragma allow_unsafe_buffers
#endif
#include "third_party/blink/renderer/platform/peerconnection/resolution_monitor.h"
#include <bitset>
#include "base/containers/span.h"
#include "base/logging.h"
#include "base/memory/ptr_util.h"
#include "base/notreached.h"
#include "base/numerics/safe_conversions.h"
#include "media/base/decoder_buffer.h"
#include "media/parsers/vp8_parser.h"
#include "media/parsers/vp9_parser.h"
#include "third_party/abseil-cpp/absl/types/variant.h"
#include "third_party/libgav1/src/src/buffer_pool.h"
#include "third_party/libgav1/src/src/decoder_state.h"
#include "third_party/libgav1/src/src/obu_parser.h"
#include "third_party/webrtc/common_video/h264/h264_common.h"
#include "third_party/webrtc/common_video/h264/sps_parser.h"
namespace blink {
namespace {
class Vp8ResolutionMonitor : public ResolutionMonitor { … };
class Vp9ResolutionMonitor : public ResolutionMonitor { … };
class Av1ResolutionMonitor : public ResolutionMonitor { … };
class H264ResolutionMonitor : public ResolutionMonitor { … };
}
ResolutionMonitor::~ResolutionMonitor() = default;
std::unique_ptr<ResolutionMonitor> ResolutionMonitor::Create(
media::VideoCodec codec) { … }
}