in order to fix a build issue that comes up when using WebRTC.framework from swift code.
BUG=webrtc:7488
Review-Url: https://codereview.webrtc.org/2832803002
Cr-Commit-Position: refs/heads/master@{#17909}
Specifically, the tests that only use data channels shouldn't need any
audio codec support; by using an audio decoder factory that supports
no codecs, we ensure that this is the case.
For completeness, I tried doing the same to the two tests that
actually use audio and video; as expected, they fail, with messages
like this:
[000:032] (webrtcsession.cc:334): Failed to set remote sdp: Session
error code: ERROR_CONTENT. Session error description: Failed to set
local audio description recv parameters..
BUG=webrtc:5805
Review-Url: https://codereview.webrtc.org/2848563002
Cr-Commit-Position: refs/heads/master@{#17907}
Reason for revert:
Breaks external bot
Original issue's description:
> Support adding and removing MediaRecorder to camera 2 session.
>
> Camera 1 API is not supported.
>
> BUG=b/36684011
>
> Review-Url: https://codereview.webrtc.org/2833773003
> Cr-Commit-Position: refs/heads/master@{#17901}
> Committed: 2fc04769faTBR=sakal@webrtc.org,glaznev@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=b/36684011
Review-Url: https://codereview.webrtc.org/2844233002
Cr-Commit-Position: refs/heads/master@{#17905}
These are the changes made to WebRtcVoiceEngine and surrounding
code. It still contains some things that are inelegant, like how
AudioCodecSpec and AudioFormatInfo is ferried around in
SendCodecSpec. This should probably be resolved before landing.
There are also a few test still that are disabled. They should be
removed or fixed, as the case may be.
I've put this CL up to get a better overview of the changes made and
how reviewable they are.
BUG=webrtc:5806
Review-Url: https://codereview.webrtc.org/2705093002
Cr-Commit-Position: refs/heads/master@{#17904}
With the upcoming changes to WebRtcVoiceEngine due to injectable audio
encoders, codec names will no longer be normalized against the ACM's
codec database. This not only breaks a couple of downstream tests
(which I've written fixes for) but also runs the risk of breaking
other external usage, like SDP mangling etc.
Eventually, we should change to using the spelling from the relevant
RFCs, although not as part of this other, large change.
BUG=webrtc:5806
Review-Url: https://codereview.webrtc.org/2845603002
Cr-Commit-Position: refs/heads/master@{#17903}
This CL splits out the code in RTCNV12Shader.mm for uploading byte
buffers to textures into its own class RTCNV12TextureCache. The purpose
is to prepare for allowing clients to inject their own shaders.
RTCNV12TextureCache will be used in the generic code, while the actual
shaders in RTCNV12Shader will be customizable by the client.
BUG=webrtc:7473
Review-Url: https://codereview.webrtc.org/2835203003
Cr-Commit-Position: refs/heads/master@{#17902}
This will create another decoder instance, which isn't ideal, but
that's better than the current behavior where things don't work at all.
We still need to fix the root cause of the linked bug, which is that we
don't remember previous payload type mappings when generating an offer.
This CL also adds a check for what is a real error: when a payload type
that was mapped to one codec is changed to map to a different codec.
And lastly, this CL removes a DCHECK for an assumption that was not
valid: that subsequently applied codec lists will always be supersets of
previous lists.
BUG=webrtc:5847
Review-Url: https://codereview.webrtc.org/2831333002
Cr-Commit-Position: refs/heads/master@{#17897}
This is to be used in tests where the audio output is not interesting.
BUG=webrtc:7467
Review-Url: https://codereview.webrtc.org/2842033003
Cr-Commit-Position: refs/heads/master@{#17893}
This is something a well-behaving STUN server shouldn't do, but we shouldn't
crash if it does happen.
Also adding helper function for the common operation of extracting just
the error code out of a STUN packet.
BUG=chromium:708469
Review-Url: https://codereview.webrtc.org/2837133003
Cr-Commit-Position: refs/heads/master@{#17892}
With this fix, the size of the fake encoded payload is limited to 120
ms at 48000 samples/second.
BUG=webrtc:7467
Review-Url: https://codereview.webrtc.org/2838353002
Cr-Commit-Position: refs/heads/master@{#17891}
This CL adds a few methods to the NetEq API that will be used for
delay analysis and plotting.
BUG=webrtc:7467
Review-Url: https://codereview.webrtc.org/2839163002
Cr-Commit-Position: refs/heads/master@{#17889}
This CL splits out the code in RTCI420Shader.mm for uploading byte
buffers to textures into its own class RTCI420TextureCache. The purpose
is to prepare for allowing clients to inject their own shaders.
RTCI420TextureCache will be used in the generic code, while the actual
shaders in RTCI420Shader will be customizable by the client.
BUG=webrtc:7473
Review-Url: https://codereview.webrtc.org/2842453002
Cr-Commit-Position: refs/heads/master@{#17882}
This target keeps track of .h the files under webrtc/modules/include/
that are not part of any target.
If a .h file is not part of a target the 'gn check' utility is not
able to spot if a target is missing a dependency because even if
it parses '#include' directives it is not able to find a target that
contains these headers.
BUG=webrtc:7513
NOTRY=True
Review-Url: https://codereview.webrtc.org/2838873002
Cr-Commit-Position: refs/heads/master@{#17880}
This is in preparation for a WrapCurrentThread method,
or AutoThread constructor, taking a socket
server as argument, to eliminate the need for the
MessageQueue::set_socketserver method and its lock.
No intended change in behaviour; the ThreadManager constructor
records the calling thread id, and autowrap is still restricted to
that thread. Behavior when NO_MAIN_THREAD_WRAPPING is defined is
also unchanged.
Also makes the ThreadManager a singleton, with private constructor
and destructor. And marks its destructor as RTC_NOTREACHED, since
by the documentation for RTC_DEFINE_STATIC_LOCAL, the intention is to
leak the object and never destruct it.
BUG=webrtc:7501
Review-Url: https://codereview.webrtc.org/2833993003
Cr-Commit-Position: refs/heads/master@{#17879}
Reason for revert:
It causes a Chromium build error:
ERROR at //third_party/webrtc/test/BUILD.gn:113:5: Can't load input file.
"//third_party/gflags",
Original issue's description:
> Reland of Enable GN check for webrtc/base (patchset #3 id:230001 of https://codereview.webrtc.org/2838683002/ )
>
> Reason for revert:
> Try to fix the webrtc/test/fuzzers issue and reland this CL because it
> contains lots of fixes for our BUILD.gn files.
>
> Original issue's description:
> > Revert of Enable GN check for webrtc/base (patchset #13 id:240001 of https://codereview.webrtc.org/2717083002/ )
> >
> > Reason for revert:
> > Breaks Chromium because in Chromium we import WebRTC with rtc_include_tests=false (https://bugs.chromium.org/p/chromium/issues/detail?id=713179#c6).
> >
> > Chromium uses webrtc/test/fuzzers and this CL adds test dependencies to neteq_rtc_fuzzer.
> >
> > Original issue's description:
> > > Enable GN check for webrtc/base
> > >
> > > It's not possible to enable it for the rtc_base_approved
> > > target but since a larger refactoring is ongoing for webrtc/base
> > > this CL doesn't attempt to fix that.
> > >
> > > Changes made:
> > > * Move webrtc/system_wrappers/include/stringize_macros.h into
> > > webrtc/base:rtc_base_approved_unittests (and corresponding
> > > unit test to rtc_base_approved_unittests).
> > > * Move md5digest.* from rtc_base_approved to rtc_base_test_utils target.
> > > * Move webrtc/system_wrappers/include/stringize_macros.h (+test) into
> > > webrtc/base.
> > > * Remove unused use include of webrtc/base/fileutils.h in
> > > webrtc/base/pathutils.cc
> > >
> > > BUG=webrtc:6828, webrtc:3806, webrtc:7480
> > > NOTRY=True
> > >
> > > Review-Url: https://codereview.webrtc.org/2717083002
> > > Cr-Commit-Position: refs/heads/master@{#17766}
> > > Committed: ed754e71ae
> >
> > TBR=perkj@webrtc.org,tommi@webrtc.org,nisse@webrtc.org,kjellander@webrtc.org
> > # Not skipping CQ checks because original CL landed more than 1 days ago.
> > BUG=webrtc:6828, webrtc:3806, webrtc:7480
> > NOTRY=True
> >
> > Review-Url: https://codereview.webrtc.org/2838683002
> > Cr-Commit-Position: refs/heads/master@{#17849}
> > Committed: 11ed366c48
>
> TBR=perkj@webrtc.org,tommi@webrtc.org,nisse@webrtc.org,kjellander@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6828, webrtc:3806, webrtc:7480
>
> Review-Url: https://codereview.webrtc.org/2840453004
> Cr-Commit-Position: refs/heads/master@{#17876}
> Committed: 7054085e59TBR=perkj@webrtc.org,tommi@webrtc.org,nisse@webrtc.org,kjellander@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6828, webrtc:3806, webrtc:7480
Review-Url: https://codereview.webrtc.org/2846483002
Cr-Commit-Position: refs/heads/master@{#17877}
Reason for revert:
Try to fix the webrtc/test/fuzzers issue and reland this CL because it
contains lots of fixes for our BUILD.gn files.
Original issue's description:
> Revert of Enable GN check for webrtc/base (patchset #13 id:240001 of https://codereview.webrtc.org/2717083002/ )
>
> Reason for revert:
> Breaks Chromium because in Chromium we import WebRTC with rtc_include_tests=false (https://bugs.chromium.org/p/chromium/issues/detail?id=713179#c6).
>
> Chromium uses webrtc/test/fuzzers and this CL adds test dependencies to neteq_rtc_fuzzer.
>
> Original issue's description:
> > Enable GN check for webrtc/base
> >
> > It's not possible to enable it for the rtc_base_approved
> > target but since a larger refactoring is ongoing for webrtc/base
> > this CL doesn't attempt to fix that.
> >
> > Changes made:
> > * Move webrtc/system_wrappers/include/stringize_macros.h into
> > webrtc/base:rtc_base_approved_unittests (and corresponding
> > unit test to rtc_base_approved_unittests).
> > * Move md5digest.* from rtc_base_approved to rtc_base_test_utils target.
> > * Move webrtc/system_wrappers/include/stringize_macros.h (+test) into
> > webrtc/base.
> > * Remove unused use include of webrtc/base/fileutils.h in
> > webrtc/base/pathutils.cc
> >
> > BUG=webrtc:6828, webrtc:3806, webrtc:7480
> > NOTRY=True
> >
> > Review-Url: https://codereview.webrtc.org/2717083002
> > Cr-Commit-Position: refs/heads/master@{#17766}
> > Committed: ed754e71ae
>
> TBR=perkj@webrtc.org,tommi@webrtc.org,nisse@webrtc.org,kjellander@webrtc.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=webrtc:6828, webrtc:3806, webrtc:7480
> NOTRY=True
>
> Review-Url: https://codereview.webrtc.org/2838683002
> Cr-Commit-Position: refs/heads/master@{#17849}
> Committed: 11ed366c48TBR=perkj@webrtc.org,tommi@webrtc.org,nisse@webrtc.org,kjellander@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6828, webrtc:3806, webrtc:7480
Review-Url: https://codereview.webrtc.org/2840453004
Cr-Commit-Position: refs/heads/master@{#17876}
This target keeps track of .h the files under webrtc/ that are not part
of any target.
If a .h file is not part of a target the 'gn check' utility is not
able to spot if a target is missing a dependency because even if
it parses '#include' directives it is not able to find a target that
contains these headers.
BUG=webrtc:7512
NOTRY=True
Review-Url: https://codereview.webrtc.org/2841873002
Cr-Commit-Position: refs/heads/master@{#17874}
Specifically, they handle all combinations of two integer and two
floating-point arguments by picking a result type that is guaranteed
to be able to hold the result. This means callers no longer have to
deal with potentially dangerous casting to make all the arguments have
the same type, like they have to with std::min() and std::max().
Also, they're constexpr.
Mostly for illustrative purposes, this CL replaces a few std::min()
and std::max() calls with SafeMin() and SafeMax().
BUG=webrtc:7459
Review-Url: https://codereview.webrtc.org/2810483002
Cr-Commit-Position: refs/heads/master@{#17869}
Make all rtc_source_test target that contains tests that
are included in a test executable only be visible to the
rtc_test target. Doing this exposed a couple of errors and
dependency problems that were resolved. Having this could
have prevented duplicated execution of tests like the case that
was recently fixed by deadbeef@ in
https://codereview.webrtc.org/2820263004
New targets:
* //webrtc/modules/rtp_rtcp:fec_test_helper
* //webrtc/modules/rtp_rtcp:mock_rtp_rtcp
* //webrtc/modules/remote_bitrate_estimator:mock_remote_bitrate_observer
The mock files and targets should probably be moved into webrtc/test in
the future, but that's out of the scope of this CL.
BUG=webrtc:5716
NOTRY=True
Review-Url: https://codereview.webrtc.org/2828793003
Cr-Commit-Position: refs/heads/master@{#17863}
Having this, the produced libwebrtc.a library becomes complete and is
more useful to most downstream users. More advanced use cases that needs to
wire up their own field trial and metrics implementations will need to
create their own target.
BUG=webrtc:7372
NOTRY=True
CC=agouaillard@gmail.com
Review-Url: https://codereview.webrtc.org/2840553002
Cr-Commit-Position: refs/heads/master@{#17860}
I disabled the check on "video_tests" because it pulls
"//webrtc/media/rtc_unittest_main" as a dependency and it defines
the _main (that is already defined by "//webrtc/test:test_main").
I will file a bug to solve this in another CL.
BUG=webrtc:6828
NOTRY=True
Review-Url: https://codereview.webrtc.org/2832063003
Cr-Commit-Position: refs/heads/master@{#17859}
Reason for revert:
Breaks Chromium because in Chromium we import WebRTC with rtc_include_tests=false (https://bugs.chromium.org/p/chromium/issues/detail?id=713179#c6).
Chromium uses webrtc/test/fuzzers and this CL adds test dependencies to neteq_rtc_fuzzer.
Original issue's description:
> Enable GN check for webrtc/base
>
> It's not possible to enable it for the rtc_base_approved
> target but since a larger refactoring is ongoing for webrtc/base
> this CL doesn't attempt to fix that.
>
> Changes made:
> * Move webrtc/system_wrappers/include/stringize_macros.h into
> webrtc/base:rtc_base_approved_unittests (and corresponding
> unit test to rtc_base_approved_unittests).
> * Move md5digest.* from rtc_base_approved to rtc_base_test_utils target.
> * Move webrtc/system_wrappers/include/stringize_macros.h (+test) into
> webrtc/base.
> * Remove unused use include of webrtc/base/fileutils.h in
> webrtc/base/pathutils.cc
>
> BUG=webrtc:6828, webrtc:3806, webrtc:7480
> NOTRY=True
>
> Review-Url: https://codereview.webrtc.org/2717083002
> Cr-Commit-Position: refs/heads/master@{#17766}
> Committed: ed754e71aeTBR=perkj@webrtc.org,tommi@webrtc.org,nisse@webrtc.org,kjellander@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:6828, webrtc:3806, webrtc:7480
NOTRY=True
Review-Url: https://codereview.webrtc.org/2838683002
Cr-Commit-Position: refs/heads/master@{#17849}
The dependency on third_party/expat/ is removed.
The dependency on third_party/jsoncpp is removed from
libjingle_peerconnection while peerconnection_client still
depends on it.
BUG=webrtc:7516
Review-Url: https://codereview.webrtc.org/2832283002
Cr-Commit-Position: refs/heads/master@{#17848}
Once the buffer returned by Windows is not newly allocated, it may contain
legacy images from previous capturing attempts. This usually is not a problem,
as implementations other than ScreenCapturerWinDirectx paint each pixel on the
frame. But due to the one capturer per monitor design of
ScreenCapturerWinDirectx, part of the frame may not be covered by any
DxgiOutputDuplicator, and cause the legacy image to be shown.
So a very simple fix is to clear the DesktopFrame in DxgiFrame.
BUG=708766
Review-Url: https://codereview.webrtc.org/2827983007
Cr-Commit-Position: refs/heads/master@{#17847}
Reason for revert:
Breaks libfuzzer bot - you forgot to run that one :P
https://build.chromium.org/p/client.webrtc/builders/Linux64%20Release%20%28Libfuzzer%29/builds/5571
Original issue's description:
> Removing test deps in webrtc/test/fuzzers
>
> Targets in webrtc/test/fuzzers are used in chromium which includes WebRTC
> with rtc_include_tests=false.
>
> We enabled 'gn check' on the webrtc/test directory and we have detected
> that some dependencies were not tracked. These dependencies are on test
> targets so we cannot add them in the dep list because this causes a
> breakage in chromium.
>
> BUG=webrtc:7515
> NOTRY=True
>
> Review-Url: https://codereview.webrtc.org/2840523003
> Cr-Commit-Position: refs/heads/master@{#17844}
> Committed: 14b86d3864TBR=mbonadei@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7515
Review-Url: https://codereview.webrtc.org/2835263002
Cr-Commit-Position: refs/heads/master@{#17846}
With this CL, all tests and tools under the neteq/ folder are
converted to use RTPHeader instead of WebRtcRTPHeader. WebRtcRTPHeader
has an RTPHeader as a member. None of the other member in
WebRtcRTPHeader where used.
TBR=kjellander@webrtc.org
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_compile_rel_ng,linux_chromium_compile_dbg_ng
BUG=webrtc:7467
Review-Url: https://codereview.webrtc.org/2809153002
Cr-Commit-Position: refs/heads/master@{#17845}
Targets in webrtc/test/fuzzers are used in chromium which includes WebRTC
with rtc_include_tests=false.
We enabled 'gn check' on the webrtc/test directory and we have detected
that some dependencies were not tracked. These dependencies are on test
targets so we cannot add them in the dep list because this causes a
breakage in chromium.
BUG=webrtc:7515
NOTRY=True
Review-Url: https://codereview.webrtc.org/2840523003
Cr-Commit-Position: refs/heads/master@{#17844}
Reason for revert:
Downstream roadblock should be cleared by now. Relanding original patch.
Original issue's description:
> Revert of Change NetEq::InsertPacket to take an RTPHeader (patchset #2 id:20001 of https://codereview.webrtc.org/2807273004/ )
>
> Reason for revert:
> Broke downstream dependencies.
>
> Original issue's description:
> > Change NetEq::InsertPacket to take an RTPHeader
> >
> > It used to take a WebRtcRTPHeader as input, which has an RTPHeader as
> > a member. None of the other member in WebRtcRTPHeader where used in
> > NetEq.
> >
> > This CL adapts the production code; tests and tools will be converted
> > in a follow-up CL.
> >
> > BUG=webrtc:7467
> >
> > Review-Url: https://codereview.webrtc.org/2807273004
> > Cr-Commit-Position: refs/heads/master@{#17652}
> > Committed: 4d027576a6
>
> TBR=ivoc@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7467
>
> Review-Url: https://codereview.webrtc.org/2812933002
> Cr-Commit-Position: refs/heads/master@{#17657}
> Committed: 10d095d4f7R=ivoc@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_rel_ng
BUG=webrtc:7467
Review-Url: https://codereview.webrtc.org/2835093002 .
Cr-Commit-Position: refs/heads/master@{#17843}
Also move RtpTransportControllerSendInterface to its own header file.
BUG=webrtc:7135
Review-Url: https://codereview.webrtc.org/2808043002
Cr-Commit-Position: refs/heads/master@{#17840}
Update the AppRTCMobileTestStubbedVideoIO test to run on
phones without Internet connection. This is done by bringing up
a local instance of AppRTC on the Linux machine connected to
the Android device.
Running this test will need the webrtc.DEPS solution to be configured
for the checkout, since that will pull down the precompiled AppRTC
package that is needed.
Continued from http://crrev.com/2780493002#ps20001 (by kjellander@)
Continued from http://crrev.com/2741743002#ps180001 (by mandermo@)
BUG=webrtc:7185
Review-Url: https://codereview.webrtc.org/2825313002
Cr-Commit-Position: refs/heads/master@{#17838}