webrtc/audio
Alessio Bazzica 8f319a3472 Reland "Reland "Add plumbing of RtpPacketInfos to each AudioFrame as input for SourceTracker.""
This reverts commit fab3460a82.

Reason for revert: fix downstream instead

Original change's description:
> Revert "Reland "Add plumbing of RtpPacketInfos to each AudioFrame as input for SourceTracker.""
> 
> This reverts commit 9973933d2e.
> 
> Reason for revert: breaking downstream projects and not reviewed by direct owners
> 
> Original change's description:
> > Reland "Add plumbing of RtpPacketInfos to each AudioFrame as input for SourceTracker."
> > 
> > This reverts commit 24192c267a.
> > 
> > Reason for revert: Analyzed the performance regression in more detail.
> > 
> > Most of the regression comes from the extra RtpPacketInfos-related memory allocations in every `NetEq::GetAudio()` call. Commit 1796a820f6 has removed roughly 2/3rds of the extra allocations from the impacted perf tests. Remaining perf impact is expected to be about "8 microseconds of CPU time per second" on the Linux benchmarking machines and "15 us per second" on Windows/Mac.
> > 
> > There are options to optimize further but they are unlikely worth doing. Note for example that `NetEqPerformanceTest` uses the PCM codec while the real-world use cases would likely use the much heavier Opus codec. The numbers from `OpusSpeedTest` and `NetEqPerformanceTest` suggest that Opus decoding is about 10x as expensive as NetEq overall.
> > 
> > Original change's description:
> > > Revert "Add plumbing of RtpPacketInfos to each AudioFrame as input for SourceTracker."
> > >
> > > This reverts commit 3e8ef940fe.
> > >
> > > Reason for revert: This CL causes a performance regression in NetEq, see https://bugs.chromium.org/p/chromium/issues/detail?id=982260.
> > >
> > > Original change's description:
> > > > Add plumbing of RtpPacketInfos to each AudioFrame as input for SourceTracker.
> > > >
> > > > This change adds the plumbing of RtpPacketInfo from ChannelReceive::OnRtpPacket() to ChannelReceive::GetAudioFrameWithInfo() for audio. It is a step towards replacing the non-spec compliant ContributingSources that updates itself at packet-receive time, with the spec-compliant SourceTracker that will update itself at frame-delivery-to-track time.
> > > >
> > > > Bug: webrtc:10668
> > > > Change-Id: I03385d6865bbc7bfbef7634f88de820a934f787a
> > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/139890
> > > > Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> > > > Reviewed-by: Minyue Li <minyue@webrtc.org>
> > > > Commit-Queue: Chen Xing <chxg@google.com>
> > > > Cr-Commit-Position: refs/heads/master@{#28434}
> > >
> > > TBR=kwiberg@webrtc.org,stefan@webrtc.org,minyue@webrtc.org,chxg@google.com
> > >
> > > Bug: webrtc:10668, chromium:982260
> > > Change-Id: I5e2cfde78c59d1123e21869564d76ed3f6193a5c
> > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145339
> > > Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
> > > Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
> > > Cr-Commit-Position: refs/heads/master@{#28561}
> > 
> > TBR=kwiberg@webrtc.org,stefan@webrtc.org,ivoc@webrtc.org,minyue@webrtc.org,chxg@google.com
> > 
> > # Not skipping CQ checks because original CL landed > 1 day ago.
> > 
> > Bug: webrtc:10668, chromium:982260
> > Change-Id: Ie375a0b327ee368317bf3a04b2f1415c3a974470
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146707
> > Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> > Commit-Queue: Chen Xing <chxg@google.com>
> > Cr-Commit-Position: refs/heads/master@{#28664}
> 
> TBR=kwiberg@webrtc.org,stefan@webrtc.org,ivoc@webrtc.org,minyue@webrtc.org,chxg@google.com
> 
> Change-Id: I652cb0814d83b514d3bee34e65ca3bb693099b22
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:10668, chromium:982260
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146712
> Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
> Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#28671}

TBR=alessiob@webrtc.org,kwiberg@webrtc.org,stefan@webrtc.org,ivoc@webrtc.org,minyue@webrtc.org,chxg@google.com

Change-Id: Id43b7b3da79b4f48004b41767482bae1c1fa1e16
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10668, chromium:982260
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146713
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28672}
2019-07-24 16:47:13 +00:00
..
test Improve low bandwidth audio test instrumentatin, fix PC test 2019-07-23 11:54:10 +00:00
utility Format almost everything. 2019-07-08 13:45:15 +00:00
audio_level.cc Format almost everything. 2019-07-08 13:45:15 +00:00
audio_level.h [getStats] Implement "media-source" audio levels, fixing Chrome bug. 2019-07-04 08:13:45 +00:00
audio_receive_stream_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
audio_receive_stream.cc Revert "Replace the implementation of GetContributingSources() on the audio side." 2019-07-04 07:14:24 +00:00
audio_receive_stream.h Revert "Replace the implementation of GetContributingSources() on the audio side." 2019-07-04 07:14:24 +00:00
audio_send_stream_tests.cc Reland "Delete test/constants.h" 2019-02-19 08:51:20 +00:00
audio_send_stream_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
audio_send_stream.cc Move RtpPacketSender and merge it with RtpPacketPacer. 2019-07-24 13:28:21 +00:00
audio_send_stream.h [getStats] Implement "media-source" audio levels, fixing Chrome bug. 2019-07-04 08:13:45 +00:00
audio_state_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
audio_state.cc [getStats] Implement "media-source" audio levels, fixing Chrome bug. 2019-07-04 08:13:45 +00:00
audio_state.h [getStats] Implement "media-source" audio levels, fixing Chrome bug. 2019-07-04 08:13:45 +00:00
audio_transport_impl.cc [getStats] Implement "media-source" audio levels, fixing Chrome bug. 2019-07-04 08:13:45 +00:00
audio_transport_impl.h [getStats] Implement "media-source" audio levels, fixing Chrome bug. 2019-07-04 08:13:45 +00:00
BUILD.gn Migrate WebRTC test infra to ABSL_FLAG. 2019-07-19 06:54:04 +00:00
channel_receive.cc Only include payload in bytes sent/received. 2019-07-23 13:52:55 +00:00
channel_receive.h Format almost everything. 2019-07-08 13:45:15 +00:00
channel_send.cc Move RtpPacketSender and merge it with RtpPacketPacer. 2019-07-24 13:28:21 +00:00
channel_send.h Set local ssrc at construction (audio) 2019-07-15 19:15:52 +00:00
conversion.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
DEPS Move remaining traces of VoiceEngine 2018-01-17 13:27:47 +00:00
mock_voe_channel_proxy.h Move ownership of RTPSenderAudio to ChannelSend. 2019-03-06 17:15:00 +00:00
null_audio_poller.cc Deprecating ThreadChecker specific interface. 2019-04-08 16:58:07 +00:00
null_audio_poller.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
OWNERS
remix_resample_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
remix_resample.cc Reland "Reland "Add plumbing of RtpPacketInfos to each AudioFrame as input for SourceTracker."" 2019-07-24 16:47:13 +00:00
remix_resample.h Remove dependencies on modules:module_api from AudioProcessing. 2018-04-12 22:05:27 +00:00
transport_feedback_packet_loss_tracker_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
transport_feedback_packet_loss_tracker.cc Format almost everything. 2019-07-08 13:45:15 +00:00
transport_feedback_packet_loss_tracker.h Remove clang:find_bad_constructs suppression from call:call. 2018-08-29 11:57:00 +00:00