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

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

Issue 1559203003: Add GLStreamTextureImage (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: added enum, removed count parameter. Created 4 years, 10 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/avda_shared_state.h
diff --git a/content/common/gpu/media/avda_shared_state.h b/content/common/gpu/media/avda_shared_state.h
index eb62681fcd5bd13474c0146f31eabaf1f8524b77..3b384469944cbca029f30ec5949520eedc4964b6 100644
--- a/content/common/gpu/media/avda_shared_state.h
+++ b/content/common/gpu/media/avda_shared_state.h
@@ -15,6 +15,7 @@
namespace gfx {
class SurfaceTexture;
+class GLShareGroup;
}
namespace content {
@@ -50,10 +51,26 @@ class AVDASharedState : public base::RefCounted<AVDASharedState> {
return surface_texture_is_attached_;
}
+ // TODO(liberato): move the surface texture here and make these calls
+ // attach / detach it also. There are several changes going on in avda
+ // concurrently, so I don't want to change that until the dust settles.
+ // AVDACodecImage would no longer hold the surface texture.
+
// Call this when the SurfaceTexture is attached to a GL context. This will
// update surface_texture_is_attached(), and set the context() and surface()
// to match.
- void did_attach_surface_texture();
+ void DidAttachSurfaceTexture();
+
+ // Call this when the SurfaceTexture is detached from its GL context. This
+ // will cause us to forget the last binding.
+ void DidDetachSurfaceTexture();
+
+ // Get and set the share group for our SurfaceTexture.
+ void set_share_group(const scoped_refptr<gfx::GLShareGroup>& share_group) {
+ share_group_ = share_group;
+ }
+
+ gfx::GLShareGroup* share_group() const { return share_group_.get(); }
private:
// Platform gl texture Id for |surface_texture_|. This will be zero if
@@ -72,6 +89,9 @@ class AVDASharedState : public base::RefCounted<AVDASharedState> {
scoped_refptr<gfx::GLContext> context_;
scoped_refptr<gfx::GLSurface> surface_;
+ // The GL share group that we must be to reference our surface texture.
+ scoped_refptr<gfx::GLShareGroup> share_group_;
+
protected:
virtual ~AVDASharedState();

Powered by Google App Engine
This is Rietveld 408576698