Based on output from FreeBSD i386/amd64/aarch64 and OpenBSD amd64.
MozReview-Commit-ID: 8D1u28AJTME
--HG--
extra : rebase_source : b0667e3330bbc7988d289eec27160510c60c1a3e
Original porting was done in bug 807492, so this is mostly gyp->gn translation.
cflags/libs are left unchanged as those aren't used by Gecko.
MozReview-Commit-ID: Bhw6KduoiVm
--HG--
extra : rebase_source : 485f1dfe38106b895ec481444e8a32d08f72f5e7
- If cross-toolchain is N/A use system one instead of error
- BSDs often use Linux interfaces, so don't exclude the files
- Define is_bsd as changes specific to a particular BSD are rare
- Adjust is_clang in case Gecko would use it in future
MozReview-Commit-ID: 5LlCbEKbAPO
--HG--
extra : rebase_source : 68fc72056f65c28d43d2bfb238b26b8895e76ba9
This adds a bool parameter that allows the tests to run with either the Sipcc or
Rust SDP parsers.
The tests were changed as follows: One chunk of SDP ws missing a s= line, which
is non-optional as was added. Some of the SDP had a=ice-lite as a media
attribute, but it is only supposed to be a session attribute, and so the media
attribute was removed.
MozReview-Commit-ID: K45ynsVvmnB
--HG--
extra : rebase_source : 4e2a3ea18198f8e5467706b8ef9331aa225babd2
Cleaning up compiler warnings for nICEr. Major highlights:
- set _WINSOCK_DEPRECATED_NO_WARNINGS define in nicer.gyp for Windows
builds of nICEr to avoid warnings about inet_addr use in ice_ctx.c:102,
ice_ctx.c:297, ice_parser.c:465, and transport_addr_reg.c:143.
- move nr_ice_accumulate_count from ice_ctx.{h|c} to stun_util.{h|c}
as nr_accumulate_count to quiet warnings in turn_client_ctx.c and
stun_client_ctx.c.
- stun_msg.{h|c} - change nr_stun_attr_data_.length,
nr_stun_message_attribute.encoding_length and nr_stun_message_.length
from int to UINT2 (not size_t since other lengths in this header are
UINT2).
- stun_codec.{h|c} - lengths and offsets changed from int to UINT2 to
match changes in stun_msg.{h|c}
- r_data.{h|c} - change Data.len from int to size_t
- nr_crypto.{h|c} - change nr_ice_crypto_vtbl_ lengths from int to size_t
MozReview-Commit-ID: EF5v79RpqbI
--HG--
extra : rebase_source : ead30e2359ea6a6aada4dd222137302ba86fb972
Pause() gave the benefit of another app not being able to steal
the device until the next Run(). It would keep the light on for
some cameras however.
Stop() makes the light go out on these cameras, but put them up
for another application to steal. Basically the same as on our
other platforms.
MozReview-Commit-ID: FPRYcZ2PEpm
--HG--
extra : rebase_source : 1870eb6933b02c83c7e61ac275b648fdde9b4cec
Pull for change to replace assert in get_server_info callback with
proper handling for null pointer.
MozReview-Commit-ID: 996HQw3FyYQ
--HG--
extra : rebase_source : a0d8a0d4ed6df1e5cad13b8ad03d9e1d10fc9223
Bump nestegg to commit 89ed0daf2edccb25f744e5faff88b8b4684adceb. This brings
across tolerance of blocks with negative timecodes. Instead of rejecting these
the timecodes are now set to 0.
Also brings across a change to appease clang in ne_read_block_additions by
adding an explicit assignment to data_size.
MozReview-Commit-ID: 7J8YPUUwSBp
--HG--
extra : rebase_source : f55bd987465baf21f383095b60e9148349936fef
Pull in changes
- Fix handling of Result<> to error code.
- Update bincode to match WebRender version.
MozReview-Commit-ID: LSXMocqwJ6R
--HG--
extra : rebase_source : e15be0c36b9a75c1e7dc0c3906d071da8a846aff
When switching to the gn build, we accidentally began linking against the
newer webrtc.org avfoundation library rather than the locally patched,
older version. This breaks the ondevicechange event and causes other
problems.
MozReview-Commit-ID: Kz2RBK4xkjQ
--HG--
extra : rebase_source : 8ecd07177cc7de1571133d061faa57bd87a3fe4b
extra : histedit_source : 2a2044c85a28975e40996ef839c6c82926142d51
This adds a bool parameter that allows the tests to run with either the Sipcc or
Rust SDP parsers.
The tests were changed as follows: One chunk of SDP ws missing a s= line, which
is non-optional as was added. Some of the SDP had a=ice-lite as a media
attribute, but it is only supposed to be a session attribute, and so the media
attribute was removed.
MozReview-Commit-ID: K45ynsVvmnB
--HG--
extra : rebase_source : cf99d92db4c92e17dc3aa32e0862984fe69452a9
Import v0.10.0 of the mp4parse and mp4parse_capi crates
and update dependencies.
Reduces library size by removing debug tracing in release builds.
Also adds recognition of the ALAC codec, although we don't plan
to support it.
MozReview-Commit-ID: F1bnotCmbDf
--HG--
extra : rebase_source : 55bc014378d7f65fca8af82a9222edd36870b351
Port our build patch and request the v0.10.0 tag by default.
MozReview-Commit-ID: 6TSCsgtZ8UT
--HG--
extra : rebase_source : 9fb1166c6545d4b8eddc8c64831c44c16163e537
Because the nr_transport_addr_check_compatibility check also includes
protocol, it was failing checks that used to pass. However, the actual
address used was created farther down in code by copying the current
address and setting the protocol to TCP. Moving that address copy up
in the processing flow lets the more stringent check work.
MozReview-Commit-ID: 95SOQzxuxXB
--HG--
extra : rebase_source : 95f4cf6d9f10ee4f81c56d7bbe8027c46749cfb8
PeerConnectionImpl defines two versions of various fallible methods: a version
taking an ErrorResult argument, and a version returning nsresult. The methods
were not marked fallible in the webidl, so the bindings called the
nsresult-returning version, but ignored the returned value. As a result,
failures got swallowed instead of being propagated out.
The changes here annotate the relevant parts of the webidl as throwing, and
convert non-fallible methods to returning void to make infallibility clearer.
MozReview-Commit-ID: JU9NzmEf8FV
- add new component_id field to NrIceCandidatePair
- add the candidate pair component_id to RTCIceCandidatePairStats in
RecordIceStats_s
- add new column in ice stats table for component id
- sort ice stats by component id first
MozReview-Commit-ID: J89ZIYEUyRk
--HG--
extra : rebase_source : 681a5afa1303b4e377fcc14d099ce0b3d852f22c
Most importantly this avoids having a SourceMediaStream *with a track* but
*without any listeners*.
I'm adding asserts to ensure that all NotifyPull()s append enough data to all
live tracks.
MozReview-Commit-ID: InGj3n0f0y3
--HG--
extra : rebase_source : a9820d9943dfae12d8cc9835c594f062925ee8fa
This brings across the WASAPI loopback stream functionality recently
implemented in cubeb.
The README_MOZILLA is reverted to its previous format. Previously a couple of
patches were highlighted as needing application, however these have now been
applied upstream.
MozReview-Commit-ID: CV6FHWXZBK0
--HG--
extra : rebase_source : 2dff33fcff6960d1d5b7d8dfaf35023b9c44d16e
Before this patch, TransportTest::Reset would assign to p1_ and p2_ without
releasing their resources first. Since they're not RAII types, they would just
leak. This fixes the leak by a) explicitly initializing them to nullptr in the
constructor and b) deleting them if they previously had a non-null value.
MozReview-Commit-ID: 20U6sqRWg06
--HG--
extra : rebase_source : e304c7636a9b31df53d3ff0e8d7e0042f7e82494
The original logic I wrote had the condition backwards.
MozReview-Commit-ID: IFIS8vZLgd4
--HG--
extra : rebase_source : 9f9baeb2f6284c551fb63f139d6f5942569890fd
This removes the gyp files to build webrtc. It looks like part of Bug 1371485 is
to vendor gyp elsewhere in tree at which time we can complete cleaning this up.
MozReview-Commit-ID: 8MqatafniN5
--HG--
extra : rebase_source : 1cf7a41f0b8a1a95dc008f4a39536ee7e76027c4
The original logic I wrote had the condition backwards.
MozReview-Commit-ID: IFIS8vZLgd4
--HG--
extra : rebase_source : 8504e1834e39f2a244abe0a89f2235bca8cae640
This removes the gyp files to build webrtc. It looks like part of Bug 1371485 is
to vendor gyp elsewhere in tree at which time we can complete cleaning this up.
MozReview-Commit-ID: 8MqatafniN5
--HG--
extra : source : 91cfd14052f510f2ba105b257a0d5dbdddb86a13
This patch adjusts tools/fuzzing/ in such a way that the relevant parts can be
reused in the JS engine. Changes in detail include:
* Various JS_STANDALONE checks to exclude parts that cannot be included in
those builds.
* Turn LibFuzzerRegistry and LibFuzzerRunner into generic FuzzerRegistry and
FuzzerRunner classes and use them for AFL as well. Previously, AFL was
piggy-backing on gtests which was kind of an ugly solution anyway (besides
that it can't work in JS). Now more code like registry and harness is
shared between the two and they follow almost the same call paths and entry
points. AFL macros in FuzzingInterface have been rewritten accordingly.
This also required name changes in various places. Furthermore, this unifies
the way, the fuzzing target is selected, using the FUZZER environment
variable rather than LIBFUZZER (using LIBFUZZER in browser builds will give
you a deprecation warning because I know some people are using this already
and need time to switch). Previously, AFL target had to be selected using
GTEST_FILTER, so this is also much better now.
* I had to split up FuzzingInterface* such that the STREAM parts are in a
separate set of files FuzzingInterfaceStream* because they use nsStringStream
which is not allowed to be included into the JS engine even in a full browser
build (error: "Using XPCOM strings is limited to code linked into libxul.").
I also had to pull FuzzingInterface.cpp (the RAW part only) into the header
and make it static because otherwise, would have to make not only separate
files but also separate libraries to statically link to the JS engine, which
seemed overkill for a single small function. The streaming equivalent of the
function is still in a cpp file.
* LibFuzzerRegister functions are now unique by appending the module name to
avoid redefinition errors.
MozReview-Commit-ID: 44zWCdglnHr
--HG--
extra : rebase_source : fe07c557032fd33257eb701190becfaf85ab79d0
This removes the gyp files to build webrtc. It looks like part of Bug 1371485 is
to vendor gyp elsewhere in tree at which time we can complete cleaning this up.
MozReview-Commit-ID: 8MqatafniN5
--HG--
extra : rebase_source : 372440bdf73290e268d0a5318cb2c16ecfefcd2a
This patch adjusts tools/fuzzing/ in such a way that the relevant parts can be
reused in the JS engine. Changes in detail include:
* Various JS_STANDALONE checks to exclude parts that cannot be included in
those builds.
* Turn LibFuzzerRegistry and LibFuzzerRunner into generic FuzzerRegistry and
FuzzerRunner classes and use them for AFL as well. Previously, AFL was
piggy-backing on gtests which was kind of an ugly solution anyway (besides
that it can't work in JS). Now more code like registry and harness is
shared between the two and they follow almost the same call paths and entry
points. AFL macros in FuzzingInterface have been rewritten accordingly.
This also required name changes in various places. Furthermore, this unifies
the way, the fuzzing target is selected, using the FUZZER environment
variable rather than LIBFUZZER (using LIBFUZZER in browser builds will give
you a deprecation warning because I know some people are using this already
and need time to switch). Previously, AFL target had to be selected using
GTEST_FILTER, so this is also much better now.
* I had to split up FuzzingInterface* such that the STREAM parts are in a
separate set of files FuzzingInterfaceStream* because they use nsStringStream
which is not allowed to be included into the JS engine even in a full browser
build (error: "Using XPCOM strings is limited to code linked into libxul.").
I also had to pull FuzzingInterface.cpp (the RAW part only) into the header
and make it static because otherwise, would have to make not only separate
files but also separate libraries to statically link to the JS engine, which
seemed overkill for a single small function. The streaming equivalent of the
function is still in a cpp file.
* LibFuzzerRegister functions are now unique by appending the module name to
avoid redefinition errors.
MozReview-Commit-ID: 44zWCdglnHr
--HG--
rename : tools/fuzzing/libfuzzer/harness/LibFuzzerRunner.cpp => tools/fuzzing/interface/harness/FuzzerRunner.cpp
rename : tools/fuzzing/libfuzzer/harness/LibFuzzerRunner.h => tools/fuzzing/interface/harness/FuzzerRunner.h
rename : tools/fuzzing/libfuzzer/harness/LibFuzzerTestHarness.h => tools/fuzzing/interface/harness/FuzzerTestHarness.h
rename : tools/fuzzing/libfuzzer/harness/moz.build => tools/fuzzing/interface/harness/moz.build
rename : tools/fuzzing/libfuzzer/harness/LibFuzzerRegistry.cpp => tools/fuzzing/registry/FuzzerRegistry.cpp
rename : tools/fuzzing/libfuzzer/harness/LibFuzzerRegistry.h => tools/fuzzing/registry/FuzzerRegistry.h
extra : rebase_source : 7d0511ca0591dbf4d099376011402e063a79ee3b
Historically we made a synchronous dispatch to the GMP thread on encode to avoid
copying the frame buffer. The frame buffer is now held by a refptr so we can now
make this call asynchronously.
--HG--
extra : rebase_source : 0c339d0b4721847f0f96f469fedb3320821883fd
Update the c++ side with the new WebIDL definitions, note that
many fields are now required. See P1 for more details.
MozReview-Commit-ID: FKHi86Nj7UO
--HG--
extra : rebase_source : 7491551b46a9fb0e8c8cba77861b01f90ea95644
And remove the two cases that currently set that, without actually using
it. The webrtc gtest one never relied on it, and the gfx one was added
in bug 1427668 for a single header, and the corresponding #includes were
changed in bug 1428678.
--HG--
extra : rebase_source : ebb3aed6ff8e3438d4a2f011725cf1a15986fee6
Separate setting up the ice credentials for ice restart from the actual
restart call into PeerConnectionMedia. This allows waiting until after
the call to JsepSessionImpl::CreateOffer or JsepSessionImpl::CreateAnswer
succeeds.
MozReview-Commit-ID: Hex0lNstv0H
--HG--
extra : rebase_source : 49ad2e204b7dfef6a5c359c11e38b57d8e7beade
webrtc.org only supports one-byte rtp header extensions which means
we can only support 16 character mids for now.
MozReview-Commit-ID: C7aTeB5Bi2M
--HG--
extra : rebase_source : e25518d02fb056f82d298f000e37cfe059099a38
This removes the gyp files to build webrtc. It looks like part of Bug 1371485 is
to vendor gyp elsewhere in tree at which time we can complete cleaning this up.
MozReview-Commit-ID: 8MqatafniN5
--HG--
extra : rebase_source : 2f45ef1473c2bbf2882fe867e8b535998b8dc9ef
This adds new tests that are a subset of the existing tests for configuration.
Another option would be to use parameterized tests to get coverage of all existing
tests during reconfiguration, but I don't think the additional complexity is
justified at this point.
MozReview-Commit-ID: F28KRYaVe1B
--HG--
extra : rebase_source : fdcb1316387504240424f1041d43df5d98331380
This is necessary for changes to encoding constraints and simulcast encodings to
be picked up.
MozReview-Commit-ID: JpVN0ST70Cn
--HG--
extra : rebase_source : ea61544b98e7e231527cf6f13d78862d3567b4b7
We had to force-include Char16.h to simulate char16_t on older MSVC versions.
But it is no longer the case. We should not rebuild the world whenever we
touch this file.
MozReview-Commit-ID: 1XY7tQD8LoK
--HG--
extra : rebase_source : a08ccfc9b6a4abf90f6f8b97a42079865724c9ec
>+#if !defined(_MSC_VER) && (_MSC_VER < 1600)
is wrong. It should have been:
>+#if !(defined(_MSC_VER) && (_MSC_VER < 1600))
But I reverted this local change completely because we do not support such
older MSVC versions anyway.
MozReview-Commit-ID: 3VhtViP7WpX
--HG--
extra : rebase_source : f18f57d8505e5847452263847d561b5cdef255b7
Also remove unused code.
mTrackId / mTrackIdexternal were protected/private members and only ever written.
MozReview-Commit-ID: C3wMhxSCA2H
--HG--
extra : rebase_source : 18845e480e8e2d741ef1172b212373888a9c1fe8
It can never be nullptr, strongly assert that this is the case and remove unecessary tests.
MozReview-Commit-ID: 7fi6jNnFUH8
--HG--
extra : rebase_source : 632ad1738c2984dd803c25dc44aa81c896292b64
Otherwise we will use 48kHz as default, the MSG will resample as needed.
It would be possible to allow all frequencies in the AudioConduit as the webrtc backend supports them all, however it would require more changes and likely heap allocation that we're trying to limit in this part of the code.
MozReview-Commit-ID: B3x5t1FSaQ8
--HG--
extra : rebase_source : 77f83a876ed9b5ded45419245655709aee2573df
Also remove the unmatched candidates in the candidate pair table since
they are now included in the "all raw candidates" table.
MozReview-Commit-ID: 4ZvhWfmjGJh
--HG--
extra : rebase_source : bf999db83cd49dd454434d2b157023da41b0dbcd
Adding trickle field that will allow us to flag trickled candidates
on about:webrtc.
Also added label field to NrIceCandidate to facilitate showing the
raw candidate info on about:webrtc.
MozReview-Commit-ID: HuP3IxYOOBJ
--HG--
extra : rebase_source : 975cb5b29b2aef233f856bfbdc8c325535d24272
This is a workaround for the fact that our code is wrong.
FakeAudioDeviceModule :::TimeUntilNextProcess() returns 0, so we're busy
looping.
I'm switching that to 100, which is arbitrary, but makes the problem go away. I
want to fix that soon, because this is a terrible workaround.
FakeAudioDeviceModule is _not_ made to be used in production.
MozReview-Commit-ID: FoGs6GFsRRN
--HG--
extra : rebase_source : d62f7c2d5b98c4814c06be13aca49bd478d5b381