#include "media/base/video_frame_pool.h"
#include "base/containers/circular_deque.h"
#include "base/functional/bind.h"
#include "base/logging.h"
#include "base/memory/raw_ptr.h"
#include "base/memory/ref_counted.h"
#include "base/synchronization/lock.h"
#include "base/thread_annotations.h"
#include "base/time/default_tick_clock.h"
#include "base/time/time.h"
namespace media {
class VideoFramePool::PoolImpl
: public base::RefCountedThreadSafe<VideoFramePool::PoolImpl> { … };
VideoFramePool::PoolImpl::PoolImpl()
: … { … }
VideoFramePool::PoolImpl::~PoolImpl() { … }
scoped_refptr<VideoFrame> VideoFramePool::PoolImpl::CreateFrame(
VideoPixelFormat format,
const gfx::Size& coded_size,
const gfx::Rect& visible_rect,
const gfx::Size& natural_size,
base::TimeDelta timestamp) { … }
void VideoFramePool::PoolImpl::Shutdown() { … }
void VideoFramePool::PoolImpl::FrameReleased(scoped_refptr<VideoFrame> frame) { … }
VideoFramePool::VideoFramePool() : … { … }
VideoFramePool::~VideoFramePool() { … }
scoped_refptr<VideoFrame> VideoFramePool::CreateFrame(
VideoPixelFormat format,
const gfx::Size& coded_size,
const gfx::Rect& visible_rect,
const gfx::Size& natural_size,
base::TimeDelta timestamp) { … }
size_t VideoFramePool::GetPoolSizeForTesting() const { … }
void VideoFramePool::SetTickClockForTesting(const base::TickClock* tick_clock) { … }
}