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 e203e94ce09bb3c088001bd5bc2959e545f540b2..f9265f299e1c65e054c6a0f2c3621a26325be70b 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, |
@@ -70,6 +72,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_; |