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); |
}; |