Unity native plugin has to use Pinvoke technology in its APIs
This plugin dll can also be used by Windows C# applications other than
Unity.
BUG=webrtc:7389
Review-Url: https://codereview.webrtc.org/2823783002
Cr-Commit-Position: refs/heads/master@{#18108}
To make the distinction for stats, add a |recovered| flag to
RtpPacketReceived.
BUG=webrtc:7135
Review-Url: https://codereview.webrtc.org/2693123002
Cr-Commit-Position: refs/heads/master@{#18103}
Add logging of some histogram stats at the end of a call.
BUG=none
Review-Url: https://codereview.webrtc.org/2873303002
Cr-Commit-Position: refs/heads/master@{#18099}
VideoFrameBuffer is currently hard coded to be either I420 or Native.
This CL makes VideoFrameBuffer more generic by moving the I420 specific
functions into their own class, and adds an enum tag that represents the
format and storage type of the buffer. Each buffer type is then
represented as a subclass. See webrtc/api/video/video_frame_buffer.h for
more info.
This CL also adds support for representing I444 in VideoFrameBuffer
using the new interface. Possible future buffer type candidates are
RGB and NV12.
BUG=webrtc:7632
TBR=stefan@webrtc.org
Review-Url: https://codereview.webrtc.org/2847383002
Cr-Commit-Position: refs/heads/master@{#18098}
This prevents user from accidentally specifying a directory that contains
files that the user wants to keep.
BUG=webrtc:7608
NOTRY=True
Review-Url: https://codereview.webrtc.org/2876803002
Cr-Commit-Position: refs/heads/master@{#18096}
The audio mixer has a subcomponent called FrameCombiner, which uses an
AudioProcessing instance as a limiter. The limiter smoothly increases
the volume to avoid causing clipping.
The limiter was created in a default configuration causing the
ResidualEchoDetector submodule of AudioProcessing to be
activated. That submodule operates in the band-split domain (see
AudioProcessingImpl::ApmSubmoduleStates::RenderMultiBandSubModulesActive()).
There is a goal to remove the (expensive and unnecessary)
band-splitting from AudioMixer. This change helps accomplish that. (It
can't be done yet, because the actual limiter sub-component of APM
also operates in the band-split domain).
BUG=webrtc:6185
Review-Url: https://codereview.webrtc.org/2875623002
Cr-Commit-Position: refs/heads/master@{#18090}
In the windows audio device implementation, play block size should be
number of samples per 10ms times the number of channels. Meanwhile
RequestPlayoutData is expecting number of samples per channel in a
block, and we should pass in the per channel number here to avoid debug
check.
BUG=7627
Review-Url: https://codereview.webrtc.org/2876593003
Cr-Commit-Position: refs/heads/master@{#18088}
RTP packets can be padded with extra data at the end of the payload. The usable
payload length of the packet should then be reduced with the padding length,
since the padding must be discarded. This was not the case; instead, the entire
payload, including padding data, was forwarded to the audio channel and in the
end to the decoder.
A special case of padding is packets which are empty except for the padding.
That is, they carry no usable payload. These packets are sometimes used for
probing the network and were discarded in
RTPReceiverAudio::ParseAudioCodecSpecific. The result is that NetEq never sees
those empty packets, just the holes in the sequence number series; this can
throw off the target buffer calculations.
With this change, the empty (after removing the padding) packets are let through,
all the way down to NetEq, to a new method called NetEq::InsertEmptyPacket. This
method notifies the DelayManager that an empty packet was received.
BUG=webrtc:7610, webrtc:7625
Review-Url: https://codereview.webrtc.org/2870043003
Cr-Commit-Position: refs/heads/master@{#18083}
FakeRtpTransportController moves to a common header and its constructor is changed to take a SendSideCongestionController to enable injecting the mock.
BUG=webrtc:7395
Review-Url: https://codereview.webrtc.org/2834663003
Cr-Commit-Position: refs/heads/master@{#18055}
Occurred when parsing an address with more than 7 colons. For example:
1::2:3:4:5:6:7::8
BUG=webrtc:7592
Review-Url: https://codereview.webrtc.org/2867653002
Cr-Commit-Position: refs/heads/master@{#18054}
This allows it to be reused with Android AudioRecords created outside
WebRtcAudioRecord. WebRtcAudioEffects provides useful methods for enabling
hardware effects (such as echo cancellation) only on appropriate devices. It
also allows some control of these effects through WebRtcAudioUtils.
BUG=webrtc:7448
Review-Url: https://codereview.webrtc.org/2786603004
Cr-Commit-Position: refs/heads/master@{#18053}
Instead, make the pointer to the associated socket server a
construction time const, and delete its lock.
Introduces a helper class AutoSocketServerThread for code
(mainly tests) which need a socket server associated with
the current thread.
BUG=webrtc:7501
Review-Url: https://codereview.webrtc.org/2828223002
Cr-Commit-Position: refs/heads/master@{#18047}
The test attempted to call InsertDtmf before verifying that the DTLS
handshake was complete. Unlike a data channel, the DTMF sender doesn't
do any buffering, so this isn't reliable.
BUG=webrtc:7547
NOTRY=True
Review-Url: https://codereview.webrtc.org/2855573004
Cr-Commit-Position: refs/heads/master@{#18041}
I'm already a root OWNER, but people tend to pick reviewers from the
most specific OWNERS file, so I should probably be in these two.
NOTRY=true
BUG=none
Review-Url: https://codereview.webrtc.org/2869443002
Cr-Commit-Position: refs/heads/master@{#18038}
So that it's easier to find the right reviewers.
NOTRY=true
BUG=none
Review-Url: https://codereview.webrtc.org/2860093005
Cr-Commit-Position: refs/heads/master@{#18037}
The test contained an invalid IPv6 address. It should have ":" instead of "::" as separation.
BUG=webrtc:7565
Review-Url: https://codereview.webrtc.org/2868453002
Cr-Commit-Position: refs/heads/master@{#18035}
The residual echo likelihood should report a likelihood between 0.0 and 1.0. Currently it can happen that echo likelihoods > 1.0 are reported. As a temporary mitigation to stop this, this CL enforces a hard maximum of 1.0 for the echo likelihood while we investigate the issue further.
BUG=b/38014838
Review-Url: https://codereview.webrtc.org/2861123002
Cr-Commit-Position: refs/heads/master@{#18030}
After a Merge operation, the statistics for number of samples
generated using Expand must be corrected, and the correction can in
fact be negative. However, a bug was introduced in
https://codereview.webrtc.org/1230503003 which uses a size_t to
represent the correction, which leads to wrap-around of the negative
value. This is not a problem in itself, since this value is added to
another size_t, with the effect that the desired subtraction happens
anyway.
The actual problem arises if the statistics are polled/reset before a
subtraction happens -- that is, between an Expand and a Merge
operation. This will lead to an actual wrap-around of the stats value,
and large expand_rate (16384) is reported.
BUG=webrtc:7554
Review-Url: https://codereview.webrtc.org/2859483005
Cr-Commit-Position: refs/heads/master@{#18029}
This is better in line with Obj-C design guidelines.
BUG=None
Review-Url: https://codereview.webrtc.org/2862493003
Cr-Commit-Position: refs/heads/master@{#18023}
The test was trying to solve this problem already with AutoThread, but
the order of variable declaration was causing it to be created after
"rtc::Thread::Current()" was already called.
BUG=chromium:701262
TBR=pbos@webrtc.org
Review-Url: https://codereview.webrtc.org/2858343002
Cr-Commit-Position: refs/heads/master@{#18019}
This is instead derived from pattern_idx inside the frame config.
This also removes active_layer_ use from
ScreenshareLayers::PopulateCodecSpecific and instead ties the layer to
TemporalLayers::FrameConfig.
BUG=chromium:702017, webrtc:7349
R=sprang@webrtc.org
Review-Url: https://codereview.webrtc.org/2860063002
Cr-Commit-Position: refs/heads/master@{#18017}
This change allows more callbacks to be registered to the test object.
The callbacks are used to give the user of the test object the ability
to instrument the test object. This CL specifically adds
instrumentation points just after a packet is inserted into NetEq, and
just after audio is pulled out of NetEq.
BUG=webrtc:7467
Review-Url: https://codereview.webrtc.org/2851383004
Cr-Commit-Position: refs/heads/master@{#18014}