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

Issue 2513063003: Add the OnAddTrack callback for Objective-C wrapper.

Created:
4 years, 1 month ago by Zhi Huang
Modified:
3 years, 9 months ago
CC:
webrtc-reviews_webrtc.org, tterriberry_mozilla.com
Target Ref:
refs/heads/master
Project:
webrtc
Visibility:
Public.

Description

Relanding: Add the OnAddTrack callback for Objective-C wrapper. Created an Obj-C wrapper for the callback OnAddTrack in this CL since it has been added to native C++ API The callback function is called when a track is signaled by remote side and a new RtpReceiver is created. The application can tell when tracks are added to the streams by listening to this callback. BUG=webrtc:6112

Patch Set 1 #

Total comments: 12

Patch Set 2 : CR comments. #

Total comments: 2

Patch Set 3 : Remove the stream entry from the dictionary when the stream is removed. #

Total comments: 16

Patch Set 4 : renaming. #

Total comments: 5

Patch Set 5 : Add optional method check. Use the stream->label() as the Key #

Total comments: 1

Patch Set 6 : Try to use NSStringFromStdString #

Patch Set 7 : replace the NSStringFromStdString with stringForStdString #

Total comments: 2

Patch Set 8 : Fix the AppRTC. Remove the media stream caching. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+39 lines, -1 line) Patch
M webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm View 1 2 3 4 5 6 7 1 chunk +22 lines, -0 lines 0 comments Download
M webrtc/sdk/objc/Framework/Classes/RTCPeerConnection+Private.h View 1 2 3 4 5 6 7 1 chunk +5 lines, -1 line 0 comments Download
M webrtc/sdk/objc/Framework/Classes/RTCRtpReceiver.mm View 1 2 3 4 5 6 7 1 chunk +4 lines, -0 lines 0 comments Download
M webrtc/sdk/objc/Framework/Headers/WebRTC/RTCPeerConnection.h View 1 2 3 1 chunk +8 lines, -0 lines 0 comments Download

Messages

Total messages: 47 (26 generated)
Zhi Huang
Hi, I have made a simple change on obj-c api. Please take a look. Thanks,
4 years, 1 month ago (2016-11-22 18:37:43 UTC) #4
tkchin_webrtc
https://codereview.webrtc.org/2513063003/diff/1/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection+Private.h File webrtc/sdk/objc/Framework/Classes/RTCPeerConnection+Private.h (right): https://codereview.webrtc.org/2513063003/diff/1/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection+Private.h#newcode52 webrtc/sdk/objc/Framework/Classes/RTCPeerConnection+Private.h:52: void OnAddTrack( what is the distinction between track and ...
4 years, 1 month ago (2016-11-22 20:41:34 UTC) #5
Zhi Huang
Please take another look. Thanks! https://codereview.webrtc.org/2513063003/diff/1/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection+Private.h File webrtc/sdk/objc/Framework/Classes/RTCPeerConnection+Private.h (right): https://codereview.webrtc.org/2513063003/diff/1/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection+Private.h#newcode52 webrtc/sdk/objc/Framework/Classes/RTCPeerConnection+Private.h:52: void OnAddTrack( On 2016/11/22 ...
4 years, 1 month ago (2016-11-22 23:38:42 UTC) #7
Zhi Huang
On 2016/11/22 23:38:42, Zhi Huang wrote: > Please take another look. Thanks! > > https://codereview.webrtc.org/2513063003/diff/1/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection+Private.h ...
4 years ago (2016-12-05 19:09:40 UTC) #8
Taylor Brandstetter
Pinging Zeke. This looks good to me, aside from the one comment. https://codereview.webrtc.org/2513063003/diff/60001/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm File webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm ...
3 years, 10 months ago (2017-02-15 21:34:45 UTC) #10
Zhi Huang
Please take another look. Thanks. https://codereview.webrtc.org/2513063003/diff/60001/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm File webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm (right): https://codereview.webrtc.org/2513063003/diff/60001/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm#newcode142 webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm:142: didRemoveStream:mediaStream]; On 2017/02/15 21:34:45, ...
3 years, 10 months ago (2017-02-15 22:41:13 UTC) #11
tkchin_webrtc
https://codereview.webrtc.org/2513063003/diff/80001/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm File webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm (right): https://codereview.webrtc.org/2513063003/diff/80001/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm#newcode203 webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm:203: void PeerConnectionDelegateAdapter::OnAddTrack( strange that the method is OnAddTrack but ...
3 years, 10 months ago (2017-02-15 23:43:48 UTC) #12
Taylor Brandstetter
https://codereview.webrtc.org/2513063003/diff/80001/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm File webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm (right): https://codereview.webrtc.org/2513063003/diff/80001/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm#newcode203 webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm:203: void PeerConnectionDelegateAdapter::OnAddTrack( On 2017/02/15 23:43:48, tkchin_webrtc wrote: > strange ...
3 years, 10 months ago (2017-02-16 01:07:06 UTC) #13
Zhi Huang
Hi, Please take another look. Thanks! https://codereview.webrtc.org/2513063003/diff/80001/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm File webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm (right): https://codereview.webrtc.org/2513063003/diff/80001/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm#newcode206 webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm:206: RTCRtpReceiver *rtpReceiver = ...
3 years, 10 months ago (2017-02-21 04:55:50 UTC) #17
tkchin_webrtc
https://codereview.webrtc.org/2513063003/diff/160001/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm File webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm (right): https://codereview.webrtc.org/2513063003/diff/160001/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm#newcode217 webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm:217: [peer_connection.delegate peerConnection:peer_connection since you marked it optional, you have ...
3 years, 10 months ago (2017-02-22 18:13:18 UTC) #18
Zhi Huang
Please take anther look. Thanks. :) https://codereview.webrtc.org/2513063003/diff/160001/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm File webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm (right): https://codereview.webrtc.org/2513063003/diff/160001/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm#newcode217 webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm:217: [peer_connection.delegate peerConnection:peer_connection On ...
3 years, 10 months ago (2017-02-23 05:26:54 UTC) #20
Taylor Brandstetter
https://codereview.webrtc.org/2513063003/diff/160001/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm File webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm (right): https://codereview.webrtc.org/2513063003/diff/160001/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm#newcode615 webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm:615: _mediaStreamsByStreamId[[NSNumber numberWithLong:(long)stream.get()]]; On 2017/02/23 05:26:54, Zhi Huang wrote: > ...
3 years, 10 months ago (2017-02-23 05:30:05 UTC) #21
tkchin_webrtc
lgtm https://codereview.webrtc.org/2513063003/diff/200001/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm File webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm (right): https://codereview.webrtc.org/2513063003/diff/200001/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm#newcode617 webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm:617: RTCMediaStream *mediaStream = _mediaStreamsByStreamId[@(stream->label().c_str())]; might need to use ...
3 years, 10 months ago (2017-02-23 19:23:36 UTC) #22
Zhi Huang
On 2017/02/23 19:23:36, tkchin_webrtc wrote: > lgtm > > https://codereview.webrtc.org/2513063003/diff/200001/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm > File webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm (right): > ...
3 years, 10 months ago (2017-02-24 19:28:08 UTC) #27
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/2513063003/240001
3 years, 10 months ago (2017-02-24 20:44:13 UTC) #34
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/2513063003/240001
3 years, 10 months ago (2017-02-24 20:44:23 UTC) #36
commit-bot: I haz the power
Committed patchset #7 (id:240001) as https://chromium.googlesource.com/external/webrtc/+/633f6fe0046131ed815098298b9a3120bac1d7a0
3 years, 10 months ago (2017-02-24 20:50:53 UTC) #40
tkchin_webrtc
https://codereview.webrtc.org/2513063003/diff/240001/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm File webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm (right): https://codereview.webrtc.org/2513063003/diff/240001/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm#newcode30 webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm:30: #include "webrtc/sdk/objc/Framework/Classes/helpers.h" you don't need this include, NSString+StdString has ...
3 years, 10 months ago (2017-02-24 20:54:15 UTC) #41
Zhi Huang
On 2017/02/24 20:54:15, tkchin_webrtc wrote: > https://codereview.webrtc.org/2513063003/diff/240001/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm > File webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm (right): > > https://codereview.webrtc.org/2513063003/diff/240001/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm#newcode30 > ...
3 years, 10 months ago (2017-02-24 21:02:46 UTC) #42
magjed_webrtc
A revert of this CL (patchset #7 id:240001) has been created in https://codereview.webrtc.org/2720753002/ by magjed@webrtc.org. ...
3 years, 9 months ago (2017-02-27 14:31:15 UTC) #43
Zhi Huang
3 years, 9 months ago (2017-02-28 02:11:55 UTC) #47
The issue of the AppRTC is that the RTCMediaStreams are cached in
RTCPeerConnection with a dictionary and they are not updated when the native
media streams change such as adding or removing tracks.

I have fix for the AppRTCMobile but it is not ideal.

I noticed that we don't do caching for MediaStreams such as when adding or
removing stream. So I remove the caching as well. Each time when adding a new
track to a native stream, a new RTCMediaStream will be create so that it can
sync with the native media stream. But from the application's view, the track
are added to a different stream.

Powered by Google App Engine
This is Rietveld 408576698