New issue
Advanced search Search tips

Issue 729746 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

Fix handling of minimum and maximum frame rate for video content capture

Project Member Reported by guidou@chromium.org, Jun 5 2017

Issue description

The new constraints algorithm enforced a minimum frame rate of 1/60.0.
This altered the behavior of content::MediaStreamVideoWebRtcSink, which originally expected the default minimum frame rate not to have a numerical value greater 0.0.
This resulted in a serious bug (see  issue 725696 ).
The bug was fixed with a simple patch that changed the default minimum to 0.0. However, a more complete fix is needed that properly treats the cases where no minimum or maximum frame rate are explicitly given in the constraints.
The fix should be merged to M60.
 
Labels: -Pri-1 Pri-2
Project Member

Comment 2 by bugdroid1@chromium.org, Jun 8 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/303a5bbadb90b69780a86b10d5284ffc4c1dc165

commit 303a5bbadb90b69780a86b10d5284ffc4c1dc165
Author: guidou <guidou@chromium.org>
Date: Thu Jun 08 22:14:04 2017

Update constraints processing for video content capture.

The computation for refresh interval for content capture
produces bad results if it uses the implicit min/max range for
frame rate produced by the new spec-compliant algorithm.

This patch updates the spec-compliant constraints algorithm to
provide indication if the frame-rate range was explicitly set by
constraints.
MediaStreamVideoWebRtcSink is updated to use the frame-rate min/max
values to compute the refresh intervals only if they were explicitly
set by constrains, as was the case before the new constrains algorithm
was introduced.

BUG= 729746 

Review-Url: https://codereview.chromium.org/2922013002
Cr-Commit-Position: refs/heads/master@{#478101}

[modify] https://crrev.com/303a5bbadb90b69780a86b10d5284ffc4c1dc165/content/renderer/media/media_stream_constraints_util.cc
[modify] https://crrev.com/303a5bbadb90b69780a86b10d5284ffc4c1dc165/content/renderer/media/media_stream_constraints_util.h
[modify] https://crrev.com/303a5bbadb90b69780a86b10d5284ffc4c1dc165/content/renderer/media/media_stream_constraints_util_video_content.cc
[modify] https://crrev.com/303a5bbadb90b69780a86b10d5284ffc4c1dc165/content/renderer/media/media_stream_constraints_util_video_content_unittest.cc
[modify] https://crrev.com/303a5bbadb90b69780a86b10d5284ffc4c1dc165/content/renderer/media/media_stream_constraints_util_video_device.cc
[modify] https://crrev.com/303a5bbadb90b69780a86b10d5284ffc4c1dc165/content/renderer/media/media_stream_video_track.cc
[modify] https://crrev.com/303a5bbadb90b69780a86b10d5284ffc4c1dc165/content/renderer/media/media_stream_video_track.h
[modify] https://crrev.com/303a5bbadb90b69780a86b10d5284ffc4c1dc165/content/renderer/media/webrtc/media_stream_video_webrtc_sink.cc

Comment 3 by guidou@chromium.org, Jun 12 2017

Status: Fixed (was: Assigned)

Sign in to add a comment