Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(133)

Unified Diff: media/video/video_decode_accelerator.h

Issue 1490333005: Don't require VDAs to return all PictureBuffers at once. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: cl feedback Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: media/video/video_decode_accelerator.h
diff --git a/media/video/video_decode_accelerator.h b/media/video/video_decode_accelerator.h
index da184ee2d46247169282e08793638e64aa18cc81..5ab81c364d8374e702c6cb16a696a5c9fa1966fe 100644
--- a/media/video/video_decode_accelerator.h
+++ b/media/video/video_decode_accelerator.h
@@ -34,6 +34,29 @@ class MEDIA_EXPORT VideoDecodeAccelerator {
};
using SupportedProfiles = std::vector<SupportedProfile>;
+ struct MEDIA_EXPORT Capabilities {
+ Capabilities();
+ ~Capabilities();
+ // Flags that can be associated with a VDA.
+ enum Flags {
+ NO_FLAGS = 0,
+
+ // Normally, the VDA is required to be able to provide all PictureBuffers
+ // to the client via PictureReady(), even if the client does not return
+ // any of them via ReusePictureBuffer(). The client is only required to
+ // return PictureBuffers when it holds all of them, if it wants to get
+ // more decoded output. See VideoDecoder::CanReadWithoutStalling for
+ // more context.
+ // If this flag is set, then the VDA does not make this guarantee. The
+ // client must return PictureBuffers to be sure that new frames will be
+ // provided via PictureReady.
Pawel Osciak 2015/12/09 01:31:49 Nice! Really clear. Thank you.
liberato (no reviews please) 2015/12/09 22:15:31 Acknowledged.
+ CAN_STALL_ANY_TIME = 1 << 0,
Pawel Osciak 2015/12/09 01:31:49 Might I suggest NEEDS_ALL_PICTURE_BUFFERS_TO_DECOD
liberato (no reviews please) 2015/12/09 22:15:31 Done.
+ };
+
+ SupportedProfiles supported_profiles;
+ Flags flags;
Pawel Osciak 2015/12/09 01:31:49 Ah now I see why the cast was needed, somehow miss
liberato (no reviews please) 2015/12/09 22:15:31 done, and kept the enum to hold the symbolic names
+ };
+
// Enumeration of potential errors generated by the API.
// Note: Keep these in sync with PP_VideoDecodeError_Dev. Also do not
// rearrange, reuse or remove values as they are used for gathering UMA

Powered by Google App Engine
This is Rietveld 408576698