| Index: media/filters/gpu_video_decoder.h
|
| diff --git a/media/filters/gpu_video_decoder.h b/media/filters/gpu_video_decoder.h
|
| index 41742e91b42bad90fd878563ade31f016998c00c..f050ffc7e802453f8c5963bf0bebf119bd3bbb2d 100644
|
| --- a/media/filters/gpu_video_decoder.h
|
| +++ b/media/filters/gpu_video_decoder.h
|
| @@ -51,6 +51,7 @@ class MEDIA_EXPORT GpuVideoDecoder
|
| virtual bool HasAlpha() const OVERRIDE;
|
| virtual bool NeedsBitstreamConversion() const OVERRIDE;
|
| virtual bool CanReadWithoutStalling() const OVERRIDE;
|
| + virtual int GetMaxDecodeRequests() const OVERRIDE;
|
|
|
| // VideoDecodeAccelerator::Client implementation.
|
| virtual void NotifyInitializeDone() OVERRIDE;
|
| @@ -93,16 +94,7 @@ class MEDIA_EXPORT GpuVideoDecoder
|
|
|
| typedef std::map<int32, PictureBuffer> PictureBufferMap;
|
|
|
| - // Return true if more decode work can be piled on to the VDA.
|
| - bool CanMoreDecodeWorkBeDone();
|
| -
|
| - // Enqueue a frame for later delivery (or drop it on the floor if a
|
| - // vda->Reset() is in progress) and trigger out-of-line delivery of the oldest
|
| - // ready frame to the client if there is a pending read. A NULL |frame|
|
| - // merely triggers delivery, and requires the ready_video_frames_ queue not be
|
| - // empty.
|
| - void EnqueueFrameAndTriggerFrameDelivery(
|
| - const scoped_refptr<VideoFrame>& frame);
|
| + void DeliverFrame( const scoped_refptr<VideoFrame>& frame);
|
|
|
| // Static method is to allow it to run even after GVD is deleted.
|
| static void ReleaseMailbox(
|
| @@ -142,9 +134,12 @@ class MEDIA_EXPORT GpuVideoDecoder
|
| // occurs.
|
| scoped_ptr<VideoDecodeAccelerator> vda_;
|
|
|
| - // Callbacks that are !is_null() only during their respective operation being
|
| + // Callbacks for the pending Decode requests (not more that
|
| + // GetMaxDecodeRequests()).
|
| + std::list<DecodeCB> pending_decode_callbacks_;
|
| +
|
| + // Callback that is !is_null() only during their respective operation being
|
| // asynchronously executed.
|
| - DecodeCB pending_decode_cb_;
|
| base::Closure pending_reset_cb_;
|
|
|
| State state_;
|
|
|