mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-19 00:27:51 +01:00
![]() There were a couple operations in the mixer which touched AudioFrame data() and mutable_data() getters in a hot loop. These getters have a if (muted) conditional in them which led to inefficient code generation and execution. Profiled using Google Meet with 6 audio-only speaking participants. Meet uses 3 audio receive streams. Before: https://pprof.corp.google.com/user-profile?id=02526c98ca1f60ba7b340b2f5dabb72a&tab=flame&path=18l9q740udb80g1iq9r1c1gv6b9k1cuuq200eztpq0054kuq0 After: https://pprof.corp.google.com/user-profile?id=32a33e5c90c650e013bdf5008d9b5fd3&tab=flame&path=18l9q740udb80g1iq9r1c1gv6b9k1cuuq200eztpq0054kuq0 (Zoomed in on the audio render thread.) Bug: webrtc:12662 Change-Id: If6ecb5de02095b8b0e4938f1a1817b55d388e01a Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/214560 Reviewed-by: Per Åhgren <peah@webrtc.org> Reviewed-by: Olga Sharonova <olka@webrtc.org> Reviewed-by: Alex Loiko <aleloi@webrtc.org> Commit-Queue: Steve Anton <steveanton@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33712} |
||
---|---|---|
.. | ||
audio_frame_operations.cc | ||
audio_frame_operations.h | ||
audio_frame_operations_unittest.cc | ||
BUILD.gn | ||
channel_mixer.cc | ||
channel_mixer.h | ||
channel_mixer_unittest.cc | ||
channel_mixing_matrix.cc | ||
channel_mixing_matrix.h | ||
channel_mixing_matrix_unittest.cc |