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

Unified Diff: content/common/gpu/media/android_deferred_rendering_backing_strategy.h

Issue 1639963002: AndroidVideoDecodeAccelerator can now render to a SurfaceView (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 months 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: content/common/gpu/media/android_deferred_rendering_backing_strategy.h
diff --git a/content/common/gpu/media/android_deferred_rendering_backing_strategy.h b/content/common/gpu/media/android_deferred_rendering_backing_strategy.h
index 6fc1873cf5a2de07e0544efe20b32a2ce333a870..5dd6879d4e0d5e11dc26da959be1af5ad07b7cbf 100644
--- a/content/common/gpu/media/android_deferred_rendering_backing_strategy.h
+++ b/content/common/gpu/media/android_deferred_rendering_backing_strategy.h
@@ -37,11 +37,11 @@ class CONTENT_EXPORT AndroidDeferredRenderingBackingStrategy
~AndroidDeferredRenderingBackingStrategy() override;
// AndroidVideoDecodeAccelerator::BackingStrategy
- void Initialize(AVDAStateProvider*) override;
+ void Initialize(AVDAStateProvider* state_provider,
+ scoped_refptr<gfx::SurfaceTexture> surface_texture) override;
void Cleanup(bool have_context,
const AndroidVideoDecodeAccelerator::OutputBufferMap&) override;
uint32_t GetTextureTarget() const override;
- scoped_refptr<gfx::SurfaceTexture> CreateSurfaceTexture() override;
void UseCodecBufferForPictureBuffer(int32_t codec_buffer_index,
const media::PictureBuffer&) override;
void AssignOnePictureBuffer(const media::PictureBuffer&) override;
@@ -53,6 +53,12 @@ class CONTENT_EXPORT AndroidDeferredRenderingBackingStrategy
void OnFrameAvailable() override;
private:
+ enum SurfaceKind {
+ UNKNOWN,
+ SURFACE_TEXTURE,
+ SURFACE_VIEW,
+ };
+
// Release any codec buffer that is associated with the given picture buffer
// back to the codec. It is okay if there is no such buffer.
void ReleaseCodecBufferForPicture(const media::PictureBuffer& picture_buffer);
@@ -69,6 +75,11 @@ class CONTENT_EXPORT AndroidDeferredRenderingBackingStrategy
AVDAStateProvider* state_provider_;
+ // What kind of Android surface we're rendering to.
+ SurfaceKind surface_kind_;
+
+ // The SurfaceTexture to render to. Non-null after Initialize() if
+ // surface_kind_ == SURFACE_TEXTURE.
scoped_refptr<gfx::SurfaceTexture> surface_texture_;
media::VideoCodecBridge* media_codec_;

Powered by Google App Engine
This is Rietveld 408576698