Index: content/renderer/media/media_stream_video_track.cc |
diff --git a/content/renderer/media/media_stream_video_track.cc b/content/renderer/media/media_stream_video_track.cc |
index dede54fecb104f1e46e97f43eb0ba1d2ed1dea20..7128effe008c80a15dffa66468d11607e21240f7 100644 |
--- a/content/renderer/media/media_stream_video_track.cc |
+++ b/content/renderer/media/media_stream_video_track.cc |
@@ -301,16 +301,25 @@ void MediaStreamVideoTrack::Stop() { |
void MediaStreamVideoTrack::getSettings( |
blink::WebMediaStreamTrack::Settings& settings) { |
- if (source_) { |
- const media::VideoCaptureFormat* format = source_->GetCurrentFormat(); |
- if (format) { |
- settings.frameRate = format->frame_rate; |
- settings.width = format->frame_size.width(); |
- settings.height = format->frame_size.height(); |
- } |
- } |
// TODO(hta): Extract the real value. |
settings.deviceId = blink::WebString("video device ID"); |
+ if (!source_) |
+ return; |
+ |
+ const media::VideoCaptureFormat* format = source_->GetCurrentFormat(); |
+ if (format) { |
+ settings.frameRate = format->frame_rate; |
+ settings.width = format->frame_size.width(); |
+ settings.height = format->frame_size.height(); |
+ } |
+ const base::Optional<CameraCalibration> calibration = |
+ source_->device_info().device.camera_calibration; |
+ if (calibration) { |
+ settings.depthNear = calibration->depth_near; |
+ settings.depthFar = calibration->depth_far; |
+ settings.focalLengthX = calibration->focal_length_x; |
+ settings.focalLengthY = calibration->focal_length_y; |
+ } |
} |
void MediaStreamVideoTrack::OnReadyStateChanged( |