Commit 3746650c authored by Wei Lee's avatar Wei Lee Committed by Commit Bot

Adds getCameraFacing() API for CCA

This CL adds getCameraFacing() API for CCA to get camera facing.

Bug: None
Test: Manually
Change-Id: Ic400ed3012416f6d22f61fb553f9a74e7a1c24dd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1624425Reviewed-by: default avatarRobert Sesek <rsesek@chromium.org>
Reviewed-by: default avatarSheng-hao Tsao <shenghao@chromium.org>
Reviewed-by: default avatarRicky Liang <jcliang@chromium.org>
Commit-Queue: Wei Lee <wtlee@chromium.org>
Cr-Commit-Position: refs/heads/master@{#663003}
parent a05125d4
...@@ -200,6 +200,7 @@ copy("chrome_camera_app_views") { ...@@ -200,6 +200,7 @@ copy("chrome_camera_app_views") {
copy("chrome_camera_app_mojo_generated") { copy("chrome_camera_app_mojo_generated") {
sources = [ sources = [
"$root_gen_dir/media/capture/mojom/image_capture.mojom-lite.js", "$root_gen_dir/media/capture/mojom/image_capture.mojom-lite.js",
"$root_gen_dir/media/capture/video/chromeos/mojo/camera_common.mojom-lite.js",
"$root_gen_dir/media/capture/video/chromeos/mojo/camera_metadata.mojom-lite.js", "$root_gen_dir/media/capture/video/chromeos/mojo/camera_metadata.mojom-lite.js",
"$root_gen_dir/media/capture/video/chromeos/mojo/camera_metadata_tags.mojom-lite.js", "$root_gen_dir/media/capture/video/chromeos/mojo/camera_metadata_tags.mojom-lite.js",
"$root_gen_dir/media/capture/video/chromeos/mojo/cros_image_capture.mojom-lite.js", "$root_gen_dir/media/capture/video/chromeos/mojo/cros_image_capture.mojom-lite.js",
......
...@@ -129,9 +129,10 @@ cca.mojo.ImageCapture.prototype.getPhotoCapabilities = function() { ...@@ -129,9 +129,10 @@ cca.mojo.ImageCapture.prototype.getPhotoCapabilities = function() {
return Promise return Promise
.all([ .all([
this.capture_.getPhotoCapabilities(), this.capture_.getPhotoCapabilities(),
this.mojoCapture_.getStaticMetadata(this.deviceId_), this.mojoCapture_.getCameraInfo(this.deviceId_),
]) ])
.then(([capabilities, {staticMetadata}]) => { .then(([capabilities, {cameraInfo}]) => {
const staticMetadata = cameraInfo.staticCameraCharacteristics;
let supportedEffects = [cros.mojom.Effect.NO_EFFECT]; let supportedEffects = [cros.mojom.Effect.NO_EFFECT];
if (cca.mojo.getMetadataData_(staticMetadata, portraitModeTag).length > if (cca.mojo.getMetadataData_(staticMetadata, portraitModeTag).length >
0) { 0) {
...@@ -188,7 +189,8 @@ cca.mojo.getPhotoResolutions = function(deviceId) { ...@@ -188,7 +189,8 @@ cca.mojo.getPhotoResolutions = function(deviceId) {
const numElementPerEntry = 4; const numElementPerEntry = 4;
const mojoCapture = cros.mojom.CrosImageCapture.getProxy(); const mojoCapture = cros.mojom.CrosImageCapture.getProxy();
return mojoCapture.getStaticMetadata(deviceId).then(({staticMetadata}) => { return mojoCapture.getCameraInfo(deviceId).then(({cameraInfo}) => {
const staticMetadata = cameraInfo.staticCameraCharacteristics;
const streamConfigs = cca.mojo.getMetadataData_( const streamConfigs = cca.mojo.getMetadataData_(
staticMetadata, staticMetadata,
cros.mojom.CameraMetadataTag cros.mojom.CameraMetadataTag
...@@ -235,7 +237,8 @@ cca.mojo.getVideoConfigs = function(deviceId) { ...@@ -235,7 +237,8 @@ cca.mojo.getVideoConfigs = function(deviceId) {
const numElementPerEntry = 4; const numElementPerEntry = 4;
var mojoCapture = cros.mojom.CrosImageCapture.getProxy(); var mojoCapture = cros.mojom.CrosImageCapture.getProxy();
return mojoCapture.getStaticMetadata(deviceId).then(({staticMetadata}) => { return mojoCapture.getCameraInfo(deviceId).then(({cameraInfo}) => {
const staticMetadata = cameraInfo.staticCameraCharacteristics;
const minFrameDurationConfigs = cca.mojo.getMetadataData_( const minFrameDurationConfigs = cca.mojo.getMetadataData_(
staticMetadata, staticMetadata,
cros.mojom.CameraMetadataTag cros.mojom.CameraMetadataTag
...@@ -264,3 +267,16 @@ cca.mojo.getVideoConfigs = function(deviceId) { ...@@ -264,3 +267,16 @@ cca.mojo.getVideoConfigs = function(deviceId) {
return supportedConfigs; return supportedConfigs;
}); });
}; };
/**
* Gets camera facing for given device.
* @param {string} deviceId The renderer-facing device Id of the target camera
* which could be retrieved from MediaDeviceInfo.deviceId.
* @return {Promise<cros.mojom.CameraFacing>} Promise of device facing.
*/
cca.mojo.getCameraFacing = function(deviceId) {
var mojoCapture = cros.mojom.CrosImageCapture.getProxy();
return mojoCapture.getCameraInfo(deviceId).then(({cameraInfo}) => {
return cameraInfo.facing;
});
};
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
<script src="../js/mojo/mojo_bindings_lite.js"></script> <script src="../js/mojo/mojo_bindings_lite.js"></script>
<script src="../js/mojo/camera_metadata_tags.mojom-lite.js"></script> <script src="../js/mojo/camera_metadata_tags.mojom-lite.js"></script>
<script src="../js/mojo/camera_metadata.mojom-lite.js"></script> <script src="../js/mojo/camera_metadata.mojom-lite.js"></script>
<script src="../js/mojo/camera_common.mojom-lite.js"></script>
<script src="../js/mojo/image_capture.mojom-lite.js"></script> <script src="../js/mojo/image_capture.mojom-lite.js"></script>
<script src="../js/mojo/cros_image_capture.mojom-lite.js"></script> <script src="../js/mojo/cros_image_capture.mojom-lite.js"></script>
<script src="../js/mojo/imagecapture.js"></script> <script src="../js/mojo/imagecapture.js"></script>
......
...@@ -429,12 +429,12 @@ void CameraDeviceDelegate::OnGotCameraInfo( ...@@ -429,12 +429,12 @@ void CameraDeviceDelegate::OnGotCameraInfo(
FROM_HERE, "Failed to get camera info"); FROM_HERE, "Failed to get camera info");
return; return;
} }
reprocess_manager_->UpdateCameraInfo(device_descriptor_.device_id,
camera_info);
SortCameraMetadata(&camera_info->static_camera_characteristics); SortCameraMetadata(&camera_info->static_camera_characteristics);
static_metadata_ = std::move(camera_info->static_camera_characteristics); static_metadata_ = std::move(camera_info->static_camera_characteristics);
reprocess_manager_->UpdateStaticMetadata(device_descriptor_.device_id,
static_metadata_);
const cros::mojom::CameraMetadataEntryPtr* sensor_orientation = const cros::mojom::CameraMetadataEntryPtr* sensor_orientation =
GetMetadataEntry( GetMetadataEntry(
static_metadata_, static_metadata_,
......
...@@ -23,12 +23,11 @@ void CrosImageCaptureImpl::BindRequest( ...@@ -23,12 +23,11 @@ void CrosImageCaptureImpl::BindRequest(
bindings_.AddBinding(this, std::move(request)); bindings_.AddBinding(this, std::move(request));
} }
void CrosImageCaptureImpl::GetStaticMetadata( void CrosImageCaptureImpl::GetCameraInfo(const std::string& device_id,
const std::string& device_id, GetCameraInfoCallback callback) {
GetStaticMetadataCallback callback) { reprocess_manager_->GetCameraInfo(
reprocess_manager_->GetStaticMetadata(
device_id, media::BindToCurrentLoop(base::BindOnce( device_id, media::BindToCurrentLoop(base::BindOnce(
&CrosImageCaptureImpl::OnGotStaticMetadata, &CrosImageCaptureImpl::OnGotCameraInfo,
base::Unretained(this), std::move(callback)))); base::Unretained(this), std::move(callback))));
} }
...@@ -40,10 +39,10 @@ void CrosImageCaptureImpl::SetReprocessOption( ...@@ -40,10 +39,10 @@ void CrosImageCaptureImpl::SetReprocessOption(
device_id, effect, media::BindToCurrentLoop(std::move(callback))); device_id, effect, media::BindToCurrentLoop(std::move(callback)));
} }
void CrosImageCaptureImpl::OnGotStaticMetadata( void CrosImageCaptureImpl::OnGotCameraInfo(
GetStaticMetadataCallback callback, GetCameraInfoCallback callback,
cros::mojom::CameraMetadataPtr static_metadata) { cros::mojom::CameraInfoPtr camera_info) {
std::move(callback).Run(std::move(static_metadata)); std::move(callback).Run(std::move(camera_info));
} }
} // namespace media } // namespace media
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
#include <string> #include <string>
#include "media/capture/video/chromeos/mojo/camera_metadata.mojom.h" #include "media/capture/video/chromeos/mojo/camera_common.mojom.h"
#include "media/capture/video/chromeos/mojo/cros_image_capture.mojom.h" #include "media/capture/video/chromeos/mojo/cros_image_capture.mojom.h"
#include "media/capture/video/chromeos/reprocess_manager.h" #include "media/capture/video/chromeos/reprocess_manager.h"
#include "mojo/public/cpp/bindings/binding_set.h" #include "mojo/public/cpp/bindings/binding_set.h"
...@@ -23,15 +23,15 @@ class CrosImageCaptureImpl : public cros::mojom::CrosImageCapture { ...@@ -23,15 +23,15 @@ class CrosImageCaptureImpl : public cros::mojom::CrosImageCapture {
// cros::mojom::CrosImageCapture implementations. // cros::mojom::CrosImageCapture implementations.
void GetStaticMetadata(const std::string& device_id, void GetCameraInfo(const std::string& device_id,
GetStaticMetadataCallback callback) override; GetCameraInfoCallback callback) override;
void SetReprocessOption(const std::string& device_id, void SetReprocessOption(const std::string& device_id,
cros::mojom::Effect effect, cros::mojom::Effect effect,
SetReprocessOptionCallback callback) override; SetReprocessOptionCallback callback) override;
private: private:
void OnGotStaticMetadata(GetStaticMetadataCallback callback, void OnGotCameraInfo(GetCameraInfoCallback callback,
cros::mojom::CameraMetadataPtr static_metadata); cros::mojom::CameraInfoPtr camera_info);
ReprocessManager* reprocess_manager_; // weak ReprocessManager* reprocess_manager_; // weak
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
module cros.mojom; module cros.mojom;
import "media/capture/mojom/image_capture.mojom"; import "media/capture/mojom/image_capture.mojom";
import "media/capture/video/chromeos/mojo/camera_metadata.mojom"; import "media/capture/video/chromeos/mojo/camera_common.mojom";
// Effect that recognized by Chrome OS. // Effect that recognized by Chrome OS.
enum Effect { enum Effect {
...@@ -19,10 +19,10 @@ enum Effect { ...@@ -19,10 +19,10 @@ enum Effect {
// translated to the actual video device id to be used in CrosImageCapture // translated to the actual video device id to be used in CrosImageCapture
// implementation. // implementation.
interface CrosImageCapture { interface CrosImageCapture {
// Gets camera static metadata |static_metadata| which includes camera // Gets camera information |camera_info| which includes camera facing,
// characteristics information. The |source_id| might need // characteristics, orientation, etc. The |source_id| might need translation
// translation to be actual video device id. // to be actual video device id.
GetStaticMetadata(string source_id) => (CameraMetadata static_metadata); GetCameraInfo(string source_id) => (CameraInfo camera_info);
// Sets reprocess option to bind with the coming take photo request. When this // Sets reprocess option to bind with the coming take photo request. When this
// method is called, the reprocess option will be queued. All reprocess // method is called, the reprocess option will be queued. All reprocess
......
...@@ -23,11 +23,11 @@ RendererFacingCrosImageCapture::RendererFacingCrosImageCapture( ...@@ -23,11 +23,11 @@ RendererFacingCrosImageCapture::RendererFacingCrosImageCapture(
RendererFacingCrosImageCapture::~RendererFacingCrosImageCapture() = default; RendererFacingCrosImageCapture::~RendererFacingCrosImageCapture() = default;
void RendererFacingCrosImageCapture::GetStaticMetadataWithRealId( void RendererFacingCrosImageCapture::GetCameraInfoWithRealId(
GetStaticMetadataCallback callback, GetCameraInfoCallback callback,
const base::Optional<std::string>& device_id) { const base::Optional<std::string>& device_id) {
DCHECK(device_id.has_value()); DCHECK(device_id.has_value());
cros_image_capture_->GetStaticMetadata(*device_id, std::move(callback)); cros_image_capture_->GetCameraInfo(*device_id, std::move(callback));
} }
void RendererFacingCrosImageCapture::SetReprocessOptionWithRealId( void RendererFacingCrosImageCapture::SetReprocessOptionWithRealId(
...@@ -39,14 +39,13 @@ void RendererFacingCrosImageCapture::SetReprocessOptionWithRealId( ...@@ -39,14 +39,13 @@ void RendererFacingCrosImageCapture::SetReprocessOptionWithRealId(
std::move(callback)); std::move(callback));
} }
void RendererFacingCrosImageCapture::GetStaticMetadata( void RendererFacingCrosImageCapture::GetCameraInfo(
const std::string& source_id, const std::string& source_id,
GetStaticMetadataCallback callback) { GetCameraInfoCallback callback) {
mapping_callback_.Run( mapping_callback_.Run(
source_id, source_id, media::BindToCurrentLoop(base::BindOnce(
media::BindToCurrentLoop(base::BindOnce( &RendererFacingCrosImageCapture::GetCameraInfoWithRealId,
&RendererFacingCrosImageCapture::GetStaticMetadataWithRealId, weak_ptr_factory_.GetWeakPtr(), std::move(callback))));
weak_ptr_factory_.GetWeakPtr(), std::move(callback))));
} }
void RendererFacingCrosImageCapture::SetReprocessOption( void RendererFacingCrosImageCapture::SetReprocessOption(
......
...@@ -33,9 +33,8 @@ class CAPTURE_EXPORT RendererFacingCrosImageCapture ...@@ -33,9 +33,8 @@ class CAPTURE_EXPORT RendererFacingCrosImageCapture
DeviceIdMappingCallback mapping_callback); DeviceIdMappingCallback mapping_callback);
~RendererFacingCrosImageCapture() override; ~RendererFacingCrosImageCapture() override;
void GetStaticMetadataWithRealId( void GetCameraInfoWithRealId(GetCameraInfoCallback callback,
GetStaticMetadataCallback callback, const base::Optional<std::string>& device_id);
const base::Optional<std::string>& device_id);
void SetReprocessOptionWithRealId( void SetReprocessOptionWithRealId(
cros::mojom::Effect effect, cros::mojom::Effect effect,
...@@ -43,8 +42,8 @@ class CAPTURE_EXPORT RendererFacingCrosImageCapture ...@@ -43,8 +42,8 @@ class CAPTURE_EXPORT RendererFacingCrosImageCapture
const base::Optional<std::string>& device_id); const base::Optional<std::string>& device_id);
// cros::mojom::CrosImageCapture implementations. // cros::mojom::CrosImageCapture implementations.
void GetStaticMetadata(const std::string& source_id, void GetCameraInfo(const std::string& source_id,
GetStaticMetadataCallback callback) override; GetCameraInfoCallback callback) override;
void SetReprocessOption(const std::string& source_id, void SetReprocessOption(const std::string& source_id,
cros::mojom::Effect effect, cros::mojom::Effect effect,
SetReprocessOptionCallback callback) override; SetReprocessOptionCallback callback) override;
......
...@@ -44,7 +44,7 @@ int ReprocessManager::GetReprocessReturnCode( ...@@ -44,7 +44,7 @@ int ReprocessManager::GetReprocessReturnCode(
return kReprocessSuccess; return kReprocessSuccess;
} }
ReprocessManager::ReprocessManager(UpdateStaticMetadataCallback callback) ReprocessManager::ReprocessManager(UpdateCameraInfoCallback callback)
: sequenced_task_runner_(base::CreateSequencedTaskRunnerWithTraits( : sequenced_task_runner_(base::CreateSequencedTaskRunnerWithTraits(
{base::TaskPriority::USER_VISIBLE})), {base::TaskPriority::USER_VISIBLE})),
impl(new ReprocessManager::ReprocessManagerImpl(std::move(callback))) {} impl(new ReprocessManager::ReprocessManagerImpl(std::move(callback))) {}
...@@ -86,28 +86,28 @@ void ReprocessManager::FlushReprocessOptions(const std::string& device_id) { ...@@ -86,28 +86,28 @@ void ReprocessManager::FlushReprocessOptions(const std::string& device_id) {
base::Unretained(impl.get()), device_id)); base::Unretained(impl.get()), device_id));
} }
void ReprocessManager::GetStaticMetadata(const std::string& device_id, void ReprocessManager::GetCameraInfo(const std::string& device_id,
GetStaticMetadataCallback callback) { GetCameraInfoCallback callback) {
sequenced_task_runner_->PostTask( sequenced_task_runner_->PostTask(
FROM_HERE, FROM_HERE,
base::BindOnce(&ReprocessManager::ReprocessManagerImpl::GetStaticMetadata, base::BindOnce(&ReprocessManager::ReprocessManagerImpl::GetCameraInfo,
base::Unretained(impl.get()), device_id, base::Unretained(impl.get()), device_id,
std::move(callback))); std::move(callback)));
} }
void ReprocessManager::UpdateStaticMetadata( void ReprocessManager::UpdateCameraInfo(
const std::string& device_id, const std::string& device_id,
const cros::mojom::CameraMetadataPtr& metadata) { const cros::mojom::CameraInfoPtr& camera_info) {
sequenced_task_runner_->PostTask( sequenced_task_runner_->PostTask(
FROM_HERE, FROM_HERE,
base::BindOnce( base::BindOnce(&ReprocessManager::ReprocessManagerImpl::UpdateCameraInfo,
&ReprocessManager::ReprocessManagerImpl::UpdateStaticMetadata, base::Unretained(impl.get()), device_id,
base::Unretained(impl.get()), device_id, metadata.Clone())); camera_info.Clone()));
} }
ReprocessManager::ReprocessManagerImpl::ReprocessManagerImpl( ReprocessManager::ReprocessManagerImpl::ReprocessManagerImpl(
UpdateStaticMetadataCallback callback) UpdateCameraInfoCallback callback)
: update_static_metadata_callback_(std::move(callback)) {} : update_camera_info_callback_(std::move(callback)) {}
ReprocessManager::ReprocessManagerImpl::~ReprocessManagerImpl() = default; ReprocessManager::ReprocessManagerImpl::~ReprocessManagerImpl() = default;
...@@ -162,27 +162,25 @@ void ReprocessManager::ReprocessManagerImpl::FlushReprocessOptions( ...@@ -162,27 +162,25 @@ void ReprocessManager::ReprocessManagerImpl::FlushReprocessOptions(
reprocess_task_queue_map_[device_id].swap(empty_queue); reprocess_task_queue_map_[device_id].swap(empty_queue);
} }
void ReprocessManager::ReprocessManagerImpl::GetStaticMetadata( void ReprocessManager::ReprocessManagerImpl::GetCameraInfo(
const std::string& device_id, const std::string& device_id,
GetStaticMetadataCallback callback) { GetCameraInfoCallback callback) {
if (static_metadata_map_[device_id]) { if (camera_info_map_[device_id]) {
std::move(callback).Run(static_metadata_map_[device_id].Clone()); std::move(callback).Run(camera_info_map_[device_id].Clone());
} else { } else {
get_static_metadata_callback_queue_map_[device_id].push( get_camera_info_callback_queue_map_[device_id].push(std::move(callback));
std::move(callback)); update_camera_info_callback_.Run(device_id);
update_static_metadata_callback_.Run(device_id);
} }
} }
void ReprocessManager::ReprocessManagerImpl::UpdateStaticMetadata( void ReprocessManager::ReprocessManagerImpl::UpdateCameraInfo(
const std::string& device_id, const std::string& device_id,
cros::mojom::CameraMetadataPtr metadata) { cros::mojom::CameraInfoPtr camera_info) {
static_metadata_map_[device_id] = std::move(metadata); camera_info_map_[device_id] = std::move(camera_info);
auto& callback_queue = get_static_metadata_callback_queue_map_[device_id]; auto& callback_queue = get_camera_info_callback_queue_map_[device_id];
while (!callback_queue.empty()) { while (!callback_queue.empty()) {
std::move(callback_queue.front()) std::move(callback_queue.front()).Run(camera_info_map_[device_id].Clone());
.Run(static_metadata_map_[device_id].Clone());
callback_queue.pop(); callback_queue.pop();
} }
} }
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
#include "media/capture/capture_export.h" #include "media/capture/capture_export.h"
#include "media/capture/mojom/image_capture.mojom.h" #include "media/capture/mojom/image_capture.mojom.h"
#include "media/capture/video/chromeos/mojo/camera3.mojom.h" #include "media/capture/video/chromeos/mojo/camera3.mojom.h"
#include "media/capture/video/chromeos/mojo/camera_common.mojom.h"
#include "media/capture/video/chromeos/mojo/cros_image_capture.mojom.h" #include "media/capture/video/chromeos/mojo/cros_image_capture.mojom.h"
#include "mojo/public/cpp/bindings/binding.h" #include "mojo/public/cpp/bindings/binding.h"
...@@ -46,14 +47,14 @@ constexpr int32_t kReprocessSuccess = 0; ...@@ -46,14 +47,14 @@ constexpr int32_t kReprocessSuccess = 0;
// sequentialize to a single sequence. // sequentialize to a single sequence.
class CAPTURE_EXPORT ReprocessManager { class CAPTURE_EXPORT ReprocessManager {
public: public:
using GetStaticMetadataCallback = using GetCameraInfoCallback =
base::OnceCallback<void(cros::mojom::CameraMetadataPtr static_metadata)>; base::OnceCallback<void(cros::mojom::CameraInfoPtr camera_info)>;
using UpdateStaticMetadataCallback = using UpdateCameraInfoCallback =
base::RepeatingCallback<void(const std::string& device_id)>; base::RepeatingCallback<void(const std::string& device_id)>;
class ReprocessManagerImpl { class ReprocessManagerImpl {
public: public:
ReprocessManagerImpl(UpdateStaticMetadataCallback callback); ReprocessManagerImpl(UpdateCameraInfoCallback callback);
~ReprocessManagerImpl(); ~ReprocessManagerImpl();
void SetReprocessOption( void SetReprocessOption(
...@@ -69,23 +70,22 @@ class CAPTURE_EXPORT ReprocessManager { ...@@ -69,23 +70,22 @@ class CAPTURE_EXPORT ReprocessManager {
void FlushReprocessOptions(const std::string& device_id); void FlushReprocessOptions(const std::string& device_id);
void GetStaticMetadata(const std::string& device_id, void GetCameraInfo(const std::string& device_id,
GetStaticMetadataCallback callback); GetCameraInfoCallback callback);
void UpdateStaticMetadata(const std::string& device_id, void UpdateCameraInfo(const std::string& device_id,
cros::mojom::CameraMetadataPtr metadata); cros::mojom::CameraInfoPtr camera_info);
private: private:
base::flat_map<std::string, base::queue<ReprocessTask>> base::flat_map<std::string, base::queue<ReprocessTask>>
reprocess_task_queue_map_; reprocess_task_queue_map_;
base::flat_map<std::string, cros::mojom::CameraMetadataPtr> base::flat_map<std::string, cros::mojom::CameraInfoPtr> camera_info_map_;
static_metadata_map_;
base::flat_map<std::string, base::queue<GetStaticMetadataCallback>> base::flat_map<std::string, base::queue<GetCameraInfoCallback>>
get_static_metadata_callback_queue_map_; get_camera_info_callback_queue_map_;
UpdateStaticMetadataCallback update_static_metadata_callback_; UpdateCameraInfoCallback update_camera_info_callback_;
DISALLOW_COPY_AND_ASSIGN(ReprocessManagerImpl); DISALLOW_COPY_AND_ASSIGN(ReprocessManagerImpl);
}; };
...@@ -93,7 +93,7 @@ class CAPTURE_EXPORT ReprocessManager { ...@@ -93,7 +93,7 @@ class CAPTURE_EXPORT ReprocessManager {
static int GetReprocessReturnCode( static int GetReprocessReturnCode(
cros::mojom::Effect effect, cros::mojom::Effect effect,
const cros::mojom::CameraMetadataPtr* metadata); const cros::mojom::CameraMetadataPtr* metadata);
ReprocessManager(UpdateStaticMetadataCallback callback); ReprocessManager(UpdateCameraInfoCallback callback);
~ReprocessManager(); ~ReprocessManager();
// Sets the reprocess option for given device id and effect. Each reprocess // Sets the reprocess option for given device id and effect. Each reprocess
...@@ -114,13 +114,13 @@ class CAPTURE_EXPORT ReprocessManager { ...@@ -114,13 +114,13 @@ class CAPTURE_EXPORT ReprocessManager {
// Clears all remaining ReprocessTasks in the queue for given device id. // Clears all remaining ReprocessTasks in the queue for given device id.
void FlushReprocessOptions(const std::string& device_id); void FlushReprocessOptions(const std::string& device_id);
// Gets camera static metadata for current active device. // Gets camera information for current active device.
void GetStaticMetadata(const std::string& device_id, void GetCameraInfo(const std::string& device_id,
GetStaticMetadataCallback callback); GetCameraInfoCallback callback);
// Updates camera static metadata for given device. // Updates camera information for given device.
void UpdateStaticMetadata(const std::string& device_id, void UpdateCameraInfo(const std::string& device_id,
const cros::mojom::CameraMetadataPtr& metadata); const cros::mojom::CameraInfoPtr& camera_info);
private: private:
scoped_refptr<base::SequencedTaskRunner> sequenced_task_runner_; scoped_refptr<base::SequencedTaskRunner> sequenced_task_runner_;
......
...@@ -113,8 +113,7 @@ void VideoCaptureDeviceFactoryChromeOS::OnGotCameraInfo( ...@@ -113,8 +113,7 @@ void VideoCaptureDeviceFactoryChromeOS::OnGotCameraInfo(
const std::string& device_id, const std::string& device_id,
int32_t result, int32_t result,
cros::mojom::CameraInfoPtr camera_info) { cros::mojom::CameraInfoPtr camera_info) {
reprocess_manager_->UpdateStaticMetadata( reprocess_manager_->UpdateCameraInfo(device_id, std::move(camera_info));
device_id, std::move(camera_info->static_camera_characteristics));
} }
void VideoCaptureDeviceFactoryChromeOS::BindCrosImageCaptureRequest( void VideoCaptureDeviceFactoryChromeOS::BindCrosImageCaptureRequest(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment