webrtc/modules/audio_coding/neteq/tools
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
..
audio_checksum.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_loop.cc Delete unused includes of assert.h 2018-10-04 14:01:44 +00:00
audio_loop.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_sink.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
audio_sink.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
constant_pcm_packet_source.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
constant_pcm_packet_source.h Format almost everything. 2019-07-08 13:45:15 +00:00
DEPS Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
encode_neteq_input.cc Let NetEq use the PLC output from a decoder 2018-09-14 07:05:20 +00:00
encode_neteq_input.h Enable clang::find_bad_constructs for audio_coding (part 1/2). 2018-07-20 13:07:47 +00:00
fake_decode_from_file.cc Support 2 byte payload size DTX packets in NetEq simulation. 2019-09-24 15:18:05 +00:00
fake_decode_from_file.h Adding DTX logic to FakeDecodeFromFile (used be NetEqTest). 2019-04-15 15:03:39 +00:00
initial_packet_inserter_neteq_input.cc Added support for skipping get_audio events, adding dummy packets and setting a field trial string. 2019-10-07 12:26:44 +00:00
initial_packet_inserter_neteq_input.h Added support for skipping get_audio events, adding dummy packets and setting a field trial string. 2019-10-07 12:26:44 +00:00
input_audio_file.cc 2nd reland of https://webrtc-review.googlesource.com/c/src/+/114883 2019-02-22 09:59:01 +00:00
input_audio_file.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
input_audio_file_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
neteq_delay_analyzer.cc Include module_common_types.h only where needed 2019-09-24 08:22:38 +00:00
neteq_delay_analyzer.h Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
neteq_event_log_input.cc Handle event log parsing errors without crashing. 2019-04-24 07:49:23 +00:00
neteq_event_log_input.h Allow passing an event log as string to NetEqSimulator. 2019-03-20 10:27:14 +00:00
neteq_input.cc Concatenate string literals at compile time. 2020-01-14 14:47:48 +00:00
neteq_input.h Remove unnecessary includes of common_types.h 2018-12-07 21:21:13 +00:00
neteq_packet_source_input.cc RtcEventLogSource no longer uses deprecated parsing functions. 2018-10-11 16:13:17 +00:00
neteq_packet_source_input.h RtcEventLogSource no longer uses deprecated parsing functions. 2018-10-11 16:13:17 +00:00
neteq_performance_test.cc Clean up the NetEqFactory API. 2019-11-29 14:04:44 +00:00
neteq_performance_test.h Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
neteq_quality_test.cc Clean up the NetEqFactory API. 2019-11-29 14:04:44 +00:00
neteq_quality_test.h Move NetEq headers to api/ 2019-10-31 15:43:59 +00:00
neteq_replacement_input.cc Avoid wrong parsing of padding length and its use in NetEq simulation. 2018-09-12 11:23:03 +00:00
neteq_replacement_input.h Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
neteq_rtpplay.cc Reland "Enable using a custom NetEqFactory in simulations" 2020-01-20 12:46:34 +00:00
neteq_rtpplay_test.sh Reland "NetEQ RTP Play: Optionally write output audio file" 2019-03-13 15:33:29 +00:00
neteq_stats_getter.cc Remove clock drift metric from NetEq. 2019-09-02 13:50:55 +00:00
neteq_stats_getter.h Adding NetEq lifetime stats to event log visualizer. 2018-06-26 11:27:09 +00:00
neteq_stats_plotter.cc Adding a delay line to NetEq's output 2020-05-25 12:03:39 +00:00
neteq_stats_plotter.h Adding a delay line to NetEq's output 2020-05-25 12:03:39 +00:00
neteq_test.cc Fix for NetEq simulations containing large gaps and multiple SSRCs. 2020-08-19 09:11:10 +00:00
neteq_test.h Adding a delay line to NetEq's output 2020-05-25 12:03:39 +00:00
neteq_test_factory.cc Reland "Enable using a custom NetEqFactory in simulations" 2020-01-20 12:46:34 +00:00
neteq_test_factory.h Update default max nr of packets to 200. 2020-07-07 13:07:26 +00:00
output_audio_file.h Format almost everything. 2019-07-08 13:45:15 +00:00
output_wav_file.h 2nd reland of https://webrtc-review.googlesource.com/c/src/+/114883 2019-02-22 09:59:01 +00:00
packet.cc Replace assert() with RTC_DCHECK 2019-12-13 10:06:07 +00:00
packet.h Make the RtpHeaderParserImpl available to tests and tools only. 2019-08-29 15:56:40 +00:00
packet_source.cc RtcEventLogSource no longer uses deprecated parsing functions. 2018-10-11 16:13:17 +00:00
packet_source.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
packet_unittest.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
README.md Reland "NetEQ RTP Play: Optionally write output audio file" 2019-03-13 15:33:29 +00:00
resample_input_audio_file.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
resample_input_audio_file.h Allow neteq_quality_test to read a complete file 2019-06-03 10:25:29 +00:00
rtc_event_log_source.cc Fix for NetEq simulations containing large gaps and multiple SSRCs. 2020-08-19 09:11:10 +00:00
rtc_event_log_source.h Allow passing an event log as string to NetEqSimulator. 2019-03-20 10:27:14 +00:00
rtp_analyze.cc Migrate WebRTC test infra to ABSL_FLAG. 2019-07-19 06:54:04 +00:00
rtp_encode.cc Reland "Send absolute capture time through audio coding module." 2020-01-27 13:18:27 +00:00
rtp_file_source.cc Use std::make_unique instead of absl::make_unique. 2019-09-17 15:47:29 +00:00
rtp_file_source.h Make the RtpHeaderParserImpl available to tests and tools only. 2019-08-29 15:56:40 +00:00
rtp_generator.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_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
rtp_jitter.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtpcat.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00

NetEQ RTP Play tool

Testing of the command line arguments

The command line tool neteq_rtpplay can be tested by running neteq_rtpplay_test.sh, which is not use on try bots, but it can be used before submitting any CLs that may break the behavior of the command line arguments of neteq_rtpplay.

Run neteq_rtpplay_test.sh as follows from the src/ folder:

src$ ./modules/audio_coding/neteq/tools/neteq_rtpplay_test.sh  \
  out/Default/neteq_rtpplay  \
  resources/audio_coding/neteq_opus.rtp  \
  resources/short_mixed_mono_48.pcm

You can replace the RTP and PCM files with any other compatible files. If you get an error using the files indicated above, try running gclient sync.

Requirements: awk and md5sum.