#include "media/filters/offloading_video_decoder.h"
#include <memory>
#include "base/containers/contains.h"
#include "base/functional/bind.h"
#include "base/functional/callback_helpers.h"
#include "base/synchronization/atomic_flag.h"
#include "base/task/bind_post_task.h"
#include "base/task/sequenced_task_runner.h"
#include "base/task/thread_pool.h"
#include "media/base/cdm_context.h"
#include "media/base/decoder_buffer.h"
#include "media/base/video_frame.h"
namespace media {
class CancellationHelper { … };
OffloadingVideoDecoder::OffloadingVideoDecoder(
int min_offloading_width,
std::vector<VideoCodec> supported_codecs,
std::unique_ptr<OffloadableVideoDecoder> decoder)
: … { … }
OffloadingVideoDecoder::~OffloadingVideoDecoder() { … }
VideoDecoderType OffloadingVideoDecoder::GetDecoderType() const { … }
void OffloadingVideoDecoder::Initialize(const VideoDecoderConfig& config,
bool low_delay,
CdmContext* cdm_context,
InitCB init_cb,
const OutputCB& output_cb,
const WaitingCB& waiting_cb) { … }
void OffloadingVideoDecoder::Decode(scoped_refptr<DecoderBuffer> buffer,
DecodeCB decode_cb) { … }
void OffloadingVideoDecoder::Reset(base::OnceClosure reset_cb) { … }
int OffloadingVideoDecoder::GetMaxDecodeRequests() const { … }
}