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_; |