Since PeerConnection holds a ref to its creating PeerConnectionFactory, it's
possible for ~PeerConnectionFactory() to be run on its signaling thread.
Deleting a thread from within that thread is sad times, so don't do it.
It would be nicer to avoid having PeerConnection hold a ref to the factory,
and instead require the user to keep the factory alive. Unfortunately that
changes the contract on PeerConnection{,Factory} and it's unclear how to vet
existing callers for safety.
BUG=3100
R=juberti@webrtc.org, noahric@google.com
Review URL: https://webrtc-codereview.appspot.com/11289004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5933 4adac7df-926f-26a2-2b94-8c16560cd09d
When checking whether we need to release external decoder,
we have to do pointer comparison. We can't rely on payload
types, because payload types can be stale (e.g. before we
decode the first video frame after RegisterReceiveCodec).
This leaves a dangling pointer to external decoder, which
leads to crashes later, after we actually delete the
external decoder object.
This change has been verified in Chromecast code tree.
BUG=chromium:335539
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/12049004
Patch from Sergey Volk <servolk@chromium.org>.
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5922 4adac7df-926f-26a2-2b94-8c16560cd09d
Having this override in the .gypi file avoids having to set it for the bots, which I think is best if we can avoid.
This CL also reverts r5869 so video_capture_tests are compiled for Android again.
BUG=2974,3152
TEST=Successfully ran:
git try -t compile
git try --bot=win_baremetal,mac_baremetal,linux_baremetal -t video_capture_tests
git try --bot=android_apk,android_apk_rel
Verified the change in webrtc/build/apk_tests.gyp makes the build compile successfully from a Chromium+WebRTC configured checkout for Android APK tests.
R=fischman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/11939004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5919 4adac7df-926f-26a2-2b94-8c16560cd09d
The design of VoeNetEqStatsTest in voice_engine_unittests depended on
being able to inject a factory for the audio coding module into
voice engine. This functionality is now likely going away, which would
make this test fail to compile. Further, the functionality under test
is mostly ACM functionality, wherefore it makes better sense to test it
at ACM level.
BUG=2996
R=henrika@webrtc.org, turaj@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/12029004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5912 4adac7df-926f-26a2-2b94-8c16560cd09d
The new recipes framework for configuring build explicitly sets the
GYP_DEFINES for Android builds instead of relying on the envsetup.sh script
which probably will be removed at some point in the future.
This causes our build to break since our Android examples relies on the
Android SDK being found using the ANDROID_SDK_ROOT environment variable.
A GYP variable 'android_sdk_root' exists and is set correctly by
common.gypi, which is what I'm using to pass this path correctly to these
tests.
The libjingle example is handled separately in
https://webrtc-codereview.appspot.com/11809004/
BUG=chromium:346198
TEST=Local builds using:
. build/android/envsetup.sh
unset ANDROID_SDK_ROOT
webrtc/build/gyp_webrtc
ninja -C out/Debug
ninja -C out/Release
+ trybots passing: git try --bot=android,android_rel,android_clang
R=henrike@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/11799004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5907 4adac7df-926f-26a2-2b94-8c16560cd09d
This CL brought to you by:
$ for d in $(for f in $(git ls-files '*gyp' '*gypi'); do dirname $f;
done|sort|uniq|grep -v '^\.$'); do echo -e "\n# These are for the common case of
adding or renaming files. If you're doing\n# structural changes, please get a
review from a reviewer in this file.\nper-file *.gyp=*\nper-file *.gypi=*" >>
$d/OWNERS; done
$ for d in $(for f in $(git ls-files '*gyp' '*gypi'); do dirname $f;
done|sort|uniq|grep -v '^\.$'); do git add $d/OWNERS; done
(and then removed the non-talk/ impact)
R=niklas.enbom@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/11979004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5904 4adac7df-926f-26a2-2b94-8c16560cd09d
This CL brought to you by:
$ for d in $(for f in $(git ls-files '*gyp' '*gypi'); do dirname $f; done|sort|uniq|grep -v '^\.$'); do echo -e "\n# These are for the common case of adding or renaming files. If you're doing\n# structural changes, please get a review from a reviewer in this file.\nper-file *.gyp=*\nper-file *.gypi=*" >> $d/OWNERS; done
$ for d in $(for f in $(git ls-files '*gyp' '*gypi'); do dirname $f; done|sort|uniq|grep -v '^\.$'); do git add $d/OWNERS; done
(and then removed the talk/ impact)
R=niklas.enbom@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/11969004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5903 4adac7df-926f-26a2-2b94-8c16560cd09d
Exclude failing tests in libjingle tests and suppress
failures in modules_unittests.
Also exclude the following extremely slow tests to make it
possible to get a reasonable execution time for the bot:
* TestScaler.PointScaleTest (81573 ms)
* TestScaler.BiLinearScaleTest (1111554 ms)
* TestScaler.BoxScaleTest (1129625 ms)
* TestVp8Impl.BaseUnitTest (762598 ms)
* VideoProcessorIntegrationTest.ProcessNoLossChangeBitRate (342149 ms)
TBR=phoglund@webrtc.org
BUG=3158, 3183, 3184
TEST=Successful runs on local Windows box:
tools\valgrind-webrtc\webrtc_tests.bat --build-dir out --target Debug --test libjingle_p2p_unittest --tool drmemory_full
tools\valgrind-webrtc\webrtc_tests.bat --build-dir out --target Debug --test libjingle_peerconnection_unittest --tool drmemory_full
tools\valgrind-webrtc\webrtc_tests.bat --build-dir out --target Debug --test modules_unittests --tool drmemory_full
Review URL: https://webrtc-codereview.appspot.com/11819004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5888 4adac7df-926f-26a2-2b94-8c16560cd09d