There are still a few places in VideoReceiveStream where the RTP module
is explicitly used, e.g. setting up a/v sync, but it's a bigger task to
change and that will be done in a follow up instead of in this CL.
BUG=webrtc:5838
Review-Url: https://codereview.webrtc.org/1947913002
Cr-Commit-Position: refs/heads/master@{#12642}
Use the attribute in MediaContentDescription to test whether Rtx is removed in the answer instead of searching the substring "rtx" in the whole answer sdp.
BUG=webrtc:4943
Review-Url: https://codereview.webrtc.org/1919523002
Cr-Commit-Position: refs/heads/master@{#12639}
the file content to echo_cancellation.h.
The purpose of this CL is to simplify upcoming AEC algorithm
changes.
The changes should be bitexact.
BUG=webrtc:5298, webrtc:5201
Review-Url: https://codereview.webrtc.org/1947743004
Cr-Commit-Position: refs/heads/master@{#12638}
Also removing default case, so if another frame is added to
EVideoFrameType we have to handle it.
This will now NOTREACHED on videoFrameTypeInvalid, but
videoFrameTypeInvalid shouldn't happen if encoding succeeds, so it
should be fine or we should become aware of it.
BUG=
R=hbos@webrtc.org
Review-Url: https://codereview.webrtc.org/1943193003
Cr-Commit-Position: refs/heads/master@{#12636}
In some cases, the DTLS ClientHello may arrive before the server's
transport is writable (before it receives a STUN ping response), or
even before it receives a remote fingerprint. If this packet is
discarded, it may take a second for a it to be sent again.
So, this CL caches it instead of dropping it, and feeds it into
the SSL library once the handshake has been started.
BUG=webrtc:5789
Review-Url: https://codereview.webrtc.org/1912323002
Cr-Commit-Position: refs/heads/master@{#12634}
SSRC knowledge is contained withing VideoSendStream. That also means that debug recording is moved to VideoSendStream.
I think that make sence since that allows debug recording with external encoder implementations one day.
BUG=webrtc:5687
Review-Url: https://codereview.webrtc.org/1936503002
Cr-Commit-Position: refs/heads/master@{#12632}
This reverts commit 825eb58d59940a4c3c9837595c4b3b07059c93ca.
This Relands the cl reviewed in https://codereview.webrtc.org/1917793002/
patchset #1 is a pure reland.
patchset #2 fix an overflow in BitrateProber that caused WebRtcVideoChannel2BaseTest.TwoStreamsSendAndReceive to fail.
Original cl description:
Remove SendPacer from ViEEncoder
This CL moves the logic where the ViEEncoder pause if the pacer is full to the BitrateController. If the queue is full, the controller reports a bitrate of zero to Call (and BitrateAllocator)
R=stefan@webrtc.orgTBR=mflodman@webrtc.org
BUG=webrtc:5687
Review URL: https://codereview.webrtc.org/1947873002 .
Cr-Commit-Position: refs/heads/master@{#12630}
Reason for revert:
Previous mode aligns with other encoders, and RC_TIMESTAMP_MODE might have issues with no frames for several seconds.
Original issue's description:
> Use RC_TIMESTAMP_MODE for OpenH264.
>
> Performs rate control based on timestamp deltas instead of announced
> frame rate.
>
> BUG=webrtc:5855
> R=hbos@webrtc.org
>
> Committed: https://crrev.com/c4deee49a3ec42b7fe83c82f750539b36aae1d3f
> Cr-Commit-Position: refs/heads/master@{#12611}
TBR=hbos@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5855
Review-Url: https://codereview.webrtc.org/1950973002
Cr-Commit-Position: refs/heads/master@{#12629}
Reason for revert:
I was too quick to judge, this CL does not cause the problem.
Original issue's description:
> Revert of Android GlDrawer: Add frame size as argument to draw functions (patchset #2 id:20001 of https://codereview.webrtc.org/1948473002/ )
>
> Reason for revert:
> Causes errors on Google3 import.
>
> Original issue's description:
> > Android GlDrawer: Add frame size as argument to draw functions
> >
> > BUG=b/28544933
> >
> > Committed: https://crrev.com/71af75dc3ca8516017dca9de2ebe582145ecad14
> > Cr-Commit-Position: refs/heads/master@{#12623}
>
> TBR=glaznev@webrtc.org,magjed@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=b/28544933
>
> Committed: https://crrev.com/172683173dd84a72659ad494962245445eb2a353
> Cr-Commit-Position: refs/heads/master@{#12627}
TBR=glaznev@webrtc.org,magjed@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=b/28544933
Review-Url: https://codereview.webrtc.org/1947073002
Cr-Commit-Position: refs/heads/master@{#12628}
Reason for revert:
This CL breaks the google3 import (but not the import bot).
This partial revert only reverts the build files. A full revert no longer cleanly applies to ToT, so this was done instead.
Original issue's description:
> Enable -Winconsistent-missing-override flag.
>
> The problem with gmock is worked around by commenting out any other override declarations in classes using gmock.
>
> NOPRESUBMIT=True
> BUG=webrtc:3970
>
> Committed: https://crrev.com/ef8b61e11062295365f11b9942f18a08a8b3ec60
> Cr-Commit-Position: refs/heads/master@{#12563}
TBR=mflodman@webrtc.org,kjellander@webrtc.org,nisse@webrtc.org
BUG=webrtc:3970
Review-Url: https://codereview.webrtc.org/1944273002
Cr-Commit-Position: refs/heads/master@{#12624}
Reason for revert:
Breaks downstream gtest usage.
Original issue's description:
> Remove the rtc_relative_path GYP variable and similar defines
>
> This is a reland of https://codereview.webrtc.org/1903553003/ but with
> the SRTP changes removed, since they're needed downstream.
>
> The defines that can be used to alter the include paths for Expat and gtest
> are no longer needed in WebRTC or Chromium. Remove them to simplify GYP.
>
> Removed defines:
> EXPAT_RELATIVE_PATH
> GTEST_RELATIVE_PATH
>
> They're all set in the Chromium build so this shouldn't affect Chromium:
> https://code.google.com/p/chromium/codesearch#chromium/src/third_party/libjingle/libjingle.gyp
>
> BUG=webrtc:4256
> NOTRY=True
> NOPRESUBMIT=True
> TBR=perkj@webrtc.org
>
> Committed: https://crrev.com/081254f2c62037d016f9fc961764c6f01cb095da
> Cr-Commit-Position: refs/heads/master@{#12536}
TBR=perkj@webrtc.org,kjellander@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:4256
Review-Url: https://codereview.webrtc.org/1945803003
Cr-Commit-Position: refs/heads/master@{#12622}
This CL moves the logic where the ViEEncoder pause if the pacer is full to the BitrateController. If the queue is full, the controller reports a bitrate of zero to Call (and BitrateAllocator)
BUG=webrtc:5687
Review-Url: https://codereview.webrtc.org/1917793002
Cr-Commit-Position: refs/heads/master@{#12620}
ViEChannel is now called VideoStreamReceiver.
There will be a follow up CL removing all rtp references from VideoReceiveStream, but that made this CL to big and it will be done separately.
BUG=webrtc:5079
Review-Url: https://codereview.webrtc.org/1929313002
Cr-Commit-Position: refs/heads/master@{#12619}
state as an input to OverdriveAndSuppress in the AEC.
This CL is step towards simplifying the AEC code, making it more
modifiable and modular.
The changes should be bitexact.
BUG=webrtc:5201, webrtc:5298
Review-Url: https://codereview.webrtc.org/1939723002
Cr-Commit-Position: refs/heads/master@{#12616}
ADMs were previously created by CreateAudioDeviceModule which was
removed in previous refactoring without a replacement added.
BUG=
R=tommi@webrtc.org
Review URL: https://codereview.webrtc.org/1944883002 .
Cr-Commit-Position: refs/heads/master@{#12613}
The change is based on visual evaluation results and improves the
denoising result on both desktop/laptop and Nexus.
Review-Url: https://codereview.webrtc.org/1935353002
Cr-Commit-Position: refs/heads/master@{#12612}
The counting is moved to NetEqImpl, and the new counter is realized as a
Stopwatch object. The DecisionLogic class still has to maintain record
of when the CNG period is shortened, in order to reduce the delay. This
is recorded in a new noise_fast_forward_ member in DecisionLogic.
BUG=webrtc:5608
Review-Url: https://codereview.webrtc.org/1914303004
Cr-Commit-Position: refs/heads/master@{#12608}
to use for the APM. It allows simple and rapid
additions of exploratory data logpoints to use
during bug investigations and module performance
analysis.
The new data logging functionality is also in this CL
used to replace the existing data logging functionality
present in the AEC.
Additional information:
As there was an issue with that the build flag for
activating this feature was not present in all
compilation units that included the feature additional
changes were needed. A summary of the changes are
-The build files were modified to ensure that the
logging build flag always is set to either 0 or 1
for compilation units that include the feature.
-Build-time checks in the appropriate places were added
to ensure that the above is fulfilled.
-The build object was added dynamically to the AEC state
as a pointer to ensure that the size of that state is not
dependent on whether the logging build flag is set or not.
-The constructor of the AEC class needed to be modified in
order to construct the logging object. For this a destructor
was also needed.
-An unused method without any declaration was removed in
order to avoid any issues with the logging flag being set to
0 or 1.
This CL will be immediately followed with an upcoming CL
that replaces the logging in echo_cancellation.cc with the
new functionality which will ensure that the logging flag
is only used in one place within WebRTC, which in turn will
fully ensure that all compilation units that uses the feature
also have the flag properly set.
BUG=webrtc:5201, webrtc:5298
Review-Url: https://codereview.webrtc.org/1877713002
Cr-Commit-Position: refs/heads/master@{#12607}
Later steps in the refactoring will have the factory injected from the
outside rather than owned by NetEq.
BUG=webrtc:5801
Review-Url: https://codereview.webrtc.org/1928293002
Cr-Commit-Position: refs/heads/master@{#12604}
Synchronize calls to EGL10/EGL14.eglCreateContext on EglBase.lock. The
reason is that a deadlock between the remote render thread in
eglSwapBuffers and MediaCodecVideoEncoder eglCreateContext was observed.
The function calls that are now synchronized on EglBase.lock are:
eglCreateContext, eglMakeCurrent, eglSwapBuffers, and
SurfaceTexture.updateTexImage.
BUG=webrtc:5702
Review-Url: https://codereview.webrtc.org/1937933002
Cr-Commit-Position: refs/heads/master@{#12603}
Replaced by VideoSinkInterface instead.
Also delete stream_id property of IncomingVideoStream.
BUG=webrtc:5426
Review-Url: https://codereview.webrtc.org/1813173002
Cr-Commit-Position: refs/heads/master@{#12602}
- "WebRTC.Video.SendDelayInMs"
Change so that PacketOption packet id is always set in RtpSender (if having a TransportSequenceNumberAllocator).
Add SendDelayStats class for computing delays.
Add SendPacketObserver to RtpRtcp config and register SendDelayStats as observer.
Wire up OnSentPacket to SendDelayStats.
BUG=webrtc:5215
Review-Url: https://codereview.webrtc.org/1478253002
Cr-Commit-Position: refs/heads/master@{#12600}
The reference to the old track needs to be kept alive until SetAudioSend/
SetSource is called, because otherwise it could be deleted while the audio/
video engine is still trying to use the track.
BUG=webrtc:5796
Review-Url: https://codereview.webrtc.org/1894283002
Cr-Commit-Position: refs/heads/master@{#12598}
And move encoder name cb to VCMSendStatisticsCallback.
BUG=webrtc:5687
Review-Url: https://codereview.webrtc.org/1900193004
Cr-Commit-Position: refs/heads/master@{#12596}