Index: content/renderer/media/media_stream_video_capturer_source.cc |
diff --git a/content/renderer/media/media_stream_video_capturer_source.cc b/content/renderer/media/media_stream_video_capturer_source.cc |
index 8734698c46c9f91c78988fa4c8474a0107bc4c38..a813a75c6a3f139342595ad10ca848f7765f1a57 100644 |
--- a/content/renderer/media/media_stream_video_capturer_source.cc |
+++ b/content/renderer/media/media_stream_video_capturer_source.cc |
@@ -216,6 +216,7 @@ class LocalVideoCapturerSource final : public media::VideoCapturerSource { |
void MaybeSuspend() override; |
void Resume() override; |
void StopCapture() override; |
+ media::mojom::VideoFacingMode GetVideoFacing() const override; |
private: |
void OnStateUpdate(VideoCaptureState state); |
@@ -226,6 +227,8 @@ class LocalVideoCapturerSource final : public media::VideoCapturerSource { |
// |session_id_| identifies the capture device used for this capture session. |
const media::VideoCaptureSessionId session_id_; |
+ const VideoFacingMode facing_; |
jochen (gone - plz use gerrit)
2017/01/12 11:54:42
why not use media::mojom::VideoFacingMode ?
shenghao
2017/01/13 11:09:34
deleted
|
+ |
VideoCaptureImplManager* const manager_; |
const base::Closure release_device_cb_; |
@@ -256,6 +259,7 @@ class LocalVideoCapturerSource final : public media::VideoCapturerSource { |
LocalVideoCapturerSource::LocalVideoCapturerSource( |
const StreamDeviceInfo& device_info) |
: session_id_(device_info.session_id), |
+ facing_(device_info.device.video_facing), |
hta - Chromium
2017/01/12 19:36:41
Why are you making a copy of this information?
shenghao
2017/01/13 11:09:34
deleted
|
manager_(RenderThreadImpl::current()->video_capture_impl_manager()), |
release_device_cb_(manager_->UseDevice(session_id_)), |
is_content_capture_(IsContentVideoCaptureDevice(device_info)), |
@@ -347,6 +351,22 @@ void LocalVideoCapturerSource::StopCapture() { |
formats_enumerated_callback_.Reset(); |
} |
+media::mojom::VideoFacingMode LocalVideoCapturerSource::GetVideoFacing() const { |
+ if (is_content_capture_) |
+ return media::mojom::VideoFacingMode::NONE; |
+ |
+ switch (facing_) { |
+ case VideoFacingMode::MEDIA_VIDEO_FACING_USER: |
+ return media::mojom::VideoFacingMode::USER; |
+ case VideoFacingMode::MEDIA_VIDEO_FACING_ENVIRONMENT: |
+ return media::mojom::VideoFacingMode::ENVIRONMENT; |
+ case VideoFacingMode::MEDIA_VIDEO_FACING_NONE: |
+ case VideoFacingMode::NUM_MEDIA_VIDEO_FACING_MODE: |
+ return media::mojom::VideoFacingMode::USER; |
+ } |
+ return media::mojom::VideoFacingMode::USER; |
+} |
+ |
void LocalVideoCapturerSource::OnStateUpdate(VideoCaptureState state) { |
DVLOG(3) << __func__ << " state = " << state; |
DCHECK(thread_checker_.CalledOnValidThread()); |
@@ -440,6 +460,10 @@ MediaStreamVideoCapturerSource::MediaStreamVideoCapturerSource( |
MediaStreamVideoCapturerSource::~MediaStreamVideoCapturerSource() { |
} |
+media::mojom::VideoFacingMode MediaStreamVideoCapturerSource::GetVideoFacing() { |
+ return source_->GetVideoFacing(); |
+} |
+ |
void MediaStreamVideoCapturerSource::RequestRefreshFrame() { |
source_->RequestRefreshFrame(); |
} |