Changeset 284689 in webkit
- Timestamp:
- Oct 22, 2021, 9:31:34 AM (5 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 2 edited
-
ChangeLog (modified) (1 diff)
-
GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererInternalUnitManager.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r284682 r284689 1 2021-10-22 Youenn Fablet <youenn@apple.com> 2 3 REGRESSION (Safari 15 - iOS15): [WebRTC] Increased audio latency while playing webrtc audio stream over audio element 4 https://bugs.webkit.org/show_bug.cgi?id=230903 5 <rdar://problem/83692944> 6 7 Reviewed by Eric Carlson. 8 9 We used to render audio tracks in process and are now doing rendering in GPU process. 10 Current implementation requests data with a fixed chunk size, that we were setting as the max of preferred buffer size and web audio chunk size. 11 If we are reading too close to the end of data in AudioSampleDataSource, we will delay reading the data by this buffer size. This triggers delay but allows getting a consistent rendering. 12 To reduce delay, we are now using the maximum of web audio chunk size and 10 ms chunk size, as WebRTC tracks are usually manipulating 10 ms chunks. 13 14 Manually tested. 15 16 * GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererInternalUnitManager.cpp: 17 1 18 2021-10-22 Per Arne Vollan <pvollan@apple.com> 2 19 -
trunk/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererInternalUnitManager.cpp
r284674 r284689 143 143 return; 144 144 } 145 m_frameChunkSize = std::max(WebCore::AudioUtilities::renderQuantumSize, WebCore::AudioSession::sharedSession().preferredBufferSize()); 145 size_t tenMsSampleSize = description->sampleRate() * 10 / 1000; 146 m_frameChunkSize = std::max(WebCore::AudioUtilities::renderQuantumSize, tenMsSampleSize); 146 147 callback(*description, m_frameChunkSize); 147 148 });
Note:
See TracChangeset
for help on using the changeset viewer.