Turns out since Firefox doesn't receive simulcast streams, we never
noticed this leak. Convert RTPHeaderExtension.rid from a char* to
rtc::scoped_ptr<char[]> so it gets deleted properly. This also
requires a new copy constructor and assignment operator.
MozReview-Commit-ID: Jh4Gp4dAl9g
--HG--
extra : rebase_source : 8c1081fecd6e56a8f932af54fbd294adb85866f5
The simulcast mochitests setup the receiving PeerConnection to receive
simulcast video streams which Firefox doesn't really support. Without
a test media server, this is about the best we can do and still test
simulcast.
Unfortunately the two simulcast streams arriving with different ssrcs
(as expect) exercises code we have to deal with some services switching
ssrcs midstream. In the tests, this causes intermittent failures
because the test is waiting to receive a certain ssrc, and the receiving
VideoConduit has switched to the other ssrc.
This change adds the ability to filter on RID at the MediaPipeline level,
which we can setup prior to media flowing. This avoids the ssrc switching
issue since the VideoConduit only receives one ssrc until we change the
RID filter to the second RID. At that point, the VideoConduit sees a new
ssrc and the switching code works as intended.
The modified mochitests setup the RTP stream id header extension, and then
filter on each of the RTP stream ids in turn.
MozReview-Commit-ID: KApfaxMX8rl
--HG--
extra : rebase_source : d7ae88d9675acd7b3700f342ca6a68d0bbb0ced5
The simulcast mochitests exhibit an intermittent failure due to ssrc-based
filtering that can be solved by filtering by RID. The RTP header parser
used in MediaPipeline also needs to have the RID RTP header extension
specified in order for it to properly parse the RTP header and allow
filtering on RID.
MozReview-Commit-ID: E54HCGLVYDk
--HG--
extra : rebase_source : b53085f23cb6558611aa7622f55637e19439c9c3
Its content is a no-op since bug 1322707.
The code in the same directory, though, is meant to move to gtests
(bug 1316611).
--HG--
extra : rebase_source : fa269a034fd327856fde8d0673de58eba9b02d8e
The webrtc gyp files have a 'build_for_tool' flag that controls among other
things what defines are provided at build time. This meant that during a
firefox valgrind build webrtc would still specify NVALGRIND, thus disabling
some valgrind macros. Similarly there are flags for asan and tsan that we
should probably have been specifying as well. This patch sets the
'build_for_tool' flag to the appropriate value when building under valgrind,
asan, and tsan.
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
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