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

Unified Diff: content/browser/renderer_host/media/video_capture_device_client.h

Issue 1132683004: MJPEG acceleration for video capture, browser part (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@mjpeg-2-gpu
Patch Set: rebase Created 5 years, 6 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
« no previous file with comments | « no previous file | content/browser/renderer_host/media/video_capture_device_client.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/renderer_host/media/video_capture_device_client.h
diff --git a/content/browser/renderer_host/media/video_capture_device_client.h b/content/browser/renderer_host/media/video_capture_device_client.h
index 2adcd2de2261fc681630533e81d91c18a1bc62ca..083af99af72c79ae4da47ee6d8add1f18e597925 100644
--- a/content/browser/renderer_host/media/video_capture_device_client.h
+++ b/content/browser/renderer_host/media/video_capture_device_client.h
@@ -14,6 +14,7 @@
namespace content {
class VideoCaptureBufferPool;
class VideoCaptureController;
+class VideoCaptureGpuJpegDecoder;
// Receives events from the VideoCaptureDevice and posts them to a |controller_|
// on the IO thread. An instance of this class may safely outlive its target
@@ -30,7 +31,8 @@ class VideoCaptureController;
// manages the necessary entities to interact with the GPU process, notably an
// offscreen Context to avoid janking the UI thread.
class CONTENT_EXPORT VideoCaptureDeviceClient
- : public media::VideoCaptureDevice::Client {
+ : public media::VideoCaptureDevice::Client,
+ public base::SupportsWeakPtr<VideoCaptureDeviceClient> {
public:
VideoCaptureDeviceClient(
const base::WeakPtr<VideoCaptureController>& controller,
@@ -72,6 +74,12 @@ class CONTENT_EXPORT VideoCaptureDeviceClient
// The controller to which we post events.
const base::WeakPtr<VideoCaptureController> controller_;
+ // Hardware JPEG decoder.
+ scoped_ptr<VideoCaptureGpuJpegDecoder> external_jpeg_decoder_;
+
+ // Whether |external_jpeg_decoder_| has been initialized.
+ bool external_jpeg_decoder_initialized_;
+
// The pool of shared-memory buffers used for capturing.
const scoped_refptr<VideoCaptureBufferPool> buffer_pool_;
« no previous file with comments | « no previous file | content/browser/renderer_host/media/video_capture_device_client.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698