Reason for revert:
Breaks bots
Original issue's description:
> Deliver reordered packets in arrival time order after parsing feedback message.
>
> This is what the remote bitrate estimator expects.
>
> BUG=5823
> R=sprang@webrtc.org
>
> Committed: https://crrev.com/ed9535e2cac6be7a45fb03dc8426ef3b0ec43294
> Cr-Commit-Position: refs/heads/master@{#12527}
TBR=sprang@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=5823
Review URL: https://codereview.webrtc.org/1928443004
Cr-Commit-Position: refs/heads/master@{#12528}
- Places most ObjC code into webrtc/sdk/objc instead.
- New gyp targets to build, strip and export symbols for dylib.
- Removes old script used to generate dylib.
BUG=
Review URL: https://codereview.webrtc.org/1903663002
Cr-Commit-Position: refs/heads/master@{#12524}
Class contained a lot of not-really-wired-up functionality that ended up
being complicated ways of saying return 1; or return false;. This
removes this dependency that complicates code readability significantly.
BUG=webrtc:5066
R=marpan@google.com, marpan@webrtc.orgTBR=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1917083003 .
Cr-Commit-Position: refs/heads/master@{#12516}
With this change, the NetEqImpl constructor takes a struct
(NetEqImpl::Dependencies) as input instead of a collection of
individual dependencies. The NetEqImpl unit test fixture is modified
to make better used of unique_ptrs.
Review URL: https://codereview.webrtc.org/1921243002
Cr-Commit-Position: refs/heads/master@{#12514}
They're just no-ops now, and will soon go away.
BUG=webrtc:5520
Review URL: https://codereview.webrtc.org/1914153002
Cr-Commit-Position: refs/heads/master@{#12510}
Any file that uses the RTC_DISALLOW_* macros should #include
"webrtc/base/constructormagic.h", but a shocking number of them don't.
This causes trouble when we try to wean files off of #including
scoped_ptr.h, since a bunch of files get their constructormagic macros
only from there.
Rather than fixing these errors one by one as they turn up, this CL
simply ensures that every file in the WebRTC tree that uses the
RTC_DISALLOW_* macros #includes "webrtc/base/constructormagic.h".
BUG=webrtc:5520
Review URL: https://codereview.webrtc.org/1917043005
Cr-Commit-Position: refs/heads/master@{#12509}
This change makes use of the TickTimer::Stopwatch in Packets. When a
packet is inserted into the PacketBuffer, a Stopwatch object is
attached to it. When the packet is extracted from the buffer, the
Stopwatch is read to know how long the packet waited in the buffer.
BUG=webrtc:5608
Review URL: https://codereview.webrtc.org/1917913002
Cr-Commit-Position: refs/heads/master@{#12508}
Framerate-reduction code is disabled on all platforms, and this code
adds complexity. It's necessary to react fast, especially on mobile
platforms or other bad network conditions and framerate reduction adds
another step between HD and QVGA.
BUG=webrtc:5678, webrtc:5830
R=jackychen@webrtc.org, mflodman@webrtc.org
Review URL: https://codereview.webrtc.org/1885893002 .
Cr-Commit-Position: refs/heads/master@{#12503}
The audio_decoder_interface and audio_encoder_interface
targets are depending on rtc_base_approved headers but don't
declare such dependencies.
NOTRY=True
Review URL: https://codereview.webrtc.org/1916953002
Cr-Commit-Position: refs/heads/master@{#12500}
When frame width or height not divisible by 16, copy the margin to denoised
frame, otherwise, the margin block (smaller than 16x16) will not be
updated for non-keyframe.
Review URL: https://codereview.webrtc.org/1917703002
Cr-Commit-Position: refs/heads/master@{#12497}
The TickTimer is incremented on each call to GetAudioInternal(). Other
than that, the new object is not used yet.
Also adding a unit test in NetEqImplTest to verify that the tick timer
is incremented in the call to NetEq::GetAudio.
BUG=webrtc:5608
Review URL: https://codereview.webrtc.org/1903153005
Cr-Commit-Position: refs/heads/master@{#12493}
Broke out CNG from AudioDecoder as they didn't really share an interface.
Converted the CNG code to C++, to make initialization and resource handling easier. This includes several changes to the behavior, favoring RTC_CHECKs over returning error codes.
Review URL: https://codereview.webrtc.org/1868143002
Cr-Commit-Position: refs/heads/master@{#12491}
Reason for revert:
Candidate culprit CL for breaking the gtest initialization on DrMemory.
Original issue's description:
> Enable video processing unittest to take video clips as param.
>
> This change enables video processing unittest (including all tests under
> it, e.g. denoiser test) to use a set of video clips as param, which is
> important if we want to do a regression test on the visual quality
> offline.
>
> BUG=
>
> Committed: https://crrev.com/6d94e5224a3d3b1a6d66a428dbe75af7106e8d60
> Cr-Commit-Position: refs/heads/master@{#12485}
TBR=marpan@webrtc.org,jackychen@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.webrtc.org/1915973002
Cr-Commit-Position: refs/heads/master@{#12490}
This change enables video processing unittest (including all tests under
it, e.g. denoiser test) to use a set of video clips as param, which is
important if we want to do a regression test on the visual quality
offline.
BUG=
Review URL: https://codereview.webrtc.org/1907353004
Cr-Commit-Position: refs/heads/master@{#12485}
The new class is intended to be used as a central time-keeping object
inside NetEq. The actual use of the class will come in subsequent
changes.
BUG=webrtc:5608
Review URL: https://codereview.webrtc.org/1910523003
Cr-Commit-Position: refs/heads/master@{#12477}
This is done by changing the RateStatistics so that it resets its window when the accumulator is empty. It also keeps a dynamic window, so that the rates computed before a full window worth of data has been received will be computed over a smaller window. This means that the rate will be closer to the true rate, but with a higher variance.
BUG=webrtc:5773
R=perkj@webrtc.org, sprang@webrtc.org
Review URL: https://codereview.webrtc.org/1908893003 .
Cr-Commit-Position: refs/heads/master@{#12470}
They can all benefit from moving, since they contain std::string and
std::vector. We intended to add these in
https://codereview.webrtc.org/1896953004/, but got compiler errors we
couldn't make sense of, so we skipped them. It turns out that what the
compiler was complaining about was that when we said we'd have a
user-defined move constructor, it stopped generating a copy assignment
operator for us. This CL solves the problem by outfitting the types
with defaulted copy and move assignment operators too.
Review URL: https://codereview.webrtc.org/1899173002
Cr-Commit-Position: refs/heads/master@{#12469}
This will allow us to fix the sample rate of each AudioDecoder at
instantiation time.
This change results in different checksums for the following tests:
AcmReceiverBitExactnessOldApi.8kHzOutput
AcmReceiverBitExactnessOldApi.16kHzOutput
AcmReceiverBitExactnessOldApi.32kHzOutput
AcmReceiverBitExactnessOldApi.48kHzOutputExternalDecoder
AcmReceiverBitExactnessOldApi.48kHzOutput
Because they make an ACM and then ask it to decode both 16 kHz and 32
kHz iSAC. (The arm32 and arm64 checksums didn't change, because the
tests skip 32 kHz iSAC on arm.)
BUG=webrtc:5801
Review URL: https://codereview.webrtc.org/1908923002
Cr-Commit-Position: refs/heads/master@{#12463}
The fs_hz member variable is going away too, being replaced by a
method in the AudioDecoder interface. If we ever end up needing the
RTP sample rate here, a method ought to be the right solution for that
too.
BUG=webrtc:5801
Review URL: https://codereview.webrtc.org/1907183002
Cr-Commit-Position: refs/heads/master@{#12462}
Removed deprecated files, types and methods in modules/webrtc that were
kept there to avoid breaking chromium, and which are no longer needed.
BUG=172183
Review URL: https://codereview.webrtc.org/1909593002
Cr-Commit-Position: refs/heads/master@{#12457}
ViEEncoder doesn't need a full VideoCodingModule since it only uses the
sender side either way.
BUG=webrtc:3608,webrtc:5687
R=perkj@webrtc.org
Review URL: https://codereview.webrtc.org/1904983002 .
Cr-Commit-Position: refs/heads/master@{#12456}
Current implementation of AEC metrics does not read nicely. It messes up between a noise-removed calculation and a raw calculation.
I tried to clean it up, in which, I stick to the raw calculation since the noise-removed version can show some problem when the noise is overestimated.
BUG=
Review URL: https://codereview.webrtc.org/1581183005
Cr-Commit-Position: refs/heads/master@{#12455}
The first approach landed here: https://codereview.webrtc.org/1773173002
But it was partially reverted, because it affected the AEC performance, here: https://codereview.webrtc.org/1867483003/
The main difference of this approach is that it doesn't use the 3-band splitting filter in the reverse stream, which seems to be the culprit of the AEC regression.
Also, the 2-band splitting filter has been used for the 32kHz case for a long time without any problem, and this is expanded in the CL to cover the 48kHz case as well.
BUG=webrtc:5725
TBR=tina.legrand@webrtc.org
Review URL: https://codereview.webrtc.org/1865633005
Cr-Commit-Position: refs/heads/master@{#12451}
Integer wraparound when casting from int32 to int16 can cause invalid array indices to be accessed.
Fix for wraparound issue.
BUG=webrtc:5781
Review URL: https://codereview.webrtc.org/1894483002
Cr-Commit-Position: refs/heads/master@{#12449}
Reason for revert:
A fix is being prepared downstream so this can now go in.
Original issue's description:
> Revert of Deprecate VCMPacketizationCallback::SendData and use EncodedImageCallback instead. (patchset #5 id:80001 of https://codereview.webrtc.org/1897233002/ )
>
> Reason for revert:
> API changes broke downstream.
>
> Original issue's description:
> > Deprecate VCMPacketizationCallback::SendData and use EncodedImageCallback instead.
> > EncodedImageCallback is used by all encoder implementations and seems to be what we should try to use in the transport.
> > EncodedImageCallback can of course be cleaned up in the future.
> >
> > This moves creation of RTPVideoHeader from the GenericEncoder to the PayLoadRouter.
> >
> > BUG=webrtc::5687
> >
> > Committed: https://crrev.com/f5d55aaecdc39e9cc66eb6e87614f04afe28f6eb
> > Cr-Commit-Position: refs/heads/master@{#12436}
>
> TBR=stefan@webrtc.org,pbos@webrtc.org,perkj@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5687
>
> Committed: https://crrev.com/a261e6136655af33f283eda8e60a6dd93dd746a4
> Cr-Commit-Position: refs/heads/master@{#12441}
TBR=stefan@webrtc.org,pbos@webrtc.org,perkj@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5687
Review URL: https://codereview.webrtc.org/1905583002
Cr-Commit-Position: refs/heads/master@{#12442}
Reason for revert:
API changes broke downstream.
Original issue's description:
> Deprecate VCMPacketizationCallback::SendData and use EncodedImageCallback instead.
> EncodedImageCallback is used by all encoder implementations and seems to be what we should try to use in the transport.
> EncodedImageCallback can of course be cleaned up in the future.
>
> This moves creation of RTPVideoHeader from the GenericEncoder to the PayLoadRouter.
>
> BUG=webrtc::5687
>
> Committed: https://crrev.com/f5d55aaecdc39e9cc66eb6e87614f04afe28f6eb
> Cr-Commit-Position: refs/heads/master@{#12436}
TBR=stefan@webrtc.org,pbos@webrtc.org,perkj@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc::5687
Review URL: https://codereview.webrtc.org/1903193002
Cr-Commit-Position: refs/heads/master@{#12441}
EncodedImageCallback is used by all encoder implementations and seems to be what we should try to use in the transport.
EncodedImageCallback can of course be cleaned up in the future.
This moves creation of RTPVideoHeader from the GenericEncoder to the PayLoadRouter.
BUG=webrtc::5687
Review URL: https://codereview.webrtc.org/1897233002
Cr-Commit-Position: refs/heads/master@{#12436}