| 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 d5d966d96c02e3e9a3d2eeb586a84e3730a2a307..1d92473c2e78f61825c0f96c1e98478c038afba9 100644
|
| --- a/content/renderer/media/media_stream_video_track.cc
|
| +++ b/content/renderer/media/media_stream_video_track.cc
|
| @@ -391,18 +391,24 @@ void MediaStreamVideoTrack::Stop() {
|
| void MediaStreamVideoTrack::GetSettings(
|
| blink::WebMediaStreamTrack::Settings& settings) {
|
| DCHECK(main_render_thread_checker_.CalledOnValidThread());
|
| + if (!source_)
|
| + return;
|
| +
|
| if (width_ && height_) {
|
| settings.width = width_;
|
| settings.height = height_;
|
| }
|
|
|
| - if (!source_)
|
| - return;
|
| + // 0.0 means the track is using the source's frame rate.
|
| + if (frame_rate_ != 0.0) {
|
| + settings.frame_rate = frame_rate_;
|
| + }
|
|
|
| base::Optional<media::VideoCaptureFormat> format =
|
| source_->GetCurrentFormat();
|
| if (format) {
|
| - settings.frame_rate = format->frame_rate;
|
| + if (frame_rate_ == 0.0)
|
| + settings.frame_rate = format->frame_rate;
|
| settings.video_kind = GetVideoKindForFormat(*format);
|
| }
|
| switch (source_->device_info().device.video_facing) {
|
|
|