Index: media/filters/vpx_video_decoder.h |
diff --git a/media/filters/vpx_video_decoder.h b/media/filters/vpx_video_decoder.h |
index 5b0e5c03a6f4b10ec750c6d4bb36e6b8d9bb83f5..978e824d3ecab03c6204a61e23042c86aedf399a 100644 |
--- a/media/filters/vpx_video_decoder.h |
+++ b/media/filters/vpx_video_decoder.h |
@@ -22,6 +22,7 @@ class SingleThreadTaskRunner; |
} |
namespace media { |
+class GpuMemoryBufferVideoFramePool; |
// Libvpx video decoder wrapper. |
// Note: VpxVideoDecoder accepts only YV12A VP8 content or VP9 content. This is |
@@ -33,6 +34,8 @@ namespace media { |
class MEDIA_EXPORT VpxVideoDecoder : public VideoDecoder { |
public: |
VpxVideoDecoder(); |
+ explicit VpxVideoDecoder( |
+ std::unique_ptr<GpuMemoryBufferVideoFramePool> gpu_video_frame_pool); |
~VpxVideoDecoder() override; |
// VideoDecoder implementation. |
@@ -74,6 +77,7 @@ class MEDIA_EXPORT VpxVideoDecoder : public VideoDecoder { |
scoped_refptr<VideoFrame>* video_frame); |
bool CopyVpxImageToVideoFrame(const struct vpx_image* vpx_image, |
+ const scoped_refptr<DecoderBuffer>& buffer, |
scoped_refptr<VideoFrame>* video_frame); |
base::ThreadChecker thread_checker_; |
@@ -98,7 +102,7 @@ class MEDIA_EXPORT VpxVideoDecoder : public VideoDecoder { |
// we share a per-process thread to avoid overly long blocks. |
scoped_refptr<base::SingleThreadTaskRunner> offload_task_runner_; |
- VideoFramePool frame_pool_; |
+ std::unique_ptr<GpuMemoryBufferVideoFramePool> gpu_video_frame_pool_; |
DISALLOW_COPY_AND_ASSIGN(VpxVideoDecoder); |
}; |