We used to get the symbols we need using `LoadLibrary`, but now (since
661c653c86),
we can statically link to avrt.lib, because we only support Windows OSes that
have this library. For now, this works because avrt.lib is linked in
webrtc-land somewhere with a #pragma, but:
- We're going to stop using this bit of webrtc in the near future (around
Firefox 54)
- Not linking this explicitely where it's used breaks --disable-webrtc, that is
a popular option
MozReview-Commit-ID: 7b16Kdl3VUu
--HG--
extra : rebase_source : b4159872427b4e9d912e1228e75563ca9a8e828d
The WMF decoder gives us video frames in buffers with the planes 16 row-aligned
for some reason. If we allocate our video frames the same size we waste memory.
So let's have the ClearKey CDM not allocate its video frames with the extra
padding rows.
Excluding the padding in our copy of the decoded data also makes my work in bug
1351953 easier.
MozReview-Commit-ID: 9dD40P6ST68
--HG--
extra : rebase_source : a6c4fea01e8bf2deef8edc78d0a041e8fed0c0b8
extra : source : 433028f9a2055869cd98710f0871d040605c0535
This adds a stub implementation for nsTraceRefcnt::WalkTheStack which we're
pulling in from <mozilla/Assertions.h> in some debug builds.
MozReview-Commit-ID: 6wVghIfKWWZ
--HG--
extra : rebase_source : 1e8472935c7f8ac486794fab764e08b30eea79ed
This adds a moz.build file for the tests. The alternative would be to hack up
the gyp files. Since gyp support has already been removed from upstream, this
does not really buy us anything as far as maintainabily goes. Once gn support
is available in our build system, we can remove this moz.build file and use
the gn files instead.
The include paths for the gtest and gmock headers in the webrtc.org tests are
not compatible with where we export the headers. We could patch each unittest,
but the include location has already changed upstream making this painful
to maintain. Instead, we duplicate the relevant headers to the expected path.
MozReview-Commit-ID: 1ADUAMxTCFq
--HG--
extra : rebase_source : 2cc10faa7018ee8af8e8f3d7805265ed2dd89507
This adds gflags to the list of ignored directories for clang static
analysis and adds "explicit" where required in mutex.h.
We also stop building a duplicate copy of snprintf for windows as our builds
already include a definition for it.
MozReview-Commit-ID: 4uMhTMvAKL0
--HG--
extra : rebase_source : d63d3797053c7720c725b3994cb3b2ca11bb191f
These were written for the signaling tests but are no longer needed there
because those tests link against libxul. They are still useful for the
webrtc.org unit tests, so we should move them there.
MozReview-Commit-ID: GVskiZebq19
--HG--
rename : media/webrtc/signaling/test/FakeIPC.cpp => media/webrtc/trunk/gtest/FakeIPC.cpp
rename : media/webrtc/signaling/test/FakeIPC.h => media/webrtc/trunk/gtest/FakeIPC.h
extra : rebase_source : 57b70f5dd3a55e73de0b066f228ddf957f477c26
Building these as part of the webkit lib adds unnecessary dependencies on Mozilla code for things that only case about the webrtc static lib.
MozReview-Commit-ID: 7ThU7hAwRX0
--HG--
extra : rebase_source : eef256711e205d023a647e6196dcc61e657f6e28
Two new calls are added to NrIceCtx.
1) A static call to allow StunAddrsRequestParent to get stun addrs from the main
process.
2) A call to allow StunAddrsRequestChild to pass the new stun addrs back to
PeerConnectionMedia on the content process.
PeerConnectionMedia, when running in e10s mode, sets up the StunAddrsRequestChild
and makes the async request to get the stun addrs. When they are returned, it
sets the stun addrs in NrIceCtx avoid the network calls that would otherwise
cause a further restricted sandbox to fail.
MozReview-Commit-ID: C2hYBzm6WNv
--HG--
extra : rebase_source : 4c71056850c418efdc0f709f4d838a3e0bf4bee2
PStunAddrsRequest.ipdl defines the new IPC protocol to get stun
addrs on the main process.
StunAddrsRequestChild requests the stun addrs from the parent.
StunAddrsRequestParent uses a static method on NrIceCtx to get the
stun addrs from the STS thead and sends the addrs back to the
child process.
NrIceStunAddr (nricestunaddr.{cpp|h}) wraps nr_local_addr and makes
it easier to serialize/deserialize over IPC.
NrIceStunAddrMessageUtils follows the pattern used by other Necko
IPC classes to define top-level serialization/deserialization
calls used by the IPC framework.
Modifications under netwerk/ipc are to connect the new IPC
protocol to get stun addrs to PNecko since it is a network
related IPC protocol.
MozReview-Commit-ID: GyEapBe5krl
--HG--
extra : rebase_source : c650d6aa4f7928bcae6032424303869074a755d4
Expose a tweaked version of nr_ice_get_local_addresses to allow callers to
provide pre-fetched stun addrs if they are available. By default, the normal
call to nr_ice_gather calls this with no pre-fetched stun addrs (read
non-e10s). In e10s, the stun addrs are discovered on the main process and
provided to nr_ice_get_local_addreses. When nr_ice_gather is called from
the content process the local addresses have already been gathered.
In the past, nr_ice_get_local_addresses also applied policy (by removing
duplicate addrs, and, based on stun prefs, removing loopback and/or
link_local addrs. This functionality has been moved to
nr_ice_set_local_addresses where other policy is being applied (like
default route only, forcing specific interfaces, and prioritization).
Because we're now serializing nr_local_addr (wrapped by NrIceStunAddr), we
can't assume that certain pointer references in the source nr_local_addr
are correct when calling nr_local_addr_copy. New non-pointer-arithmetic
version of setting up the pointer on the copied nr_local_addr is used. Also
easier to understand when walking up to it the first time.
MozReview-Commit-ID: KVRFl4dfr7J
--HG--
extra : rebase_source : c0437700ad77ee3b7f98947d3505551ca9ed43e9