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..2f6a057496cea415e3466f24282a5d4b82db6422 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::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_; |
+ |
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), |
manager_(RenderThreadImpl::current()->video_capture_impl_manager()), |
release_device_cb_(manager_->UseDevice(session_id_)), |
is_content_capture_(IsContentVideoCaptureDevice(device_info)), |
@@ -347,6 +351,17 @@ void LocalVideoCapturerSource::StopCapture() { |
formats_enumerated_callback_.Reset(); |
} |
+media::VideoFacingMode LocalVideoCapturerSource::GetVideoFacing() const { |
+ switch (facing_) { |
+ case VideoFacingMode::MEDIA_VIDEO_FACING_USER: |
+ return media::VideoFacingMode::USER; |
+ case VideoFacingMode::MEDIA_VIDEO_FACING_ENVIRONMENT: |
+ return media::VideoFacingMode::ENVIRONMENT; |
+ default: |
miu
2017/01/10 22:14:23
Again, please do not use default clauses when proc
shenghao
2017/01/11 12:00:53
Done.
|
+ return media::VideoFacingMode::USER; |
+ } |
+} |
+ |
void LocalVideoCapturerSource::OnStateUpdate(VideoCaptureState state) { |
DVLOG(3) << __func__ << " state = " << state; |
DCHECK(thread_checker_.CalledOnValidThread()); |
@@ -440,6 +455,10 @@ MediaStreamVideoCapturerSource::MediaStreamVideoCapturerSource( |
MediaStreamVideoCapturerSource::~MediaStreamVideoCapturerSource() { |
} |
+media::VideoFacingMode MediaStreamVideoCapturerSource::GetVideoFacing() { |
+ return source_->GetVideoFacing(); |
+} |
+ |
void MediaStreamVideoCapturerSource::RequestRefreshFrame() { |
source_->RequestRefreshFrame(); |
} |