Chromium Code Reviews| Index: media/base/video_decoder.h |
| diff --git a/media/base/video_decoder.h b/media/base/video_decoder.h |
| index 81b93f7778ba8dd0869aeb9bd777849dc17a3ddc..cab8eb4d9a64f191a72ab7b832f9381c79f8b5f4 100644 |
| --- a/media/base/video_decoder.h |
| +++ b/media/base/video_decoder.h |
| @@ -46,8 +46,11 @@ class MEDIA_EXPORT VideoDecoder { |
| const PipelineStatusCB& status_cb) = 0; |
| // Requests a |buffer| to be decoded. The status of the decoder and decoded |
| - // frame are returned via the provided callback. Only one decode may be in |
| - // flight at any given time. |
| + // frame are returned via the provided callback. Some decoders may allow |
| + // decoding multiple buffers in parallel. Callers should call |
| + // GetMaxDecodeRequests() to get number of parallel that may be decoded in |
|
xhwang
2014/04/29 20:01:26
s/parallel/buffers ?
Sergey Ulanov
2014/04/30 18:56:52
Done.
|
| + // parallel. Decoder must call |decode_cb| in the same order in which Decode() |
| + // is called. |
| // |
| // Implementations guarantee that the callback will not be called from within |
| // this method. |
| @@ -64,6 +67,8 @@ class MEDIA_EXPORT VideoDecoder { |
| // Some VideoDecoders may queue up multiple VideoFrames from a single |
| // DecoderBuffer, if we have any such queued frames this will return the next |
| // one. Otherwise we return a NULL VideoFrame. |
| + // |
| + // TODO(xhwang): Revisit this method. |
| virtual scoped_refptr<VideoFrame> GetDecodeOutput(); |
| // Resets decoder state, fulfilling all pending DecodeCB and dropping extra |
| @@ -88,6 +93,9 @@ class MEDIA_EXPORT VideoDecoder { |
| // use a fixed set of VideoFrames for decoding. |
| virtual bool CanReadWithoutStalling() const; |
| + // Returns maximum number of parallel decode requests. |
| + virtual int GetMaxDecodeRequests() const; |
| + |
| private: |
| DISALLOW_COPY_AND_ASSIGN(VideoDecoder); |
| }; |