Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
462 commits
Select commit Hold shift + click to select a range
d9695d3
doc: update Android installation instructions
saghul Aug 16, 2018
c0e8fe2
Merge pull request #496 from saghul/merge-jitsi
saghul Aug 17, 2018
31f79e4
RTCUtil.js Deep clone default constraints (#434)
edolix Aug 17, 2018
47b817d
readme: update to 1.67.0 and remove out-dated info
zxcpoiu Aug 17, 2018
43b18ab
release 1.67.0
zxcpoiu Aug 17, 2018
46182fa
ios: add missing files to Xcode project
saghul Aug 21, 2018
668704c
Merge pull request #504 from saghul/update-ios-project
saghul Aug 21, 2018
ddd08f8
readme: update 1.67.1
zxcpoiu Aug 22, 2018
0036bd7
release 1.67.1
zxcpoiu Aug 22, 2018
eb33174
api: implement Promise APIs only
saghul Aug 16, 2018
048b852
api: implement an equivalent to navigator.mediaDevices
saghul Aug 21, 2018
bfe959c
android: update WebRTC to fix crash (#38)
saghul Aug 31, 2018
111da88
android: prevent crash when checking camera facing mode (#37)
saghul Aug 31, 2018
071352e
doc: updated Android instructions
cristiantx Sep 5, 2018
be3de15
api: refactor permissions and introduce W3C-ish API
saghul Aug 31, 2018
4b4e4a4
Merge remote-tracking branch 'oney/master' into merge-upstream
saghul Oct 9, 2018
a880018
Merge pull request #40 from saghul/merge-upstream
zbettenbuk Oct 9, 2018
e1f05cb
android: workaround RN permissions bug
saghul Oct 10, 2018
dc268cd
ios: update WebRTC to M69
saghul Aug 8, 2018
9a4f18c
ios: add support for a Metal based video renderer 🤘🤘🤘
saghul Aug 9, 2018
65ed2d1
ios: reset video frame size when renderer is detached
saghul Aug 10, 2018
6322a9b
ios: use the containing view's bounds when size is unknown
saghul Aug 10, 2018
51ee1a7
doc: remove demos from README (#528)
saghul Oct 23, 2018
e9de029
api: implement Promise APIs only
saghul Aug 16, 2018
a6d2558
api: implement an equivalent to navigator.mediaDevices
saghul Aug 21, 2018
92e708c
android: update WebRTC to fix crash (#38)
saghul Aug 31, 2018
7871f53
android: prevent crash when checking camera facing mode (#37)
saghul Aug 31, 2018
3ce5a05
api: refactor permissions and introduce W3C-ish API
saghul Aug 31, 2018
d068726
android: workaround RN permissions bug
saghul Oct 10, 2018
fce687b
ios: update WebRTC to M69
saghul Aug 8, 2018
d40499c
ios: add support for a Metal based video renderer 🤘🤘🤘
saghul Aug 9, 2018
3964c94
ios: reset video frame size when renderer is detached
saghul Aug 10, 2018
b7bd438
ios: use the containing view's bounds when size is unknown
saghul Aug 10, 2018
22b7ff5
misc: fix typo
saghul Oct 18, 2018
2234a8c
ios: add missing files to Xcode project
saghul Oct 23, 2018
39409ff
api: fix sLD/sRD to match standard
manuquentin Nov 28, 2018
dcb7cf8
readme: `const i` cannot be modified inside the loop (#516)
divyanshunumrah Nov 29, 2018
588c66b
doc: libstdc++.tbd -> libc++.tbd
p8952 Nov 30, 2018
3acc5c9
ios: add missing requiresMainQueueSetup method
y00rb Dec 13, 2018
3fe886f
android: fix warning: 'compile' is obsolete
Shhzdmrz Dec 19, 2018
e4ee329
Merge branch 'master' into upstream-master
saghul Dec 19, 2018
c1be0cb
Merge pull request #44 from jitsi/sync-upstream
zbettenbuk Dec 20, 2018
4ba6010
Use ES6 export
piranna Jan 8, 2019
78eb410
misc: we have a Discourse community now!
saghul Jan 18, 2019
b420730
doc: mention ejecting on Expo is required
saghul Jan 25, 2019
5b9e9f9
android, ios: allow (un)muting remote tracks
weberjc Jan 29, 2019
664440b
ios: implement remaining RTCConfiguration options
bradleyjokinen Apr 19, 2018
7c32ebe
ios: allow using custom codec factories
gmondada Jan 7, 2019
8def7d0
android: add @ReactModule annotation
mbloody Jan 28, 2019
8fa08eb
readme: update 1.69.0
zxcpoiu Jan 31, 2019
39354b6
release 1.69.0
zxcpoiu Jan 31, 2019
28100f6
tools: add bash release script
zxcpoiu Jan 31, 2019
a65cb96
readme: remove odd info
zxcpoiu Jan 31, 2019
6ed1a8b
api: remove old and not working MediaStreamTrack.getSources
saghul Feb 2, 2019
5ea8777
doc: update README
saghul Feb 2, 2019
78bc523
doc: updated README
saghul Feb 6, 2019
cf784b4
doc: add note about RN 0.58 and 64bit support
saghul Feb 7, 2019
e2c39f0
doc: add react-native-callkeep link to README
Feb 8, 2019
426c487
doc: fix a typo in README
RaeesBhatti Feb 12, 2019
4ded2c2
Merge pull request #45 from oney/master
saghul Mar 14, 2019
1b079c7
android: add support for 64bit builds
saghul Mar 15, 2019
032ee5c
android: add support for 64bit builds
saghul Mar 15, 2019
9f25be3
doc: specify which files to delete for App Store
lemming Mar 28, 2019
34a899b
Merge pull request #602 from jitsi/android-64bits
saghul Mar 29, 2019
7cc4550
release 1.69.1
saghul Apr 2, 2019
a967b31
doc: update README
saghul Apr 2, 2019
f893dcb
tools: make Android builds with 64bit architectures too
saghul Apr 2, 2019
e00cdad
Update README.md
oney Apr 8, 2019
f601eb4
misc: fix references to old repository location
ruddell Apr 9, 2019
659d2fe
ios: fix streams leaking on didRemoveStream
paweldomas Apr 17, 2019
88f9b2f
fix typo in README.md
seeekr Apr 21, 2019
e4fdf2d
doc: specify which files to delete for App Store
lemming Mar 28, 2019
a500a4a
release 1.69.1
saghul Apr 2, 2019
e3b7451
doc: update README
saghul Apr 2, 2019
9e7fd0b
tools: make Android builds with 64bit architectures too
saghul Apr 2, 2019
27a8cd9
Update README.md
oney Apr 8, 2019
5c6c513
misc: fix references to old repository location
ruddell Apr 9, 2019
97bae7c
fix typo in README.md
seeekr Apr 21, 2019
d798310
tools: add script to download bitcode builds
saghul May 3, 2019
5e3e466
tools: add ability to build WebRTC with bitcode
saghul May 3, 2019
4064c6f
ios: fix Metal related crashes
saghul May 3, 2019
166b50e
api: add optional toJSON for candidate
bighitbiker3 May 14, 2019
3ea1487
ios, android: add camera position in facing property
KarlosQ Jun 11, 2019
223b3f6
android: expose the WebRTC API
saghul Jun 12, 2019
b2e207d
Merge pull request #645 from jitsi/master
saghul Jun 18, 2019
10dbc08
tools: fix release script mode
saghul Jun 18, 2019
56649fd
release 1.69.2
saghul Jun 18, 2019
6d3bb8a
doc: update README
saghul Jun 18, 2019
445831c
doc: update link to react-native-incall-manager
sesm Jun 26, 2019
a43b4b8
doc: fix URL for react-native-callkeep
Jun 28, 2019
3e03e21
Merge pull request #50 from jitsi/sync-upstream
saghul Jul 3, 2019
907dc49
build: drop iOS 9 support
saghul Jul 3, 2019
f7c7220
ios: update WebRTC to M75
saghul Jul 3, 2019
c33443d
android: update WebRTC to M75
saghul Jul 4, 2019
15a0bf0
ios: adapt to WebRTC M75
saghul Jul 4, 2019
3706806
ios: fix WebRTC deprecation warnings
saghul Jul 4, 2019
b3395f9
ios: fix deprecation warnings
saghul Jul 4, 2019
8106902
android: adapt to WebRTC M75
saghul Jul 4, 2019
4efbc9b
android: remove unneeded function
saghul Jul 4, 2019
48524ea
android: fix compilation warnings
saghul Jul 4, 2019
7681f6d
ios: enable field trial to restart audio after interruption
saghul Jul 5, 2019
241beda
Merge pull request #657 from jitsi/M75
saghul Jul 9, 2019
278cd4f
doc: update README
saghul Jul 9, 2019
fb4c734
Merge pull request #51 from jitsi/sync-upstream
saghul Jul 9, 2019
96850de
android: remove unneeded imports
saghul Jul 11, 2019
64073d3
android: remove deprecated method
saghul Jul 11, 2019
be5bb5d
android: add ability to customize PeerConnectionFactory initialization
saghul Jul 11, 2019
f536e98
android: fix crash in PeerConnection.close()
saghul Jul 11, 2019
e89a1d0
Merge pull request #52 from jitsi/custom-init
saghul Jul 11, 2019
2d736ce
android: fix switchCamera with more than 2 cameras
saghul Jul 12, 2019
b70417c
Merge pull request #53 from jitsi/android-fix-camera-switch
saghul Jul 16, 2019
762a7e2
android,ios: fix facingMode values
saghul Jul 17, 2019
e78b092
api: use modern style constraints
saghul Jul 17, 2019
1929018
Merge pull request #54 from jitsi/modern-constraints
saghul Jul 24, 2019
ccee251
api: add support for the MediaStream constructor
saghul Jul 24, 2019
44ecfdd
Merge pull request #55 from jitsi/stream-constructor
saghul Jul 25, 2019
4e277d4
api: support legacy constraints in create{Offer,Answer}
saghul Jul 30, 2019
fbfbdd6
misc: fix import
saghul Aug 3, 2019
7f36696
api: support legacy constraints in create{Offer,Answer}
saghul Aug 15, 2019
3420a04
release 1.75.0
saghul Aug 16, 2019
fd744f7
misc: update package-lock.json
saghul Aug 16, 2019
6393cad
tools: commit package-lock too
saghul Aug 16, 2019
14e7a88
doc: update README
saghul Aug 16, 2019
6c3662b
fix: typo of STANDARD_OA_OPTIONS in RTCUtil.js
zxcpoiu Aug 19, 2019
260962a
doc: add note about upgrading the `platform` field in Podfile
jacklj Aug 21, 2019
dfe222b
doc: move image so that it is next to the relevant text
jacklj Aug 27, 2019
bec1535
doc: update Android installation instructions
CSantosM Aug 29, 2019
6fd465d
ios: use RCTLog instead of NSLog
saghul Sep 4, 2019
e81317b
ios: wait until the capture process has started
saghul Sep 5, 2019
bb9a496
ios: remove unneeded check
saghul Sep 5, 2019
b1275cc
ios: add / remove renderes in the RN WebRTC thread
saghul Sep 5, 2019
02cf429
doc: fix typo in README
yildiz Sep 10, 2019
38777c9
android: simplify check
saghul Sep 26, 2019
6bfded2
android: fix typo in comment
saghul Sep 26, 2019
1ce96e1
android: avoid crashes when adding / removing renderers
saghul Sep 26, 2019
f2f41e4
Merge branch 'upstream-master'
saghul Oct 2, 2019
147fe07
ios: fix crash if no cameras are detected
saghul Oct 2, 2019
a28f27a
Revert "ios: enable field trial to restart audio after interruption"
saghul Oct 2, 2019
047b019
Merge pull request #56 from jitsi/fix-crashes
saghul Oct 2, 2019
c2bae4b
android: fix crash when checking camera facing mode
saghul Oct 14, 2019
2870de5
ios: avoid running unnecessary operations in VideoCaptureController
saghul Oct 18, 2019
a12a6cd
ios: fix compilation warning
saghul Oct 18, 2019
ca8c79b
api: add registerGlobals()
ibc Oct 18, 2019
d3544dd
api: remove DEFAULT_OFFER_OPTIONS
saghul Oct 18, 2019
15e7723
release 1.75.1
saghul Oct 18, 2019
79e44ca
doc: update README
saghul Oct 18, 2019
453c2de
api: fix adding / removing remote tracks from a MediaStream
hv-ltripoli Nov 6, 2019
8ba054c
android: fix crash when checking for Camera 2 API
saghul Nov 12, 2019
06b5c6a
release 1.75.2
saghul Nov 12, 2019
ba02752
doc: update README
saghul Nov 12, 2019
b3a3898
doc: fix iOS sourceInfo.facing example
artechventure Nov 20, 2019
76a9cde
ios: fix data channels not opening
iScorpio Jan 8, 2020
1556574
release 1.75.3
saghul Jan 8, 2020
92a336d
doc: mention iOS 13.3.1 problem
Feb 25, 2020
f07435d
android: fix crash when SurfaceTexttureHelper fails to be created
saghul Jul 7, 2020
a85aaae
ios: drop support for iOS 10
saghul Jul 7, 2020
8253851
ios: update WebRTC to M84
saghul Jul 7, 2020
688ca9b
misc: remove author from package.json
saghul Jul 7, 2020
ff620f4
misc: raise version to 1.84.0
saghul Jul 7, 2020
9bddea8
android: update WebRTC to M84
saghul Jul 7, 2020
60ff462
rn: use NativeEventEmitter instead of DeviceEventEmitter
r0b0t3d Jul 8, 2020
ce40d91
misc: remove unneeded code
saghul Jan 17, 2020
6554221
api: remove deprecated 'readonly' property
saghul Jan 17, 2020
c7ee313
api: implement MediaStreamTrack.getConstraints()
saghul Jan 10, 2020
c4076ef
api: implement connectionstatechange event
yahacom Jun 9, 2020
9e627e0
android: migrate to AndroidX
saghul Jul 8, 2020
0a2b98e
misc: allow manually setting the release version
saghul Jul 8, 2020
8687464
doc: update for autilinking
Dx724 Jul 14, 2020
b9aec36
doc: update required iOS version info
martin-888 Jul 17, 2020
059aca9
doc: update README
saghul Jul 17, 2020
e683f5d
ios: enable camera switching (#837)
alejo-lapix Jul 21, 2020
ae5526e
doc: update iOS docs to account for autolinking
Dx724 Jul 21, 2020
1e3b035
Added license type so it appears in derived work
Sep 7, 2020
dd1240e
Merge pull request #868 from l3nz/master
danjenkins Sep 7, 2020
c407d7b
doc: add mention of how to get bitcode support
paramaggarwal Sep 10, 2020
5106ad2
ios: fix Xcode 12 compatibility
kasinskas Oct 1, 2020
c199783
doc: update AndroidInstallation.md
olanipekunife Oct 1, 2020
6d44dce
update tools/build-webrtc.py with treat_warnings_as_errors=false in G…
hthetiot Oct 17, 2020
5517ea0
add note about WebRTC branch naming scheme change
hthetiot Oct 17, 2020
b14787c
android: add getDisplayMedia implementation
tmoldovan8x8 Oct 26, 2020
e2e27f1
rn: moves track releasing to JS
tmoldovan8x8 Oct 29, 2020
765952c
misc: simplified code
saghul Oct 29, 2020
5c0f2e7
release 1.84.1
saghul Nov 4, 2020
6549dbc
doc: update iOSInstallation.md
CodeBunny786 Nov 10, 2020
399a4b5
api: add default object on RTCSessionDescription constructor
igor-peregudov Nov 10, 2020
285fd24
android: forces the startActivityForResult to run on the UI thread
tmoldovan8x8 Nov 24, 2020
bd2e43c
ios: switch to XCFramework
saghul Nov 18, 2020
cb7ef1b
android: update WebRTC to M87
saghul Nov 20, 2020
882930e
ios: update WebRTC to M87
saghul Nov 20, 2020
1900c9c
misc: set version 1.87.0
saghul Nov 20, 2020
5c1d5e0
misc: add simple example that uses getUserMedia
saghul Nov 20, 2020
9029b02
doc: update documentation
saghul Nov 24, 2020
48e2663
ios: add macOS slice to XCFramework
saghul Nov 24, 2020
ea4a9df
macos: add support for react-native-macos
amanforindia Nov 24, 2020
f288d6e
misc: add simple example that uses getUserMedia (macOS)
saghul Nov 25, 2020
81793c6
misc: don't package examples nor documentation
saghul Nov 25, 2020
50a10f9
doc: update README syntax
saghul Nov 25, 2020
d9029e8
tools: update bitcode download script
saghul Nov 25, 2020
039acb0
release 1.87.1
saghul Nov 25, 2020
04080af
misc: add more files to npmignore
saghul Nov 25, 2020
70f4710
android: bump minSdkVersion
saghul Nov 25, 2020
03178c7
doc: fix the "current" version of webrtc reference to 87
danjenkins Nov 27, 2020
d952574
doc: mention macOS support on the README
saghul Nov 27, 2020
f5e313b
doc: add note about cocoapods version for iOS
saghul Dec 1, 2020
776b2b8
tools: change env path of android_sdk
zxcpoiu Jul 18, 2019
b93cef5
misc: fix typo in build-webrtc.py
zxcpoiu Dec 4, 2020
268933f
api: migrate to spec-compliant stats
tmoldovan8x8 Dec 9, 2020
7eab1c3
ios: fix crash if device doesn't have a name
saghul Dec 18, 2020
5b72e7e
ios: fix typo
saghul Dec 18, 2020
0d5e32c
release 1.87.2
saghul Dec 18, 2020
00eaa9f
android: fix accessing the iceServers attribute
saghul Dec 23, 2020
b766fb5
android: adds error handling for screenTrack creation errors.
tmoldovan8x8 Jan 7, 2021
a1c4ded
api: fix non-compliant timestamp field in stats
saghul Jan 14, 2021
4c0522c
release 1.87.3
saghul Jan 14, 2021
d6ce093
doc: add missing comma in code snippet
mohit23x Feb 5, 2021
357f14b
android: add handling for surface view renderer init exceptions
tmoldovan8x8 Feb 19, 2021
1066b92
ios: screen sharing support
alexbumbu Mar 5, 2021
0ce27ed
android: handle null values in mandatory constraints
aj-65 Mar 9, 2021
2b2c8ff
ios: add extra flag in order to build M89
danjenkins Mar 10, 2021
9cf9378
ios: fix the logic of `dataChannelId` in iOS
xilin Mar 12, 2021
8d1c541
android: update WebRTC to M89
saghul Mar 12, 2021
8469794
tools: build macOS (x86_64) slices
saghul Mar 11, 2021
77b1285
ios: update WebRTC to M89
saghul Mar 10, 2021
e86b70c
ios: mark desktop stream as a screen cast
saghul Mar 12, 2021
d34a1e6
ios: fail to create desktop stream on macOS
saghul Mar 12, 2021
f2b66a4
tools: download bitcode from GH
saghul Mar 16, 2021
e299dd2
release 1.89.0
saghul Mar 16, 2021
051a1fe
tools: fix bitcode download URL
saghul Mar 16, 2021
15f37ea
release 1.89.1
saghul Mar 16, 2021
1343580
tools: make parsing version more resilient
saghul Mar 16, 2021
47ef207
build(deps): bump y18n from 4.0.0 to 4.0.1 in /examples/GumTestApp
dependabot[bot] Apr 1, 2021
6f7c2b5
build(deps): bump y18n from 4.0.0 to 4.0.1 in /examples/GumTestApp_macOS
dependabot[bot] Apr 1, 2021
05b7a06
ios: apply image orientation on getDisplayMedia implementation
saghul Apr 16, 2021
aa25836
android: fix detecting rotation when screen sharing
saghul Apr 22, 2021
f98efa3
android: fix crash when media projection is stopped
saghul Apr 22, 2021
d58dbb5
android: make orientation changes more resilient
saghul Apr 22, 2021
510d20d
api: initial implementation of MediaStreamTrack.getSettings
saghul Apr 23, 2021
25ae190
build(deps): bump ua-parser-js in /examples/GumTestApp
dependabot[bot] May 8, 2021
e35a617
build(deps): bump ua-parser-js in /examples/GumTestApp_macOS
dependabot[bot] May 8, 2021
a7d2737
build(deps): bump lodash in /examples/GumTestApp_macOS
dependabot[bot] May 8, 2021
e21569b
build(deps): bump lodash from 4.17.20 to 4.17.21 in /examples/GumTestApp
dependabot[bot] May 8, 2021
265339e
build(deps): bump hosted-git-info in /examples/GumTestApp
dependabot[bot] May 8, 2021
d1bb405
build(deps): bump hosted-git-info in /examples/GumTestApp_macOS
dependabot[bot] May 8, 2021
e366912
tools: fix downloadBitcode.sh
AdityaSantoso May 9, 2021
085a035
android: allow to retrieve stream from outside
manuquentin May 9, 2021
82b1a5e
misc: remove stray file
saghul May 18, 2021
3a3559e
examples: skip flipper
saghul May 18, 2021
1fbe7e1
core: refactor datachannel creation
saghul May 18, 2021
6c77279
core: update JS local/remote descriptions to match internal state
saghul May 19, 2021
4780ef5
release 1.89.2
saghul May 20, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 8 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
# Dependency directory
# https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git
node_modules
ios/RCTWebRTC.xcodeproj/xcuserdata
ios/RCTWebRTC.xcodeproj/project.xcworkspace
xcuserdata
project.xcworkspace
.DS_Store
.idea
android/build
Podfile.lock
WebRTC.xcframework
WebRTC.dSYMs

5 changes: 5 additions & 0 deletions .npmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Documentation/
examples/
apple/WebRTC.xcframework
apple/WebRTC.dSYMs

112 changes: 69 additions & 43 deletions Documentation/AndroidInstallation.md
Original file line number Diff line number Diff line change
@@ -1,70 +1,96 @@
## Android installation

`npm install react-native-webrtc --save`

1.) In `android/app/src/main/AndroidManifest.xml` add these permissions
Starting with React Native 0.60 auto-linking works out of the box, so there are no extra steps.

```xml
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus"/>

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
```
See a sample app in the `examples/GumTestApp` directory.

### Manual linking

This is not needed with React Native >= 0.60.

<details><summary>Show instructions</summary>

In `android/settings.gradle`, add WebRTCModule:

2.) In `android/settings.gradle`, includes WebRTCModule
```gradle
include ':WebRTCModule', ':app'
project(':WebRTCModule').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-webrtc/android')
```

3.) In `android/app/build.gradle`, add WebRTCModule to dependencies
In `android/app/build.gradle`, add WebRTCModule to dependencies:

```gradle
dependencies {
...
compile project(':WebRTCModule')
}

```

4.) In `android/app/src/main/java/com/xxx/MainApplication.java`
In your `MainApplication.java`:

After 0.19.0
```java
import com.oney.WebRTCModule.WebRTCModulePackage; // <--- Add this line
...
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new WebRTCModulePackage() // <--- Add this line
);
}
new com.oney.WebRTCModule.WebRTCModulePackage() // <-- Add this line
);
}
```
Before 0.18.0
```java
import com.oney.WebRTCModule.WebRTCModulePackage; // <--- Add this line
...

public class MainActivity extends Activity implements DefaultHardwareBackBtnHandler {
...
</details>

### Declaring permissions

Locate your app's `AndroidManifest.xml` file and add these permissions:

```xml
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
```

### Enable Java 8 support

In `android/app/build.gradle` add this inside the `android` section:

.addPackage(new MainReactPackage())
.addPackage(new WebRTCModulePackage()) // <--- Add this line
.setUseDeveloperSupport(BuildConfig.DEBUG)
```gradle
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
```

## FAQ

## CLEAN PROCESS
## Fatal Exception: java.lang.UnsatisfiedLinkError

if you encounter any build time errors, like "linking library not found",
try the cleaning steps below, and do it again carefully with every steps.
If you are getting this error:

1. remove npm module: `rm -rf $YourProject/node_modules/react-native-webrtc`
2. clean npm cache: `npm cache clean`
3. clear temporary build files ( depends on your env )
* ANDROID: clear intermediate files in `gradle buildDir`
* iOS: in xocde project, click `Product` -> `clean`
4. `npm install react-native-webrtc`
```
Fatal Exception: java.lang.UnsatisfiedLinkError: No implementation found for void org.webrtc.PeerConnectionFactory.nativeInitializeAndroidGlobals() (tried Java_org_webrtc_PeerConnectionFactory_nativeInitializeAndroidGlobals and Java_org_webrtc_PeerConnectionFactory_nativeInitializeAndroidGlobals__)
at org.webrtc.PeerConnectionFactory.nativeInitializeAndroidGlobals(PeerConnectionFactory.java)
at org.webrtc.PeerConnectionFactory.initialize(PeerConnectionFactory.java:306)
at com.oney.WebRTCModule.WebRTCModule.initAsync(WebRTCModule.java:79)
at com.oney.WebRTCModule.WebRTCModule.lambda$new$0(WebRTCModule.java:70)
at com.oney.WebRTCModule.-$$Lambda$WebRTCModule$CnyHZvkjDxq52UReGHUZlY0JsVw.run(-.java:4)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
```

Add this line to `android/gradle.properties`:

```
# This one fixes a weird WebRTC runtime problem on some devices.
# https://github.com/jitsi/jitsi-meet/issues/7911#issuecomment-714323255
android.enableDexingArtifactTransform.desugaring=false

```
95 changes: 95 additions & 0 deletions Documentation/BuildingWebRTC.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
# Building WebRTC

This document shows how to prepare a WebRTC build for its inclusion in this
plugin.

The build will be made with the `build-webrtc.py` Python script located in the
`tools/` directory.

## Preparing the build

Running the script with `--setup` will download all necessary tools for building
WebRTC. The script must be run with a target directory where all WebRTC source
code and resulting build artifacts will be placed. A `build_webrtc` directory
will be created containing it all.

The setup process only needs to be carried out once.

### iOS

```
python build-webrtc.py --setup --ios ~/src/
```

### Android

NOTE: Make sure you have the Java JDK installed beforehand. On Debian and
Ubuntu systems this can be accomplished by installing the `default-jdk-headless`
package.

```
python build-webrtc.py --setup --android ~/src/
```

## Selecting the branch

Once the setup process has finished, the target branch must be selected, also
adding any required cherry-picks. The following example shows how the M87 branch
was made:

```
cd ~/src/build_webrtc/webrtc/ios/src/
git checkout -b build-M87 refs/remotes/branch-heads/4280
#git cherry-pick ...
cd
```

Now the code is ready for building!

Notice that since M79 chromium changed the branch naming scheme, for example M87 is WebRTC branch 4280.
For a full list of branches, see: https://chromiumdash.appspot.com/branches

## Building

### iOS

If you have switched branches, first run:

```
python build-webrtc.py --sync --ios ~/src/
```

Now build it:

```
python build-webrtc.py --build --ios ~/src/
```

The build artifacts will be located in `~/src/build_webrtc/build/ios/`.

### Android

**NOTE**: WebRTC for Android can only be built on Linux at the moment.

If you have switched branches, first run:

```
python build-webrtc.py --sync --android ~/src/
```

Now build it:

```
python build-webrtc.py --build --android ~/src/
```

The build artifacts will be located in `~/src/build_webrtc/build/android/`.

### Making debug builds

Debug builds can be made by adding `--debug` together with `--build`. For
example, to make a debug iOS build:

```
python build-webrtc.py --build --ios --debug ~/src/
```
Binary file not shown.
Binary file removed Documentation/doc_install_xcode_embed_framework.png
Binary file not shown.
Binary file removed Documentation/doc_install_xcode_file_structure.png
Binary file not shown.
Binary file removed Documentation/doc_install_xcode_link_libraries.png
Binary file not shown.
Binary file removed Documentation/doc_install_xcode_search_path.png
Binary file not shown.
11 changes: 0 additions & 11 deletions Documentation/git-lfs-installation.md

This file was deleted.

Loading