Class renamed to indicated use of the rtcp::Empty class: it can only be used as container for other rtcp packets.
All tests that use Append function moved from rtcp_packet_unittest, even if they did not use Empty class.
This is because there is plan to make RtcpPacket class lighter by moving Append functionality to CompoundPacket class.
BUG=webrtc:5260
R=åsapersson
Review URL: https://codereview.webrtc.org/1582503002
Cr-Commit-Position: refs/heads/master@{#11234}
This let's us use them to configure them when using WebRTC as an external library. One use case where this is necessary is in the Android OS.
Review URL: https://codereview.webrtc.org/1538643004
Cr-Commit-Position: refs/heads/master@{#11231}
The unit test will run the pure C denoiser and SSE2/NEON denoiser (based
on the CPU detection) and compare the denoised frames to ensure the bit
exact.
TBR=tommi@webrtc.org
BUG=webrtc:5255
Review URL: https://codereview.webrtc.org/1492053003
Cr-Commit-Position: refs/heads/master@{#11216}
The general constraints on number of channels for AudioProcessing is:
num_in_channels == num_out_channels || num_out_channels == 1
When Beamforming is enabled and additional constraint was added forcing:
num_out_channels == 1
This artificial constraint was removed by adding upmixing support in CopyTo, since it was already supported for the AudioFrame interface using InterleaveTo.
Review URL: https://codereview.webrtc.org/1571013002
Cr-Commit-Position: refs/heads/master@{#11215}
Defining use_third_party_h264 directly, and indirectly defining use_openh264 (from third_party/openh264) and ffmpeg_branding (from third_party/ffmpeg).
These will be used in a follow-up CL that adds an encoder and decoder implementation.
The flags are added in this CL so that they can be used by trybots/waterfall bots in GN without "Build argument had no effect" errors. Equivalent GYP changes are also added.
BUG=468365
Review URL: https://codereview.webrtc.org/1575913003
Cr-Commit-Position: refs/heads/master@{#11204}
* Better param names
* Avoid using negative values for (bogus) placeholder channel counts (mostly in tests). Since channels will be changing to size_t, negative values will be illegal; it's sufficient to use 0 in these cases.
* Use arraysize()
* Use size_t for counting frames, samples, blocks, buffers, and bytes -- most of these are already size_t in most places, this just fixes some stragglers
* reinterpret_cast<int64_t>(void*) is not necessarily safe; use uintptr_t instead
* Remove unnecessary code, e.g. dead code, needlessly long/repetitive code, or function overrides that exactly match the base definition
* Fix indenting
* Use uint32_t for timestamps (matching how it's already a uint32_t in most places)
* Spelling
* RTC_CHECK_EQ(expected, actual)
* Rewrap
* Use .empty()
* Be more pedantic about matching int/int32_t/
* Remove pointless consts on input parameters to functions
* Add missing sanity checks
All this was found in the course of constructing https://codereview.webrtc.org/1316523002/ , and is being landed separately first.
BUG=none
TEST=none
Review URL: https://codereview.webrtc.org/1534193008
Cr-Commit-Position: refs/heads/master@{#11191}
Ask the OS for the mic volume every 1 second rather than with every 10
ms chunk. The previous behavior was consuming ~2% of the CPU load of
a voice engine call, and is now negligible.
This is consistent with the webrtc Windows Core Audio implementation,
as well as the Chromium Mac implementation:
https://code.google.com/p/chromium/codesearch#chromium/src/media/audio/agc_audio_stream.h
TEST=voe_cmd_test with AGC continues to work well on Mac.
Review URL: https://codereview.webrtc.org/1564223002
Cr-Commit-Position: refs/heads/master@{#11182}
Tests were failing on android with new libvpx.
vp9 speed setting was changed to 8 recently and some recent changes
in libvpx require update for the tests to pass.
TBR=stefan@webrtc.org
BUG=webrtc:5401
Review URL: https://codereview.webrtc.org/1569903002 .
Cr-Commit-Position: refs/heads/master@{#11173}
Removes multiple index lookups to generated_fec_packets_ speeding up
FecTest.FecTest with >2x in both Debug and Release, improving
performance but also readability.
On Debug this means that the slowest test in modules_tests now takes
~15-20 seconds instead of 50+ seconds, reducing the overall bottleneck.
BUG=webrtc:4712
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1552563003 .
Cr-Commit-Position: refs/heads/master@{#11166}
Macro incorrectly displays DISABLED_ON_ANDROID in test names for
parameterized tests under --gtest_list_tests, causing tests to be
disabled on all platforms since they contain the DISABLED_ prefix rather
than their expanded variants.
This expands the macro variants to inline if they're disabled or not,
and removes building some tests under configurations where they should
fail, instead of building them but disabling them by default.
The change also removes gtest_disable.h as an unused include from many
other files.
BUG=webrtc:5387, webrtc:5400
R=kjellander@webrtc.org, phoglund@webrtc.orgTBR=henrik.lundin@webrtc.org
Review URL: https://codereview.webrtc.org/1547343002 .
Cr-Commit-Position: refs/heads/master@{#11150}
Renames CreateFakeNativeHandleFrame to FakeNativeHandle::CreateFrame and
moves into test.gyp target 'fake_video_frames' which contains previous
frame_generator target.
Removes unused warnings from includers of
webrtc/test/fake_texture_frame.h which did not use the function above.
BUG=webrtc:5398
R=kjellander@webrtc.orgTBR=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1554223002 .
Cr-Commit-Position: refs/heads/master@{#11149}
public function RtpHeaderParser::Parse with old signature restored as deprecated.
BUG=webrtc:5277
TBR=åsapersson
NOTRY=True
Review URL: https://codereview.webrtc.org/1550283002
Cr-Commit-Position: refs/heads/master@{#11135}
Opus has become the mostly used codec in WebRTC. There, however, is no bit exactness test for Opus decoding in NetEq.
The new RTP file is generated by the following steps:
1. Encode a clean RTP file with Opus
RTPencode resources/audio_coding/speech_mono_32_48kHz.pcm neteq_opus_raw.rtp 960 opus 1
2. Adding jitter to the clean RTP file
RTPjitter neteq_opus_raw.rtp jitter.dat neteq_opus.rtp
(Note: jitter.dat does not exist in WebRTC resources folder. Check the source code for RTPjitter to know how to define such a file.)
BUG=webrtc:3987
TEST=observed Opus normal decoding and FEC decoding were used, listened to the reference output.
Review URL: https://codereview.webrtc.org/1515113002
Cr-Commit-Position: refs/heads/master@{#11113}
PrepareReportBlock and AddReportBlock private functions merged:
PrepareReportBlock moved report block from statistic to temporary structure
AddReportBlock copied that temporary structure into temporary map right after.
Thanks to rtcp packet classes that temporary structure is now unneccesary.
BUG=webrtc:5260
R=åsapersson
Review URL: https://codereview.webrtc.org/1538833002
Cr-Commit-Position: refs/heads/master@{#11112}
This implementation will be replaced by a faster one and sparse will be removed.
BUG=webrtc:5283
Review URL: https://codereview.webrtc.org/1530913002
Cr-Commit-Position: refs/heads/master@{#11099}
Currently, FFT is performance when AEC buffers farend signal. This has some drawbacks
1. memory inefficiency: two ring buffers are needed;
2. computation inefficiency: if ringbuffer gets wrapped around, some FFT computation will be wasted;
3. accessibility: the main AEC function looses accessibility to the time-domain signal.
Therefore, this CL tries to buffer time domain data, which is buffered any way if a debugging macro is defined, and calculate the FFTs where they are actually used.
BUG=
Review URL: https://codereview.webrtc.org/1512573003
Cr-Commit-Position: refs/heads/master@{#11091}
This should solve a problem discovered when converting from GYP to
other project formats, where the source files weren't included correctly
for each platform.
Two other targets in WebRTC have similar source files, which are correctly
generated for each platform:
* video_render_module_internal_impl
* video_capture_module_internal_impl
They both list the sources as it's changed to in this CL.
NOTRY=True
Review URL: https://codereview.webrtc.org/1536923003
Cr-Commit-Position: refs/heads/master@{#11083}
This removes a dependency on Chromium's build/build_config.h
(which is not allowed).
The added defines are identical to the ones in build/build_config.h.
NOTRY=True
Review URL: https://codereview.webrtc.org/1532333002
Cr-Commit-Position: refs/heads/master@{#11082}