#include "third_party/blink/renderer/modules/webcodecs/reclaimable_codec.h"
#include "base/location.h"
#include "base/time/default_tick_clock.h"
#include "third_party/blink/renderer/core/dom/dom_exception.h"
#include "third_party/blink/renderer/core/execution_context/execution_context.h"
#include "third_party/blink/renderer/modules/webcodecs/codec_pressure_manager.h"
#include "third_party/blink/renderer/modules/webcodecs/codec_pressure_manager_provider.h"
#include "third_party/blink/renderer/platform/heap/persistent.h"
#include "third_party/blink/renderer/platform/wtf/functional.h"
namespace blink {
constexpr base::TimeDelta ReclaimableCodec::kInactivityReclamationThreshold;
ReclaimableCodec::ReclaimableCodec(CodecType type, ExecutionContext* context)
: … { … }
void ReclaimableCodec::Trace(Visitor* visitor) const { … }
void ReclaimableCodec::ApplyCodecPressure() { … }
void ReclaimableCodec::ReleaseCodecPressure() { … }
void ReclaimableCodec::Dispose() { … }
void ReclaimableCodec::SetGlobalPressureExceededFlag(
bool global_pressure_exceeded) { … }
void ReclaimableCodec::OnLifecycleStateChanged(
scheduler::SchedulingLifecycleState lifecycle_state) { … }
void ReclaimableCodec::SimulateLifecycleStateForTesting(
scheduler::SchedulingLifecycleState state) { … }
void ReclaimableCodec::SimulateCodecReclaimedForTesting() { … }
void ReclaimableCodec::SimulateActivityTimerFiredForTesting() { … }
void ReclaimableCodec::MarkCodecActive() { … }
void ReclaimableCodec::OnReclamationPreconditionsUpdated() { … }
bool ReclaimableCodec::AreReclamationPreconditionsMet() { … }
void ReclaimableCodec::StartIdleReclamationTimer() { … }
void ReclaimableCodec::StopIdleReclamationTimer() { … }
void ReclaimableCodec::OnActivityTimerFired(TimerBase*) { … }
CodecPressureManager* ReclaimableCodec::PressureManager() { … }
}