Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(340)

Issue 1648813004: Remove candidates when doing continual gathering (Closed)

Created:
4 years, 10 months ago by honghaiz3
Modified:
4 years, 9 months ago
CC:
webrtc-reviews_webrtc.org, tterriberry_mozilla.com
Base URL:
https://chromium.googlesource.com/external/webrtc@master
Target Ref:
refs/pending/heads/master
Project:
webrtc
Visibility:
Public.

Description

When doing candidate re-gathering in the same generation, Remove the existing local candidate on the same network and signaling the remote side to remove its remote candidate by setting the candidate priority to 0. BUG= Committed: https://crrev.com/84430da6817ce69c53bfad088be5c9df8b420f01 Cr-Commit-Position: refs/heads/master@{#11958}

Patch Set 1 : #

Total comments: 24

Patch Set 2 : #

Total comments: 16

Patch Set 3 : #

Patch Set 4 : Reformatted and fixed a few tests. #

Patch Set 5 : Fix a Windows compiling error #

Total comments: 12

Patch Set 6 : Do not enable continual gathering in PeerConnectionClient #

Patch Set 7 : Name change and a few formattings. #

Patch Set 8 : Merge with head #

Patch Set 9 : Put transport_name in cricket::Candidate #

Patch Set 10 : small fixes #

Total comments: 10

Patch Set 11 : Added tests, address comments, and merge with head #

Total comments: 8

Patch Set 12 : Small change to webrtcsession_unittest #

Patch Set 13 : Address comments #

Patch Set 14 : Delete ice_candidate when it is removed and add a test #

Total comments: 4

Patch Set 15 : Address Alex's comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+711 lines, -94 lines) Patch
M webrtc/api/androidtests/src/org/webrtc/PeerConnectionTest.java View 1 2 3 4 5 6 1 chunk +3 lines, -0 lines 0 comments Download
M webrtc/api/java/jni/peerconnection_jni.cc View 1 2 3 4 5 6 7 8 9 10 5 chunks +73 lines, -2 lines 0 comments Download
M webrtc/api/java/src/org/webrtc/PeerConnection.java View 1 2 3 4 5 6 3 chunks +9 lines, -0 lines 0 comments Download
M webrtc/api/jsep.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +6 lines, -1 line 0 comments Download
M webrtc/api/jsepicecandidate.h View 1 2 3 4 5 6 7 8 1 chunk +3 lines, -0 lines 0 comments Download
M webrtc/api/jsepicecandidate.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +13 lines, -0 lines 0 comments Download
M webrtc/api/jsepsessiondescription.h View 1 2 3 4 5 6 7 8 9 10 3 chunks +4 lines, -0 lines 0 comments Download
M webrtc/api/jsepsessiondescription.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +26 lines, -0 lines 0 comments Download
M webrtc/api/jsepsessiondescription_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +12 lines, -3 lines 0 comments Download
M webrtc/api/peerconnection.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +4 lines, -0 lines 0 comments Download
M webrtc/api/peerconnection.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +12 lines, -0 lines 0 comments Download
M webrtc/api/peerconnectioninterface.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +12 lines, -0 lines 0 comments Download
M webrtc/api/peerconnectionproxy.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +3 lines, -0 lines 0 comments Download
M webrtc/api/webrtcsdp.h View 1 2 3 4 5 6 7 8 9 10 3 chunks +22 lines, -1 line 0 comments Download
M webrtc/api/webrtcsdp.cc View 1 2 3 4 5 6 7 8 5 chunks +25 lines, -6 lines 0 comments Download
M webrtc/api/webrtcsession.h View 1 2 3 4 5 6 7 8 9 10 4 chunks +11 lines, -1 line 0 comments Download
M webrtc/api/webrtcsession.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 6 chunks +57 lines, -8 lines 0 comments Download
M webrtc/api/webrtcsession_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 7 chunks +66 lines, -6 lines 0 comments Download
M webrtc/examples/androidapp/src/org/appspot/apprtc/AppRTCClient.java View 1 2 3 4 5 6 7 8 9 2 chunks +10 lines, -0 lines 0 comments Download
M webrtc/examples/androidapp/src/org/appspot/apprtc/CallActivity.java View 1 2 3 4 5 6 7 8 9 3 chunks +27 lines, -2 lines 0 comments Download
M webrtc/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 chunks +30 lines, -0 lines 0 comments Download
M webrtc/examples/androidapp/src/org/appspot/apprtc/WebSocketRTCClient.java View 1 2 3 4 chunks +56 lines, -5 lines 0 comments Download
M webrtc/examples/androidtests/src/org/appspot/apprtc/test/PeerConnectionClientTest.java View 1 2 3 4 5 6 7 8 9 10 1 chunk +5 lines, -0 lines 0 comments Download
M webrtc/p2p/base/candidate.h View 1 2 3 4 5 6 7 8 9 10 4 chunks +18 lines, -4 lines 0 comments Download
M webrtc/p2p/base/dtlstransportchannel.h View 1 2 3 4 5 6 7 2 chunks +5 lines, -0 lines 0 comments Download
M webrtc/p2p/base/dtlstransportchannel.cc View 1 2 3 4 5 6 7 2 chunks +9 lines, -0 lines 0 comments Download
M webrtc/p2p/base/faketransportcontroller.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +3 lines, -0 lines 0 comments Download
M webrtc/p2p/base/p2ptransportchannel.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -0 lines 0 comments Download
M webrtc/p2p/base/p2ptransportchannel.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +18 lines, -1 line 0 comments Download
M webrtc/p2p/base/p2ptransportchannel_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 9 chunks +68 lines, -39 lines 0 comments Download
M webrtc/p2p/base/transport.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +7 lines, -5 lines 0 comments Download
M webrtc/p2p/base/transport.cc View 1 2 3 4 5 6 7 8 9 3 chunks +36 lines, -10 lines 0 comments Download
M webrtc/p2p/base/transportchannelimpl.h View 1 2 1 chunk +3 lines, -0 lines 0 comments Download
M webrtc/p2p/base/transportcontroller.h View 1 2 3 4 5 6 7 8 6 chunks +9 lines, -0 lines 0 comments Download
M webrtc/p2p/base/transportcontroller.cc View 1 2 3 4 5 6 7 8 4 chunks +45 lines, -0 lines 0 comments Download

Messages

Total messages: 54 (25 generated)
honghaiz3
I am working on the tests. It will be great if you can take a ...
4 years, 10 months ago (2016-02-09 19:58:10 UTC) #9
pthatcher1
https://codereview.webrtc.org/1648813004/diff/100001/talk/app/webrtc/jsepicecandidate.h File talk/app/webrtc/jsepicecandidate.h (right): https://codereview.webrtc.org/1648813004/diff/100001/talk/app/webrtc/jsepicecandidate.h#newcode85 talk/app/webrtc/jsepicecandidate.h:85: virtual int remove(const IceCandidateInterface* target); "target" seems like a ...
4 years, 10 months ago (2016-02-10 00:01:41 UTC) #10
honghaiz3
Addressed comments although still working on tests. I looked through the code, and don't think ...
4 years, 10 months ago (2016-02-10 19:22:44 UTC) #11
Taylor Brandstetter
https://codereview.webrtc.org/1648813004/diff/120001/talk/app/webrtc/jsep.h File talk/app/webrtc/jsep.h (right): https://codereview.webrtc.org/1648813004/diff/120001/talk/app/webrtc/jsep.h#newcode92 talk/app/webrtc/jsep.h:92: virtual int remove(const IceCandidateInterface* candidate) = 0; Does this ...
4 years, 10 months ago (2016-02-10 21:58:08 UTC) #12
pthatcher1
https://codereview.webrtc.org/1648813004/diff/100001/talk/app/webrtc/webrtcsdp.cc File talk/app/webrtc/webrtcsdp.cc (right): https://codereview.webrtc.org/1648813004/diff/100001/talk/app/webrtc/webrtcsdp.cc#newcode1748 talk/app/webrtc/webrtcsdp.cc:1748: type = kCandidatePrflx; On 2016/02/10 19:22:43, honghaiz3 wrote: > ...
4 years, 10 months ago (2016-02-11 20:25:51 UTC) #13
Taylor Brandstetter
https://codereview.webrtc.org/1648813004/diff/120001/webrtc/p2p/base/candidate.h File webrtc/p2p/base/candidate.h (right): https://codereview.webrtc.org/1648813004/diff/120001/webrtc/p2p/base/candidate.h#newcode179 webrtc/p2p/base/candidate.h:179: On 2016/02/11 20:25:51, pthatcher1 wrote: > On 2016/02/10 21:58:08, ...
4 years, 10 months ago (2016-02-11 20:55:17 UTC) #14
pthatcher1
On 2016/02/11 20:55:17, Taylor Brandstetter wrote: > https://codereview.webrtc.org/1648813004/diff/120001/webrtc/p2p/base/candidate.h > File webrtc/p2p/base/candidate.h (right): > > https://codereview.webrtc.org/1648813004/diff/120001/webrtc/p2p/base/candidate.h#newcode179 ...
4 years, 10 months ago (2016-02-11 23:54:09 UTC) #15
Taylor Brandstetter
On 2016/02/11 23:54:09, pthatcher1 wrote: > On 2016/02/11 20:55:17, Taylor Brandstetter wrote: > > > ...
4 years, 10 months ago (2016-02-11 23:59:36 UTC) #16
honghaiz3
I addressed the comments other than the one about a candidate-remove signaling. Will discuss more ...
4 years, 10 months ago (2016-02-12 00:56:55 UTC) #17
Taylor Brandstetter
https://codereview.webrtc.org/1648813004/diff/120001/talk/app/webrtc/webrtcsession.cc File talk/app/webrtc/webrtcsession.cc (right): https://codereview.webrtc.org/1648813004/diff/120001/talk/app/webrtc/webrtcsession.cc#newcode1717 talk/app/webrtc/webrtcsession.cc:1717: const cricket::ContentInfo* WebRtcSession::GetRemoteMediaContent( On 2016/02/12 00:56:55, honghaiz3 wrote: > ...
4 years, 10 months ago (2016-02-12 02:30:38 UTC) #18
honghaiz3
Revised to use a separate message between two peers to remove a group of candidates. ...
4 years, 10 months ago (2016-02-27 01:56:01 UTC) #24
honghaiz3
Revised to use a separate message between two peers to remove a group of candidates. ...
4 years, 10 months ago (2016-02-27 01:56:11 UTC) #25
pthatcher1
Looking good. I'm mostly just worried about using ref counting. I'd greatly prefer to avoid ...
4 years, 9 months ago (2016-03-01 23:51:54 UTC) #27
honghaiz3
PTAL. https://codereview.webrtc.org/1648813004/diff/300001/webrtc/api/jsep.h File webrtc/api/jsep.h (right): https://codereview.webrtc.org/1648813004/diff/300001/webrtc/api/jsep.h#newcode104 webrtc/api/jsep.h:104: const std::vector<IceCandidateInterfaceRefPtr>& candidates) = 0; On 2016/03/01 23:51:53, ...
4 years, 9 months ago (2016-03-02 19:06:40 UTC) #28
pthatcher1
https://codereview.webrtc.org/1648813004/diff/300001/webrtc/api/jsep.h File webrtc/api/jsep.h (right): https://codereview.webrtc.org/1648813004/diff/300001/webrtc/api/jsep.h#newcode104 webrtc/api/jsep.h:104: const std::vector<IceCandidateInterfaceRefPtr>& candidates) = 0; On 2016/03/02 19:06:40, honghaiz3 ...
4 years, 9 months ago (2016-03-02 20:37:58 UTC) #29
honghaiz3
https://codereview.webrtc.org/1648813004/diff/300001/webrtc/api/jsep.h File webrtc/api/jsep.h (right): https://codereview.webrtc.org/1648813004/diff/300001/webrtc/api/jsep.h#newcode104 webrtc/api/jsep.h:104: const std::vector<IceCandidateInterfaceRefPtr>& candidates) = 0; On 2016/03/02 20:37:58, pthatcher1 ...
4 years, 9 months ago (2016-03-03 01:17:40 UTC) #30
honghaiz3
Now I removed the refcount and refPtr and added transport_name to candidates before it is ...
4 years, 9 months ago (2016-03-05 01:13:45 UTC) #33
pthatcher1
This is looking good. Thanks for doing it. Now, do we need some more unit ...
4 years, 9 months ago (2016-03-05 02:14:32 UTC) #34
honghaiz3
Added tests for webrtcsession and p2ptransportchannel. Other changes are mostly passing messages around. https://codereview.webrtc.org/1648813004/diff/440001/webrtc/api/jsep.h File ...
4 years, 9 months ago (2016-03-09 17:40:07 UTC) #36
pthatcher1
lgtm Just some nits in the unit test https://codereview.webrtc.org/1648813004/diff/480001/webrtc/p2p/base/p2ptransportchannel_unittest.cc File webrtc/p2p/base/p2ptransportchannel_unittest.cc (right): https://codereview.webrtc.org/1648813004/diff/480001/webrtc/p2p/base/p2ptransportchannel_unittest.cc#newcode101 webrtc/p2p/base/p2ptransportchannel_unittest.cc:101: enum ...
4 years, 9 months ago (2016-03-09 18:00:53 UTC) #37
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1648813004/540001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1648813004/540001
4 years, 9 months ago (2016-03-10 02:17:54 UTC) #40
commit-bot: I haz the power
Try jobs failed on following builders: presubmit on tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/presubmit/builds/4025)
4 years, 9 months ago (2016-03-10 02:30:24 UTC) #42
honghaiz3
Alex, Can you take a look at this CL? The webrtc/examples dir is owned by ...
4 years, 9 months ago (2016-03-10 02:34:16 UTC) #44
AlexG
lgtm https://codereview.webrtc.org/1648813004/diff/540001/webrtc/api/java/jni/peerconnection_jni.cc File webrtc/api/java/jni/peerconnection_jni.cc (right): https://codereview.webrtc.org/1648813004/diff/540001/webrtc/api/java/jni/peerconnection_jni.cc#newcode195 webrtc/api/java/jni/peerconnection_jni.cc:195: jmethodID ctor = GetMethodID(jni(), candidate_class, This may re ...
4 years, 9 months ago (2016-03-11 19:18:52 UTC) #45
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1648813004/560001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1648813004/560001
4 years, 9 months ago (2016-03-11 19:46:55 UTC) #48
honghaiz3
https://codereview.webrtc.org/1648813004/diff/540001/webrtc/api/java/jni/peerconnection_jni.cc File webrtc/api/java/jni/peerconnection_jni.cc (right): https://codereview.webrtc.org/1648813004/diff/540001/webrtc/api/java/jni/peerconnection_jni.cc#newcode195 webrtc/api/java/jni/peerconnection_jni.cc:195: jmethodID ctor = GetMethodID(jni(), candidate_class, On 2016/03/11 19:18:52, AlexG ...
4 years, 9 months ago (2016-03-11 19:47:14 UTC) #49
commit-bot: I haz the power
Committed patchset #15 (id:560001)
4 years, 9 months ago (2016-03-11 21:28:14 UTC) #51
commit-bot: I haz the power
Patchset 15 (id:??) landed as https://crrev.com/84430da6817ce69c53bfad088be5c9df8b420f01 Cr-Commit-Position: refs/heads/master@{#11958}
4 years, 9 months ago (2016-03-11 21:28:22 UTC) #53
tommi
4 years, 9 months ago (2016-03-11 22:04:55 UTC) #54
Message was sent while issue was closed.
A revert of this CL (patchset #15 id:560001) has been created in
https://codereview.webrtc.org/1785613011/ by tommi@webrtc.org.

The reason for reverting is: Breaks the build.  Suggest we reland with a default
implementation of the new method, update Chrome, land a change that changes |{}|
-> |= 0;|

Here's the error:

FAILED: /b/build/goma/gomacc
../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF
obj/content/renderer/media/webrtc/test_support_content.mock_peer_connection_dependency_factory.o.d
-DV8_DEPRECATION_WARNINGS -DCLD_VERSION=2
-D__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORE=0 -DCHROMIUM_BUILD
-DCR_CLANG_REVISION=262839-1 -DUSE_LIBJPEG_TURBO=1 -DENABLE_WEBRTC=1
-DENABLE_MEDIA_ROUTER=1 -DUSE_PROPRIETARY_CODECS -DENABLE_PEPPER_CDMS
-DENABLE_CONFIGURATION_POLICY -DENABLE_NOTIFICATIONS -DENABLE_TOPCHROME_MD=1
-DDCHECK_ALWAYS_ON=1 -DFIELDTRIAL_TESTING_ENABLED -DENABLE_TASK_MANAGER=1
-DENABLE_EXTENSIONS=1 -DENABLE_PDF=1 -DENABLE_PLUGIN_INSTALLATION=1
-DENABLE_PLUGINS=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1
-DENABLE_AUTOFILL_DIALOG=1 -DENABLE_PRINTING=1 -DENABLE_BASIC_PRINTING=1
-DENABLE_PRINT_PREVIEW=1 -DENABLE_SPELLCHECK=1 -DUSE_BROWSER_SPELLCHECKER=1
-DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_APP_LIST=1 -DENABLE_SETTINGS_APP=1
-DENABLE_SUPERVISED_USERS=1 -DENABLE_SERVICE_DISCOVERY=1
-DV8_USE_EXTERNAL_STARTUP_DATA -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD
-DSAFE_BROWSING_DB_LOCAL -DMOJO_USE_SYSTEM_IMPL -DGTEST_HAS_POSIX_RE=0
-DGTEST_LANG_CXX11=0 -DSK_SUPPORT_GPU=1 -DSK_IGNORE_LINEONLY_AA_CONVEX_PATH_OPTS
-DUNIT_TEST -DGTEST_HAS_RTTI=0 -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0
-DU_STATIC_IMPLEMENTATION -DPROTOBUF_USE_DLLS -DGOOGLE_PROTOBUF_NO_RTTI
-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -DCHROME_PNG_WRITE_SUPPORT
-DPNG_USER_CONFIG -DFEATURE_ENABLE_SSL -DFEATURE_ENABLE_VOICEMAIL
-DEXPAT_RELATIVE_PATH -DGTEST_RELATIVE_PATH -DNO_MAIN_THREAD_WRAPPING
-DNO_SOUND_SYSTEM -DOSX -DWEBRTC_MAC -DWEBRTC_POSIX -DXML_STATIC
-DWEBRTC_CHROMIUM_BUILD -DUSE_LIBPCI=1 -DUSE_OPENSSL=1 -D__STDC_CONSTANT_MACROS
-D__STDC_FORMAT_MACROS -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0
-D_FORTIFY_SOURCE=2 -Igen -I../.. -I../../third_party/khronos -I../../gpu
-I../../skia/config -Igen/angle -I../../third_party/WebKit/Source
-I../../third_party/skia/include/core -I../../third_party/skia/include/effects
-I../../third_party/skia/include/pdf -I../../third_party/skia/include/gpu
-I../../third_party/skia/include/lazy -I../../third_party/skia/include/pathops
-I../../third_party/skia/include/pipe -I../../third_party/skia/include/ports
-I../../third_party/skia/include/utils
-I../../third_party/skia/include/utils/mac -I../../skia/ext
-I../../testing/gmock/include -I../../testing/gtest/include
-I../../third_party/icu/source/i18n -I../../third_party/icu/source/common
-Igen/ui/resources -Igen/protoc_out -I../../third_party/protobuf
-I../../third_party/protobuf/src -I../../third_party/WebKit -I../../ipc
-I../../third_party/opus/src/include -I../../third_party/WebKit
-I../../third_party/npapi -I../../third_party/npapi/bindings
-I../../third_party/libpng -I../../third_party/zlib -I../../third_party/libwebp
-I../../third_party/ots/include -I../../third_party/qcms/src
-I../../third_party/iccjpeg -I../../third_party/libjpeg_turbo -I../../v8/include
-I../../third_party/webrtc_overrides -I../../third_party/libjingle/overrides
-I../../third_party/libjingle/source -I../../third_party
-I../../third_party/expat/files/lib -I../../third_party/libvpx/source/libvpx
-isysroot
/Applications/Xcode5.1.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk
-O2 -gdwarf-2 -fvisibility=hidden -Werror -mmacosx-version-min=10.6 -arch x86_64
-Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers
-Wno-selector-type-mismatch -Wpartial-availability -Wheader-hygiene
-Wno-char-subscripts -Wno-unneeded-internal-declaration
-Wno-covered-switch-default -Wstring-conversion -Wno-c++11-narrowing
-Wno-deprecated-register -Wno-inconsistent-missing-override
-Wno-shift-negative-value -std=c++11 -stdlib=libc++ -fno-rtti -fno-exceptions
-fvisibility-inlines-hidden -fno-threadsafe-statics -Xclang -load -Xclang
/b/build/slave/Mac_Builder/build/src/third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.dylib
-Xclang -add-plugin -Xclang find-bad-constructs -Xclang
-plugin-arg-find-bad-constructs -Xclang check-templates -Xclang
-plugin-arg-find-bad-constructs -Xclang follow-macro-expansion
-fcolor-diagnostics -fno-strict-aliasing  -c
../../content/renderer/media/webrtc/mock_peer_connection_dependency_factory.cc
-o
obj/content/renderer/media/webrtc/test_support_content.mock_peer_connection_dependency_factory.o
../../content/renderer/media/webrtc/mock_peer_connection_dependency_factory.cc:404:14:
error: allocating an object of abstract class type
'content::MockSessionDescription'
  return new MockSessionDescription(type, sdp);
             ^
../../third_party/webrtc/api/jsep.h:100:18: note: unimplemented pure virtual
method 'RemoveCandidates' in 'MockSessionDescription'
  virtual size_t RemoveCandidates(
                 ^
1 error generated.
ninja: build stopped: subcommand failed..

Powered by Google App Engine
This is Rietveld 408576698