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

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

Issue 43283002: Enable GLX/EGL backend switching while run HW video decode with libva. (Closed) Base URL: https://git.chromium.org/chromium/src.git@master
Patch Set: Created 7 years, 2 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/vaapi_video_decode_accelerator.h
diff --git a/content/common/gpu/media/vaapi_video_decode_accelerator.h b/content/common/gpu/media/vaapi_video_decode_accelerator.h
index 1755b98f3d5e37749b36bd36ee5f2b84644c118d..332ea9bd1aa2646774a9da0876c74c7d0138dcfa 100644
--- a/content/common/gpu/media/vaapi_video_decode_accelerator.h
+++ b/content/common/gpu/media/vaapi_video_decode_accelerator.h
@@ -45,7 +45,11 @@ class CONTENT_EXPORT VaapiVideoDecodeAccelerator
: public VideoDecodeAcceleratorImpl {
public:
VaapiVideoDecodeAccelerator(
+#if defined(VIDEO_TEXTURE_GLX_BACKEND)
Display* x_display, GLXContext glx_context,
+#elif defined(VIDEO_TEXTURE_EGL_BACKEND)
+ EGLDisplay egl_display, EGLContext egl_context,
+#endif
Client* client,
const base::Callback<bool(void)>& make_context_current);
virtual ~VaapiVideoDecodeAccelerator();
@@ -117,11 +121,11 @@ private:
// Helper for Destroy(), doing all the actual work except for deleting self.
void Cleanup();
-
+#if defined(VIDEO_TEXTURE_GLX_BACKEND)
// Get a usable framebuffer configuration for use in binding textures
// or return false on failure.
bool InitializeFBConfig();
-
+#endif
// Callback for the decoder to execute when it wants us to output given
// |va_surface|.
void SurfaceReady(int32 input_id, const scoped_refptr<VASurface>& va_surface);
@@ -153,9 +157,15 @@ private:
// Client-provided X/GLX state.
Display* x_display_;
+
+#if defined(VIDEO_TEXTURE_GLX_BACKEND)
GLXContext glx_context_;
- base::Callback<bool(void)> make_context_current_;
GLXFBConfig fb_config_;
+#elif defined(VIDEO_TEXTURE_EGL_BACKEND)
+ EGLDisplay egl_display_;
+ EGLContext egl_context_;
+#endif
+ base::Callback<bool(void)> make_context_current_;
// VAVDA state.
enum State {

Powered by Google App Engine
This is Rietveld 408576698