Bug 212022
Summary: | Video and browser freeze when low-resolution and H.264 is used | ||
---|---|---|---|
Product: | WebKit | Reporter: | milen <milen.yordanov> |
Component: | WebRTC | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED MOVED | ||
Severity: | Normal | CC: | bfulgham, webkit-bug-importer, youennf |
Priority: | P2 | Keywords: | InRadar |
Version: | Safari 13 | ||
Hardware: | Mac | ||
OS: | macOS 10.15 |
milen
Tested with Safari 13.1.4 (mac mini 2018, macOS 10.15.4)
The issue can be reproduced with: https://jsfiddle.net/milen/ur6bfjkL/
The steps are:
1) Use getUserMedia() with a resolution 320x240 or higher.
2) Create Webrtc call. Everything works fine.
3) Try to lower the resolution to 160x90 with track.applyConstraints(). The video and the browser freeze.
The expected result: video should play smoothly and the resolution should change.
The actual result: video and browser freeze.
This happens only with H.264 codec. If the connection is forced to use VP8 then this scenario works fine.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
youenn fablet
I cannot reproduce on my iMac, this might be Mac mini specific, probably the encoder is not encoding.
Would you be able to gather stats either through the JS API or through the console and check whether encoded frames count is increasing?
Radar WebKit Bug Importer
<rdar://problem/63339852>
milen
I checked the machine log and there are lots of failures like these:
virtual IOReturn IOAccelEventMachine2::waitForStamp(int32_t, stamp_t, stamp_t *): initial wait for 1 second expired. Continue wait for 4 seconds. stamp 8305 (gpu_stamp=8304)
void IOAccelEventMachine2::signalHardwareError(eRestartRequest, int32_t): GPURestartSignaled stampIdx=30 type=3 prevType=0 numStamps=64
void IOAccelEventMachine2::hardwareErrorEvent(): GPURestartDequeued stampIdx=30 type=3
void IOAccelFenceMachine::fence_timeout(IOTimerEventSource *): IntelAccelerator prodding blockFenceInterrupt
It's hard to check any stats because the whole machine freezes for some time, even the mouse does not move.
The same scenario works fine on iOS 13 (iPhone 7).
youenn fablet
We validated this issue happens on recent safari, including STP 106 and does not repro on Safari 12.
Brent Fulgham
The fix for this issue was needed outside the WebKit project, therefore this is being resolved as 'Moved'.
The fix is shipping in all current software releases.