diff options
author | bbudge@chromium.org <bbudge@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-21 16:55:18 +0000 |
---|---|---|
committer | bbudge@chromium.org <bbudge@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-21 16:55:18 +0000 |
commit | 3966d9d33239e61873481c9e3c875e60770b4373 (patch) | |
tree | c06f1fc38c42df808a6527c87328e83209d97104 /ppapi/cpp | |
parent | c67679fcd04b5e69400e3d4c55019b3aaf915780 (diff) | |
download | chromium_src-3966d9d33239e61873481c9e3c875e60770b4373.zip chromium_src-3966d9d33239e61873481c9e3c875e60770b4373.tar.gz chromium_src-3966d9d33239e61873481c9e3c875e60770b4373.tar.bz2 |
Update PPB_VideoDecoder documentation.
The Decode function should not require the plugin to
maintain its buffer when it completes asynchronously.
BUG=281689
R=dmichael@chromium.org
Review URL: https://codereview.chromium.org/291083003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@271917 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/cpp')
-rw-r--r-- | ppapi/cpp/video_decoder.h | 44 |
1 files changed, 28 insertions, 16 deletions
diff --git a/ppapi/cpp/video_decoder.h b/ppapi/cpp/video_decoder.h index f1f2d91..d1eded3 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 |