DescriptionVideo Capture: Allow 0 fps frame rates to be deserializable
Some webcams, notably the Win XSplit broadcaster,
indicate 0 fps frame rate when they are not started/
configured. This rate is not deserializable
(because is not IsValid()) [1]. This CL allows
supported formats with 0 fps to be received via
IPC.
XSplit walkthrough before-after:
Currently when XSplit lists 0 fps, the message
cannot be deserialized from the IPC and is
discarded; getUserMedia constraint resolution
@MediaStreamVideoCapturerSource never
progresses since is expecting that message.
With this change, 0 fps will be used, and since
for unconfigured XSplit this is the only frame
rate, it's used (unless the user constrains it
via Mandatory constraint). When the 0 fps
selected format is passed to the
VideoCaptureDeviceWin to be used, this ignores
it (since is zero), and the capture happens
at whatever frame rate is native to the
source. And then we see an XSplit picture
indicating this fact. When streaming starts,
the picture is substituted with the feed.
BUG=383949
[1] https://code.google.com/p/chromium/codesearch#chromium/src/media/video/capture/video_capture_types.cc&sq=package:chromium&type=cs&q=IsValid%20video%20&l=26
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=279078
Patch Set 1 #Patch Set 2 : Reduced scope to just accept 0fps as deserializable frame rate. #Patch Set 3 : Skip 0 fps supported format(s). #
Total comments: 1
Patch Set 4 : Back to allowing 0 fps to be (de)serialized. Added test to MSVS. #
Total comments: 1
Patch Set 5 : Added passing 1 frame to MediaStreamVideoSourceTest.Use0FpsSupportedFormat #
Messages
Total messages: 13 (0 generated)
|