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 afb695487133751f82a0019fc02937a629812b68..177fef8ca10c91ffcc6ea8cd930e370952f3c3c0 100644 |
--- a/content/browser/renderer_host/media/video_capture_device_client.h |
+++ b/content/browser/renderer_host/media/video_capture_device_client.h |
@@ -12,6 +12,7 @@ |
#include "media/video/capture/video_capture_device.h" |
namespace content { |
+class GpuJpegDecoder; |
class VideoCaptureBufferPool; |
class VideoCaptureController; |
@@ -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, |
@@ -69,6 +71,12 @@ class CONTENT_EXPORT VideoCaptureDeviceClient |
// The controller to which we post events. |
const base::WeakPtr<VideoCaptureController> controller_; |
+ // Hardware JPEG decoder. |
+ scoped_ptr<GpuJpegDecoder> 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_; |