webrtc/modules/audio_coding/neteq
Ivo Creusen 876a3dc88a Fix for NetEq simulations containing large gaps and multiple SSRCs.
This CL fixes 2 issues that affect NetEq simulations.
- When using event logs with multiple SSRCs, it does not make sense to
  use more than a single SSRC. If the user does not provide an SSRC
  filter, we should use the first SSRC we find and no others.
- It is possible for event logs to have a gap in the middle, and
  sometimes we don't store/mark the gap properly. If is possible to
  detect gaps by looking at the wallclock time delta between getAudio
  events. These should be 10 ms nominally, so values greater than 1000
  should never happen and indicate an error.

Bug: webrtc:11855
Change-Id: Idc3b8a7902be4159da48b063ef5c5c82fd484071
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/181940
Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31960}
2020-08-19 09:11:10 +00:00
..
mock In common_audio/ and modules/audio_* replace mock macros with unified MOCK_METHOD macro 2020-05-20 13:17:31 +00:00
test Clean up the NetEqFactory API. 2019-11-29 14:04:44 +00:00
tools Fix for NetEq simulations containing large gaps and multiple SSRCs. 2020-08-19 09:11:10 +00:00
accelerate.cc [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
accelerate.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
audio_decoder_unittest.cc iSAC encoder: Make it possible to change target bitrate at any time 2020-06-22 14:59:22 +00:00
audio_multi_vector.cc Let NetEq use the PLC output from a decoder 2018-09-14 07:05:20 +00:00
audio_multi_vector.h Format almost everything. 2019-07-08 13:45:15 +00:00
audio_multi_vector_unittest.cc Stop using Googletest legacy APIs. 2019-01-31 13:23:33 +00:00
audio_vector.cc Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
audio_vector.h Format almost everything. 2019-07-08 13:45:15 +00:00
audio_vector_unittest.cc Delete unused includes of assert.h 2018-10-04 14:01:44 +00:00
background_noise.cc NetEQ: BackgroundNoise::Update returns true when the filter is updated 2019-06-28 10:11:33 +00:00
background_noise.h Format almost everything. 2019-07-08 13:45:15 +00:00
background_noise_unittest.cc
buffer_level_filter.cc Format almost everything. 2019-07-08 13:45:15 +00:00
buffer_level_filter.h Reland "Reland "Change buffer level filter to store current level in number of samples."" 2019-06-27 09:16:27 +00:00
buffer_level_filter_unittest.cc Reland "Reland "Change buffer level filter to store current level in number of samples."" 2019-06-27 09:16:27 +00:00
comfort_noise.cc Format almost everything. 2019-07-08 13:45:15 +00:00
comfort_noise.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
comfort_noise_unittest.cc
cross_correlation.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
cross_correlation.h [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
decision_logic.cc Concatenate string literals at compile time. 2020-01-14 14:47:48 +00:00
decision_logic.h Remove inter-arrival delay mode from DelayManager. 2020-01-08 13:20:36 +00:00
decision_logic_unittest.cc Remove inter-arrival delay mode from DelayManager. 2020-01-08 13:20:36 +00:00
decoder_database.cc Format almost everything. 2019-07-08 13:45:15 +00:00
decoder_database.h Remove rtc_base/scoped_ref_ptr.h. 2019-01-25 20:29:58 +00:00
decoder_database_unittest.cc Fully qualify googletest symbols. 2019-04-09 17:18:20 +00:00
default_neteq_factory.cc Clean up the NetEqFactory API. 2019-11-29 14:04:44 +00:00
default_neteq_factory.h Clean up the NetEqFactory API. 2019-11-29 14:04:44 +00:00
delay_manager.cc Concatenate string literals at compile time. 2020-01-14 14:47:48 +00:00
delay_manager.h Remove extra delay field trial. 2020-01-08 14:39:27 +00:00
delay_manager_unittest.cc Remove extra delay field trial. 2020-01-08 14:39:27 +00:00
dsp_helper.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
dsp_helper.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
dsp_helper_unittest.cc Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
dtmf_buffer.cc Delete unused includes of assert.h 2018-10-04 14:01:44 +00:00
dtmf_buffer.h Format almost everything. 2019-07-08 13:45:15 +00:00
dtmf_buffer_unittest.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
dtmf_tone_generator.cc [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
dtmf_tone_generator.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
dtmf_tone_generator_unittest.cc Remove simple stringstream usages. 2018-09-06 12:53:19 +00:00
expand.cc NetEq: Fix bug in PLC for multi-channel audio 2019-12-02 17:44:58 +00:00
expand.h Format almost everything. 2019-07-08 13:45:15 +00:00
expand_uma_logger.cc Format almost everything. 2019-07-08 13:45:15 +00:00
expand_uma_logger.h Move NetEq headers to api/ 2019-10-31 15:43:59 +00:00
expand_unittest.cc Initialize signal processing function pointers statically 2019-06-28 14:20:03 +00:00
histogram.cc Remove inter-arrival delay mode from DelayManager. 2020-01-08 13:20:36 +00:00
histogram.h Remove inter-arrival delay mode from DelayManager. 2020-01-08 13:20:36 +00:00
histogram_unittest.cc Remove inter-arrival delay mode from DelayManager. 2020-01-08 13:20:36 +00:00
merge.cc Replace slave -> helper, master -> reference 2020-06-29 12:18:05 +00:00
merge.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
merge_unittest.cc Fixing a buffer overflow in Merge::Downsample 2019-11-25 12:16:30 +00:00
nack_tracker.cc Format almost everything. 2019-07-08 13:45:15 +00:00
nack_tracker.h Format almost everything. 2019-07-08 13:45:15 +00:00
nack_tracker_unittest.cc Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
neteq_decoder_plc_unittest.cc Reland "Enable using a custom NetEqFactory in simulations" 2020-01-20 12:46:34 +00:00
neteq_impl.cc Migrate modules/audio_coding, audio_mixer/ and audio_processing/ to webrtc::Mutex. 2020-07-07 14:35:58 +00:00
neteq_impl.h Migrate modules/audio_coding, audio_mixer/ and audio_processing/ to webrtc::Mutex. 2020-07-07 14:35:58 +00:00
neteq_impl_unittest.cc Improvements for NetEqControllers 2020-01-24 11:39:52 +00:00
neteq_network_stats_unittest.cc Fix override declarations and delete related TODOs 2020-07-16 07:42:02 +00:00
neteq_stereo_unittest.cc NetEq: Fix bug in PLC for multi-channel audio 2019-12-02 17:44:58 +00:00
neteq_unittest.cc Add field trial and test for NetEq extra delay 2020-06-10 17:37:59 +00:00
neteq_unittest.proto
normal.cc Move NetEq headers to api/ 2019-10-31 15:43:59 +00:00
normal.h Move NetEq headers to api/ 2019-10-31 15:43:59 +00:00
normal_unittest.cc Move NetEq headers to api/ 2019-10-31 15:43:59 +00:00
packet.cc Reland "Reland "Add plumbing of RtpPacketInfos to each AudioFrame as input for SourceTracker."" 2019-07-24 16:47:13 +00:00
packet.h Move NetEq headers to api/ 2019-10-31 15:43:59 +00:00
packet_buffer.cc Move NetEq headers to api/ 2019-10-31 15:43:59 +00:00
packet_buffer.h Improve buffer level estimation with DTX and add CNG time stretching. 2019-07-03 15:12:09 +00:00
packet_buffer_unittest.cc In common_audio/ and modules/audio_* replace mock macros with unified MOCK_METHOD macro 2020-05-20 13:17:31 +00:00
post_decode_vad.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
post_decode_vad.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
post_decode_vad_unittest.cc
preemptive_expand.cc [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
preemptive_expand.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
random_vector.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
random_vector.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
random_vector_unittest.cc
red_payload_splitter.cc Add AbsoluteCaptureTime to RtpPacketInfo. 2019-08-07 10:12:56 +00:00
red_payload_splitter.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
red_payload_splitter_unittest.cc Delete method DecoderDatabase::RegisterPayload(...NetEqDecoder...) 2019-01-11 07:39:45 +00:00
statistics_calculator.cc Add jitterBufferTargetDelay as RTCNonStandardStatsMember to new GetStats API 2020-03-11 12:08:32 +00:00
statistics_calculator.h Add jitterBufferTargetDelay as RTCNonStandardStatsMember to new GetStats API 2020-03-11 12:08:32 +00:00
statistics_calculator_unittest.cc Reland "Piping audio interruption metrics to API layer" 2019-04-29 15:39:50 +00:00
sync_buffer.cc Format almost everything. 2019-07-08 13:45:15 +00:00
sync_buffer.h Format almost everything. 2019-07-08 13:45:15 +00:00
sync_buffer_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
time_stretch.cc Replace slave -> helper, master -> reference 2020-06-29 12:18:05 +00:00
time_stretch.h Replace slave -> helper, master -> reference 2020-06-29 12:18:05 +00:00
time_stretch_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
timestamp_scaler.cc [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
timestamp_scaler.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
timestamp_scaler_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00