This requires including logging.h, which in turn pointed out a problem with our 'LOG_TAG' macro, so that macro is now renamed.
BUG=
Review URL: https://codereview.webrtc.org/1911903002
Cr-Commit-Position: refs/heads/master@{#12464}
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}
Whether two streams get 300k or 150k as initial bitrate is flaky, since
InitEncode may happen asynchronously either before or after two streams
have shared the 300k, meaning that the first sender either thinks it
should start at 300k or at 150k.
This should ideally be fixed by reconfiguring encoders to use QVGA if a
lower estimate arrives before the first frame is encoded, but right now
that would require reconfigure logic in all VideoEncoder wrappers, which
is also less than ideal. It would be good to revisit this once
QualityScaler moves outside the VideoEncoder implementations (into
GenericEncoder).
BUG=webrtc:5678
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1902413002 .
Cr-Commit-Position: refs/heads/master@{#12448}
Reason for revert:
RTCVideoEncoder has been updated to not make assumptions on calling threads/post back to a worker thread. This should now be landable again.
Original issue's description:
> Revert of Initialize/configure video encoders asychronously. (patchset #4 id:60001 of https://codereview.webrtc.org/1757313002/ )
>
> Reason for revert:
> Breaks RTCVideoEncoder which has incorrect assumptions on where InitEncode etc. is called from. Temporarily reverting until RTCVideoEncoder has been updated.
>
> Original issue's description:
> > Initialize/configure video encoders asychronously.
> >
> > Greatly speeds up setRemoteDescription() by moving encoder initialization
> > off the main worker thread, which is free to move onto gathering ICE
> > candidates and other tasks while InitEncode() is performed. It also
> > un-blocks PeerConnection GetStats() which is no longer blocked on
> > encoder initialization.
> >
> > BUG=webrtc:5410
> > R=stefan@webrtc.org
> >
> > Committed: fb647a67be
>
> R=stefan@webrtc.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=chromium:595274, chromium:595308, webrtc:5410
>
> Committed: https://crrev.com/81cbd924447d507559dbd6e6d1f9fe439fcf2716
> Cr-Commit-Position: refs/heads/master@{#12086}
TBR=stefan@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=chromium:595274, chromium:595308, webrtc:5410
Review URL: https://codereview.webrtc.org/1896413002
Cr-Commit-Position: refs/heads/master@{#12446}
This include directory doesn't seem to be needed and is causing
problems in some downstream projects.
NOTRY=True
Review URL: https://codereview.webrtc.org/1903553005
Cr-Commit-Position: refs/heads/master@{#12445}
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}
When building as part of Chromium, webrtc/base/logging.h is overridden
by webrtc_overrides/webrtc/base/logging.h that uses Chromium logging
macros.
The implementation of webrtc/base/objc/RTCFileLogger.{h,mm} however has
dependency on the webrtc implementation of logging as it define a class
that inherits from rtc::LogSink. Since the class does not exists when
the overrides are used, the file fails compilation.
Fixes the compilation for iOS as part of Chromium by not compiling the
file webrtc/base/objc/RTCFileLogger.{h,mm} in that configuration.
BUG=459705
Review URL: https://codereview.webrtc.org/1898283002
Cr-Commit-Position: refs/heads/master@{#12438}
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}
If a STUN ping arrives before the remote description does, a prflx
candidate will be created with an unknown generation.
Once the remote description does arrive, the candidate's generation
should be set so it can be sorted properly, and replaced by a non-prflx
candidate once the candidate is signaled.
BUG=webrtc:5752
R=honghaiz@webrtc.org, pthatcher@webrtc.org
Review URL: https://codereview.webrtc.org/1868353004 .
Cr-Commit-Position: refs/heads/master@{#12433}
CalculateFrequency() results in zero frequency (floating point) if the RTP timestamps in the RTCP list are equal.
Added check in UpdateRtcpList to not insert RTCP SR with the same RTP timestamp.
BUG=webrtc:5780
Review URL: https://codereview.webrtc.org/1891703002
Cr-Commit-Position: refs/heads/master@{#12429}
Declared in webrtc::VideoRender, implemented in IncomingVideoStream.
This cl also eliminates some of the few uses of
webrtc::VideoFrame::CopyFrame.
BUG=webrtc:5682
Review URL: https://codereview.webrtc.org/1885323002
Cr-Commit-Position: refs/heads/master@{#12427}
This fix a potential race where the rotation information of a sent frame does not match the encoded frame.
BUG=webrtc:5783
TEST= Run ApprtcDemo on IOs and Android with and without capture to texture and both VP8 and H264.
R=magjed@webrtc.org, pbos@webrtc.org, tkchin@webrtc.org
TBR=tkchin_webrtc // For IOS changes.
Review URL: https://codereview.webrtc.org/1886113003 .
Cr-Commit-Position: refs/heads/master@{#12426}
By eliminating one of the two constructors, handling decoder ownership
with a unique_ptr instead of a raw pointer, and making all member
variables const (except one, which is made private instead).
BUG=webrtc:5801
Review URL: https://codereview.webrtc.org/1899733002
Cr-Commit-Position: refs/heads/master@{#12425}
processing module experiment description that was present
when AEC3 was not activated and when RefinedAdaptiveFilter
was activated.
BUG=webrtc:5778, webrtc:5777
Review URL: https://codereview.webrtc.org/1899123002
Cr-Commit-Position: refs/heads/master@{#12424}
on an IPv6 network that contains the actual default local address. This is for preventing potential IP leaking.
BUG=webrtc:5376
Review URL: https://codereview.webrtc.org/1837823005
Cr-Commit-Position: refs/heads/master@{#12417}
Makes QualityScaler start at QVGA for <250k initial bitrates. Useful in
combination with overriding max bitrates to a max lower than that for
connections where we know that the max bitrate is capped below where VGA
is useful.
BUG=webrtc:5678
R=glaznev@webrtc.org
Review URL: https://codereview.webrtc.org/1900483004 .
Cr-Commit-Position: refs/heads/master@{#12416}