Skip to content

Conversation

@djangodeveloper96
Copy link
Owner

No description provided.

saghul and others added 30 commits August 9, 2018 13:38
The PeerConnection constructor no longer takes a constraints objects,
just a configuration object. On Android the migration was completed
already, not so on iOS, so we create some defaults on the latter.
`UUID.randomUUID()` uses a UUIDv4, which uses 122bits of randomness for
the UUID generation. That ought to be enough for our lifetime.
This, coincidentally, allows us to only use a single CameraEnumerator,
which, while not expensive, is nice to do.
The arm64 version has all the headers, which may not be included, so
build that first, since it's used as the base when merging all
architectures.
Don't make the RTCVideoView implement RTCVideoRenderer protocol, since
any renderer already does, so pass it (it being our subview) as the
track renderer directly.

This is a preparatory step to having a Metal based renderer.
- No need to call some super methods
- Simplified code
All function calls and callbacks in RTCVideoView happen in the main
thread, so there is no need to defer the call to setLayout.
The label() method got removed in favor of getId().
The DataChannel id is now accessible.
The VideoRenderer interface got removed and replaced with VideoSink.
Adapt our code to this.
This fixes an issue with getStats().

If you call getStats() with no arguments, promisify will mistakenly call getStats with the successFunction as the `track` and failureFunction as `successFunction`. By padding out the argument list this issue is avoided.
[Merge from Jitsi] M67 + tons of fixes
* Using json parse & stringify to deep clone default constraints

* RTCUtils: fix coding styles and _deepClone

* js: do not pass empty audio constraints
47b817d readme: update to 1.67.0 and remove out-dated info  ( zxcpoiu 2018-08-17 17:07:24 +0800)
31f79e4 RTCUtil.js Deep clone default constraints (#434)  ( Edoardo Gallo 2018-08-17 10:31:31 +0200)
d9695d3 doc: update Android installation instructions  ( Saúl Ibarra Corretgé 2018-08-16 11:04:04 +0200)
ca39898 Fix Android build for RN56  ( Max Hawkins 2018-08-08 17:05:24 -0400)
3e58b87 promisify: pad arguments with undefined if few are passed  ( Max Hawkins 2018-07-28 12:49:14 -0400)
5682f8a android: replace VideoRenderer with VideoSink  ( Saúl Ibarra Corretgé 2018-08-09 18:02:09 +0200)
cbee611 android: remove no longer needed workaround  ( Saúl Ibarra Corretgé 2018-08-09 17:58:31 +0200)
0afc417 android: fix getting the MediaStream id  ( Saúl Ibarra Corretgé 2018-08-09 17:51:20 +0200)
b84c272 ios: remove unneeded method  ( Saúl Ibarra Corretgé 2018-08-10 11:48:02 +0200)
b21186c ios: small cleanup  ( Saúl Ibarra Corretgé 2018-08-10 11:46:31 +0200)
7b290e3 ios: detach RTCVideoView from RTCEAGLVideoView  ( Saúl Ibarra Corretgé 2018-08-08 15:05:10 +0200)
9a371e1 tools: fix getting all headers in iOS builds  ( Saúl Ibarra Corretgé 2018-08-08 10:51:37 +0200)
bed4921 android: pass correct constraints map to VideoCaptureController  ( Steve Zhu 2018-08-10 11:20:57 -0700)
b0f223b android: avoid using the old Camera1 API  ( Saúl Ibarra Corretgé 2018-07-27 12:04:43 +0200)
6573827 android: defer all WebRTC API methods to a dedicated thread  ( Saúl Ibarra Corretgé 2018-07-24 15:18:51 +0200)
f9445aa android: remove unneeded helper methods  ( Saúl Ibarra Corretgé 2018-07-24 15:17:04 +0200)
46f763f android,ios: refactor peerConnectionInit  ( Saúl Ibarra Corretgé 2018-07-20 16:20:14 +0200)
60184ba android: fix miscellaneous Java warnings  ( Saúl Ibarra Corretgé 2018-07-26 12:21:07 +0200)
279216a android: use a non-deprecated way of builing IceServer instances  ( Saúl Ibarra Corretgé 2018-07-24 15:12:27 +0200)
51e31d8 android: remove unused code  ( Saúl Ibarra Corretgé 2018-07-20 14:43:41 +0200)
adf4fce android: remove extraneous language constant  ( Saúl Ibarra Corretgé 2018-07-20 14:42:42 +0200)
308d90b ios: update RTCPeerConnectionFactory initialization  ( Saúl Ibarra Corretgé 2018-07-19 12:02:16 +0200)
6b0ea12 ios: use a worker queue for all WebRTC operations  ( Daniel Ornelas 2018-07-17 15:25:42 -0500)
b43081e tools: update build script  ( Saúl Ibarra Corretgé 2018-06-20 17:58:52 +0200)
a0a9a38 doc: update README  ( Saúl Ibarra Corretgé 2018-06-20 17:05:40 +0200)
9ad232d ios: fix thread access warning  ( Saúl Ibarra Corretgé 2018-06-15 15:07:29 +0200)
1d831e1 ios: stop video capturer when stream is disabled  ( Saúl Ibarra Corretgé 2018-06-08 16:52:59 +0200)
47b3d5a android: stop video capturer when stream is disabled  ( Saúl Ibarra Corretgé 2018-06-08 15:31:15 +0200)
ea5686e android: refactor video capture and move it to VideoCaptureController  ( Saúl Ibarra Corretgé 2018-06-08 15:29:40 +0200)
b9890b8 android,ios: update WebRTC to M67  ( Saúl Ibarra Corretgé 2018-06-01 11:56:48 +0200)
bef77e7 ios: fix initialization warning in RN >= 0.47  ( Saúl Ibarra Corretgé 2018-05-21 16:22:56 +0200)
bac500a [iOS] Implement mute/unmute events for remote video tracks  ( Saúl Ibarra Corretgé 2017-12-20 21:35:52 +0100)
49f678e [Android] Implement mute/unmute events for remote video tracks  ( paweldomas 2017-08-23 12:09:41 +0200)
52fe464 ios: fix build when using `use_frameworks!`  ( Mahmoud Adam 2017-07-11 11:37:38 +0200)
e6197e7 Optimization: Prevent retries of devices that already failed.  ( Guus der Kinderen 2018-04-06 14:05:37 +0200)
7eb2bf7 Android: Fallback to any camera when constraints cannot be met.  ( Guus der Kinderen 2018-04-06 12:20:32 +0200)
81d9297 Javadoc fixes.  ( Guus der Kinderen 2018-04-06 12:14:46 +0200)
626818a android: remove ThrowableExtension dependency and java 8 req  ( paweldomas 2018-03-08 13:15:31 -0600)
7e54c61 [iOS] Fix uncaught NSInvalidArgumentException in RTCPeerConnection's createAnswer  ( Lyubo Marinov 2018-03-07 13:57:45 -0600)
806435b ios: update M63 build with 2 backports to fix a crash  ( Saúl Ibarra Corretgé 2018-01-22 16:48:14 +0100)
3063fca android: fix transparent rendering if no frames are received  ( Saúl Ibarra Corretgé 2018-01-08 16:29:36 +0100)
384faeb fix(Android): use SurfaceViewRenderer from org.webrtc  ( paweldomas 2017-12-21 15:04:48 -0600)
655c539 fix(Android): no org.webrtc.EglBase10 nor EglBase14  ( paweldomas 2017-12-21 14:31:39 -0600)
571bc31 ios: update WebRTC to M63  ( paweldomas 2017-12-21 09:11:47 -0600)
ec683c8 tools: fix building newer WebRTC releases on iOS  ( Saúl Ibarra Corretgé 2017-12-21 10:05:49 +0100)
1842a95 android: update WebRTC to M63  ( Saúl Ibarra Corretgé 2017-12-20 21:37:37 +0100)
76bf3c6 tools: fix building newer WebRTC releases on Android  ( Saúl Ibarra Corretgé 2017-12-20 21:36:24 +0100)
aee06c1 Migrate to 'prop-types' module  ( Jason 2017-09-14 01:09:55 -0700)
7c6b167 Fix crash caused by "[Android] Handle disposed VideoTrack in WebRTCView"  ( Lyubo Marinov 2017-12-11 14:20:44 -0600)
cf1945b  Fix(Android): peerconnection removeStream is not working  ( 武新飞 2017-11-30 12:29:41 +0800)
51e9cb2 [Android] Handle disposed VideoTrack in WebRTCView  ( Lyubo Marinov 2017-11-17 13:02:39 -0600)
3917e0b android: fix more Camera1 related crashes  ( Saúl Ibarra Corretgé 2017-10-31 11:53:14 +0100)
b3da5a2 android: update build to fix several crashes  ( Saúl Ibarra Corretgé 2017-10-25 13:35:19 +0200)
2615b61 [Android] Call dispose() on local MediaStreams and PeerConnections  ( paweldomas 2017-10-17 10:09:46 -0500)
5baf38e [Android] Dispose of AudioSource, MediaStreamTrack  ( Lyubo Marinov 2017-10-10 02:01:25 -0500)
d8c4200 [Android] Work around fatal "RuntimeException: Illegal callback invocation from native module"  ( Lyubo Marinov 2017-10-05 17:42:17 -0500)
a3a0a87 [Android] Deduplicate  ( Lyubo Marinov 2017-10-05 17:41:21 -0500)
baf3e74 [Android] Handle exceptions, dispose of VideoCapturer  ( Lyubo Marinov 2017-10-04 13:24:59 -0500)
a7262fc android: avoid storing a global context on RTCVideoViewManager  ( Saúl Ibarra Corretgé 2017-09-14 15:57:29 +0200)
ios: add missing files to Xcode project
saghul and others added 30 commits November 25, 2020 15:38
d9029e8 tools: update bitcode download script  ( Saúl Ibarra Corretgé 2020-11-25 15:04:03 +0100)
according to webrtc `src/build/android/envsetup.sh`
the android sdk import path should be `third_party/android_sdk/public`
We have observed this crash:

~~~
Fatal Exception: NSInvalidArgumentException
0  CoreFoundation                 0x19c404654 __exceptionPreprocess
1  libobjc.A.dylib                0x19c126bcc objc_exception_throw
2  CoreFoundation                 0x19c45a280 -[__NSCFString characterAtIndex:].cold.1
3  CoreFoundation                 0x19c4636e8 -[__NSPlaceholderDictionary initWithObjects:forKeys:count:].cold.5
4  CoreFoundation                 0x19c2f20bc -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]
5  CoreFoundation                 0x19c2e40c4 +[NSDictionary dictionaryWithObjects:forKeys:count:]
6  JitsiMeet                      0x104d58d20 -[WebRTCModule(RTCMediaStream) enumerateDevices:] + 145 (WebRTCModule+RTCMediaStream.m:145)
~~~
5b72e7e ios: fix typo  ( Saúl Ibarra Corretgé 2020-12-18 12:09:15 +0100)
7eab1c3 ios: fix crash if device doesn't have a name  ( Saúl Ibarra Corretgé 2020-12-18 09:57:29 +0100)
268933f api: migrate to spec-compliant stats  ( tmoldovan8x8 2020-12-09 17:06:03 +0200)
b93cef5 misc: fix typo in build-webrtc.py  ( zxcpoiu 2020-12-04 16:09:25 +0800)
776b2b8 tools: change env path of android_sdk  ( zxcpoiu 2019-07-18 17:28:49 +0800)
f5e313b doc: add note about cocoapods version for iOS  ( Saúl Ibarra Corretgé 2020-12-01 13:56:03 +0100)
d952574 doc: mention macOS support on the README  ( Saúl Ibarra Corretgé 2020-11-27 13:01:35 +0100)
03178c7 doc: fix the "current" version of webrtc reference to 87  ( Dan Jenkins 2020-11-27 12:00:41 +0000)
70f4710 android: bump minSdkVersion  ( Saúl Ibarra Corretgé 2020-11-25 21:41:19 +0100)
04080af misc: add more files to npmignore  ( Saúl Ibarra Corretgé 2020-11-25 15:47:52 +0100)
It must be a (double) number, expressed in milliseconds. The native API
provides microseconds though.
a1c4ded api: fix non-compliant timestamp field in stats  ( Saúl Ibarra Corretgé 2021-01-14 10:32:02 +0100)
b766fb5 android: adds error handling for screenTrack creation errors.  ( Titus-Andrei Moldovan 2021-01-07 11:41:40 +0200)
00eaa9f android: fix accessing the iceServers attribute  ( Saúl Ibarra Corretgé 2020-12-23 11:28:31 +0100)
This adds initial support for screen sharing in iOS. These are the parts required to feed frames into the WebRTC engine, but a broadcasting extension is required on the application side.

The Jitsi team would like to thank @AliKarpuzoglu, @linuxpi and The Hopp Foundation for the initial effort and help throughout.
Co-authored-by: Xi Lin <lxi@tesla.com>
We'll be releasing bitcode binaries on GH releases now.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.