Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5736)

Unified Diff: content/renderer/media/media_stream_video_capturer_source.cc

Issue 2609863004: Pass camera facing to WebKit (Closed)
Patch Set: fix trybot errors Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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();
}

Powered by Google App Engine
This is Rietveld 408576698