Index: services/video_capture/device_media_to_mojo_adapter.h |
diff --git a/services/video_capture/device_media_to_mojo_adapter.h b/services/video_capture/device_media_to_mojo_adapter.h |
index e09e9c08b3c8f1213e0f8dfeb99e47fab7d1c79d..f0b7591e57564c5f6cc6008b0b2e8d42639325ed 100644 |
--- a/services/video_capture/device_media_to_mojo_adapter.h |
+++ b/services/video_capture/device_media_to_mojo_adapter.h |
@@ -8,20 +8,25 @@ |
#include "media/capture/video/video_capture_device.h" |
#include "media/capture/video/video_capture_device_client.h" |
#include "media/capture/video_capture_types.h" |
+#include "services/service_manager/public/cpp/service_context_ref.h" |
#include "services/video_capture/public/interfaces/device.mojom.h" |
namespace video_capture { |
+class ReceiverMojoToMediaAdapter; |
+ |
// Implementation of mojom::Device backed by a given instance of |
// media::VideoCaptureDevice. |
class DeviceMediaToMojoAdapter : public mojom::Device { |
public: |
- DeviceMediaToMojoAdapter(std::unique_ptr<media::VideoCaptureDevice> device, |
- const media::VideoCaptureJpegDecoderFactoryCB& |
- jpeg_decoder_factory_callback); |
+ DeviceMediaToMojoAdapter( |
+ std::unique_ptr<service_manager::ServiceContextRef> service_ref, |
+ std::unique_ptr<media::VideoCaptureDevice> device, |
+ const media::VideoCaptureJpegDecoderFactoryCB& |
+ jpeg_decoder_factory_callback); |
~DeviceMediaToMojoAdapter() override; |
- // mojom::Device: |
+ // mojom::Device implementation. |
void Start(const media::VideoCaptureParams& requested_settings, |
mojom::ReceiverPtr receiver) override; |
void OnReceiverReportingUtilization(int32_t frame_feedback_id, |
@@ -36,9 +41,12 @@ class DeviceMediaToMojoAdapter : public mojom::Device { |
static int max_buffer_pool_buffer_count(); |
private: |
+ const std::unique_ptr<service_manager::ServiceContextRef> service_ref_; |
const std::unique_ptr<media::VideoCaptureDevice> device_; |
media::VideoCaptureJpegDecoderFactoryCB jpeg_decoder_factory_callback_; |
- bool device_running_; |
+ bool device_started_; |
+ ReceiverMojoToMediaAdapter* receiver_adapter_ptr_ = nullptr; |
+ base::ThreadChecker thread_checker_; |
}; |
} // namespace video_capture |