Index: ppapi/cpp/video_decoder.h |
diff --git a/ppapi/cpp/video_decoder.h b/ppapi/cpp/video_decoder.h |
index f1f2d91fe4aff3c8b74695870048e8bb61560193..d1eded3059c1d17f645e1b9f06cc6ba67f6cd812 100644 |
--- a/ppapi/cpp/video_decoder.h |
+++ b/ppapi/cpp/video_decoder.h |
@@ -81,9 +81,8 @@ class VideoDecoder : public Resource { |
const CompletionCallback& callback); |
/// Decodes a bitstream buffer. Copies |size| bytes of data from the plugin's |
- /// |buffer|. The plugin should maintain the buffer and not call Decode() |
- /// again until the decoder signals completion by returning PP_OK or by |
- /// running |callback|. |
+ /// |buffer|. The plugin should wait until the decoder signals completion by |
+ /// returning PP_OK or by running |callback| before calling Decode() again. |
/// |
/// In general, each bitstream buffer should contain a demuxed bitstream frame |
/// for the selected video codec. For example, H264 decoders expect to receive |
@@ -105,6 +104,11 @@ class VideoDecoder : public Resource { |
/// completion. |
/// |
/// @return An int32_t containing an error code from <code>pp_errors.h</code>. |
+ /// Returns PP_ERROR_FAILED if the decoder isn't initialized or if a Flush() |
+ /// or Reset() call is pending. |
+ /// Returns PP_ERROR_INPROGRESS if there is another Decode() call pending. |
+ /// Returns PP_ERROR_NOMEMORY if a bitstream buffer can't be created. |
+ /// Returns PP_ERROR_ABORTED when Reset() is called while Decode() is pending. |
int32_t Decode(uint32_t decode_id, |
uint32_t size, |
const void* buffer, |
@@ -122,7 +126,9 @@ class VideoDecoder : public Resource { |
/// called on completion, and on success, to hold the picture descriptor. |
/// |
/// @return An int32_t containing an error code from <code>pp_errors.h</code>. |
- /// Returns PP_OK if a picture is available. |
+ /// Returns PP_ERROR_FAILED if the decoder isn't initialized or if a Reset() |
+ /// call is pending. |
+ /// Returns PP_ERROR_INPROGRESS if there is another GetPicture() call pending. |
/// Returns PP_ERROR_ABORTED when Reset() is called, or if a call to Flush() |
/// completes while GetPicture() is pending. |
int32_t GetPicture( |
@@ -136,31 +142,37 @@ class VideoDecoder : public Resource { |
/// decoder. |
void RecyclePicture(const PP_VideoPicture& picture); |
- /// Flushes the decoder. The plugin should call this when it reaches the end |
- /// of its video stream in order to stop cleanly. The decoder will run all |
- /// pending calls to completion. The plugin should make no further calls to |
- /// the decoder other than GetPicture() and RecyclePicture() until the decoder |
- /// signals completion by running the callback. Just before completion, any |
- /// pending GetPicture() call will complete by running the callback with |
- /// result PP_ERROR_ABORTED to signal that no more pictures are available. |
+ /// Flushes the decoder. The plugin should call Flush() when it reaches the |
+ /// end of its video stream in order to stop cleanly. The decoder will run any |
+ /// pending Decode() call to completion. The plugin should make no further |
+ /// calls to the decoder other than GetPicture() and RecyclePicture() until |
+ /// the decoder signals completion by running |callback|. Just before |
+ /// completion, any pending GetPicture() call will complete by running its |
+ /// callback with result PP_ERROR_ABORTED to signal that no more pictures are |
+ /// available. The plugin should recycle any pictures it is using before |
+ /// resuming decoding. |
/// |
/// @param[in] callback A <code>CompletionCallback</code> to be called on |
/// completion. |
/// |
/// @return An int32_t containing an error code from <code>pp_errors.h</code>. |
+ /// Returns PP_ERROR_FAILED if the decoder isn't initialized. |
int32_t Flush(const CompletionCallback& callback); |
/// Resets the decoder as quickly as possible. The plugin can call Reset() to |
- /// skip to another position in the video stream. Pending calls to Decode() |
- /// and GetPicture()) are immediately aborted, causing their callbacks to run |
- /// with PP_ERROR_ABORTED. The plugin should not make any further calls to the |
- /// decoder until the decoder signals completion by running |callback|. |
+ /// skip to another position in the video stream. After Reset() returns, any |
+ /// pending calls to Decode() and GetPicture()) abort, causing their callbacks |
+ /// to run with PP_ERROR_ABORTED. The plugin should not make further calls to |
+ /// the decoder until the decoder signals completion by running |callback|. |
+ /// The pictures in use by the plugin remain valid until decoding is resumed, |
+ /// but need not be recycled. |
/// |
/// @param[in] callback A <code>CompletionCallback</code> to be called on |
/// completion. |
/// |
/// @return An int32_t containing an error code from <code>pp_errors.h</code>. |
- int32_t Reset(const CompletionCallback& callback); |
+ /// Returns PP_ERROR_FAILED if the decoder isn't initialized. |
+int32_t Reset(const CompletionCallback& callback); |
}; |
} // namespace pp |