54 Commits

Author SHA1 Message Date
jenkinsopenvidu
30f6587d13 Release 2.27.0 2023-05-03 11:38:36 +00:00
pabloFuente
7a25998465 Update openvidu-android sdkVersion RPC param to 2.26.0 2023-04-13 15:29:38 +02:00
pabloFuente
3c21dcd90d openvidu-android: use wildcard in webrtc dependency 2023-02-28 11:03:17 +01:00
pabloFuente
435bb758bb Update openvidu-android and openvidu-react-native for e2e tests 2023-01-09 17:03:57 +01:00
pabloFuente
46dc6fe1d2 Update openvidu-android build.gradle files 2023-01-04 01:07:45 +01:00
Carlos Santos
722f8de465 openvidu-android: Updated webrtc sdk
Updated webrtc sdk using an alternative repository https://github.com/webrtc-sdk/android instead of the deprecated and official Google library
openvidu-android: Downgraded appcompat-resources to 1.4.2

Downgraded appcompat-resources to 1.4.2 for avoiding the targetSdk and compileSdk update
openvidu-android: Removed enableDtlsSrtp from PeerConnection config

enableDtlsSrtp is not longer exported as public configuration parameter  (https://webrtc-review.googlesource.com/c/src/+/234864/10/sdk/android/api/org/webrtc/PeerConnection.java)
2022-11-03 17:40:30 +01:00
pabloFuente
6389a9ec72 openvidu-android: remove TODOs after 2.23.0 2022-09-29 10:50:37 +02:00
pabloFuente
fd2fc0b50c Update Gradle 2022-09-21 15:38:04 +02:00
pabloFuente
3efe5b8498 Add warning comments in APPLICATION_SERVER_URL pointing to demos 2022-09-21 15:28:11 +02:00
pabloFuente
266fc9020d openvidu-android: remove usesCleartextTraffic from AndroidManifest.xml 2022-09-20 17:01:20 +02:00
pabloFuente
f2c459086e openvidu-android: use demos.openvidu.io as default application server 2022-09-20 16:26:21 +02:00
pabloFuente
e221a010e7 Update all tutorials to support NGINX proxy 2022-08-24 13:03:15 +02:00
pabloFuente
eb1629882e openvidu-android: same code as in openvidu.io-docs snippets 2022-08-02 11:52:59 +02:00
pabloFuente
7f313bc86b openvidu-android: change default value of application_server_url constant 2022-08-01 22:56:41 +02:00
pabloFuente
2e1440578d openvidu-android: remove direct communication with openvidu-server 2022-08-01 22:55:39 +02:00
pabloFuente
23b79a61f8 openvidu-android: update to use sample application server 2022-07-15 13:58:05 +02:00
Juan Navarro
024d5e3423 openvidu-android: Bump dependency versions
Android Studio notified about newer dependency versions available.
2022-06-16 16:59:31 +02:00
Juan Navarro
72bf1a4d77 openvidu-android: Fix warnings on manifest
Android Studio complains that <uses-permission> should appear
before <application>
2022-06-16 16:58:48 +02:00
Juan Navarro
8e4a12b72b openvidu-android: Bump targetSdk to 31
* minSdk: API level 21 (Android 5) required by
  org.webrtc:google-webrtc:1.0.32006 (Google WebRTC).

* targetSdk: API level 31 (Android 12) required by Google Play Store,
  since August 1, 2022.
  See: https://support.google.com/googleplay/android-developer/answer/11926878

* compileSdkVersion: Should match "targetSdk".

The upgrade also required adding `android:exported` to the manifest.
2022-06-16 16:57:54 +02:00
Juan Navarro
2bab009d77 openvidu-android: Add formatting & code style settings for Android Studio 2022-06-15 19:18:35 +02:00
Juan Navarro
5e2114a9a8 openvidu-android: Use demos.openvidu.io by default
For consistency with the iOS app, do the same by default: work with
demos.openvidu.io
2022-06-15 19:17:35 +02:00
Juan Navarro
2b6d94f226 openvidu-android: Use customIceServers instead of standalone vars for TURN config
Retain support for OpenVidu v2.22 and older; these legacy properties
will stop being needed starting from OpenVidu v2.23, where
`customIceServers` will always contain all necessary TURN info.
2022-06-15 19:16:54 +02:00
Juan Navarro
8645811b06 openvidu-android: Handle RPC error messages from server 2022-06-03 16:07:41 +02:00
pabloFuente
ef6f8abb69 openvidu-android: fix lacking 'sdkVersion' RPC parameter 2022-05-24 14:35:23 +02:00
Juan Navarro
4bcd06c235 android: Only publish/receive video if setting SDP doesn't fail
A bad SDP will be rejected by the WebRTC implementation, so no further
publish/subscribe operations should be done on failure.

This expands on the idea of
https://github.com/OpenVidu/openvidu-tutorials/pull/174
and also simplifies implementations of CustomSdpObserver: there is no
need to inherit its methods just for logging, as CustomSdpObserver
already logs everything on its default implementation.
2022-05-18 13:24:07 +02:00
Juan Navarro
81b7c492d1 android: CustomSdpObserver: Drop custom method "log"; use Log.e for failures
Having a custom "log()" method didn't bring many advantages, and
actually lacked needed flexibility. We'd like to log success messages
to "debug", but failure messages to the "error" level.
2022-05-18 13:24:07 +02:00
Juan Navarro
fcb783c3ad android: Get TURN settings from server and use them in client 2022-05-18 13:16:28 +02:00
Juan Navarro
b925a64358 android: Update project files from Android Studio 2021.2.1
Updates that got applied automatically to the project files when Android
Studio 2021.2.1 opened the project and offered to update it.
2022-05-18 13:16:28 +02:00
Juan Navarro
f3a53449d1 android: Use GitHub gitignore template for Android
https://github.com/github/gitignore/blob/main/Android.gitignore
2022-05-18 13:16:28 +02:00
Tapani Rantakokko
9c8f45cd77
Fixed an attempt to publish video after failure to set the local description. (#174)
When preparing to publish a video stream from an Android client app to OpenVidu session, it is possible that creating video offer succeeds but then setting it as the local description fails.

An example: Android client is configured to use a hardware video encoder, but a particular device does not have one. As a result, SDP description is created without some necessary video elements, and setting it as the local description fails at runtime.

The original code did not check the result of setting a local description before it went on to attempt publishing video. This resulted to breaking the whole OpenVidu session with rather severe consequences:
- various errors in server and client logs
- every participant's video streams stuck
- the session cannot be properly closed (it becomes a ghost session)

This simple fix checks if setting the local description succeeds, and only then attempts to publish video stream.

While this demo application does not configure HW encoder in use, other developers will use it as a basis for their apps. In addition, there can be other reasons why setting local description may fail. Hence, it should be checked.
2022-05-18 13:15:56 +02:00
Juan Navarro
aac2f5e80c android: add stored remote ICE candidates after SDP Offer/Answer finishes
ICE candidates are emitted asynchronously, so by the time that SDP messages
have been exchanged, some remote candidates might have already arrived and
stored in temporary variables.

These candidates must be added to the PeerConnection, to make sure that none
is left out!

Corresponds to equivalent code in OpenVidu-Browser:
https://github.com/OpenVidu/openvidu/blob/v2.20.0/openvidu-browser/src/OpenViduInternal/WebRtcPeer/WebRtcPeer.ts#L140-L148
2021-11-05 15:47:36 +01:00
Juan Navarro
0f64ad7a62 android: do NOT mix addTrack() and addTransceiver() APIs
The PeerConnection API went through a transition from Track-based to
Transceiver-based API. Nowadays, it's a very common mistake to mix them
inconsistently, especially caused by Google- or StackOverflow-based
development, because examples online tend to be old and BAD.

Corresponds to equivalent code in OpenVidu-Browser:
https://github.com/OpenVidu/openvidu/blob/v2.20.0/openvidu-browser/src/OpenViduInternal/WebRtcPeer/WebRtcPeer.ts#L187-L248
2021-11-05 15:47:24 +01:00
csantosm
a3ee7df193 openvidu-adnroid: Fixed unexpected exception 2021-06-08 13:47:37 +02:00
pabloFuente
cce68e7b14 openvidu-android compatible with both subscription directions 2021-06-03 12:01:24 +02:00
pabloFuente
09f7592868 openvidu-android: updated config files 2021-06-03 11:46:26 +02:00
pabloFuente
ee7994c149 openvidu-android: updated to support openvidu-server refactoring 2021-03-29 11:16:25 +02:00
pabloFuente
a24ecac4e4 Merge branch 'develop' 2020-11-12 23:40:18 +01:00
csantosm
e5166450d0 Updated tutorials with new OpenVidu API
WIP: Test the tutorials which use Java or Node client
2020-11-10 17:08:18 +01:00
csantosm
830de80f92 openvidu-android: Added IDE config 2020-11-10 15:43:06 +01:00
csantosm
f91a69706d openvidu-android: Removed unnecesary code lines in LocalParticipant 2020-11-09 17:44:13 +01:00
csantosm
7826ee1eb6 openvidu-android: Updated webrtc dependency 2020-08-10 13:39:36 +02:00
csantosm
8bb8321490 openvidu-android: Fixed crash leaving session 2020-08-10 13:31:00 +02:00
ruben
f3113e9e63 Some fixes 2020-05-13 16:11:28 +02:00
pabloFuente
936aa92178 openvidu-android: not crash if clientData is not a JsonObject with specific property 2020-04-24 19:30:38 +02:00
pabloFuente
33e8e78537 openvidu-android: build.gradle dependencie update 2020-03-17 14:23:30 +01:00
pabloFuente
c34b85cd67 openvidu-android: getToken() refactoring 2019-09-18 16:56:24 +02:00
pabloFuente
b467f17607 openvidu-android: project rename 2019-09-18 15:37:20 +02:00
CSantos
5a32c7cb5f openvidu-ionic: Updated dependencies 2019-09-18 12:41:07 +02:00
CSantos
626f8b100e openvidu-android: Updated dependencies 2019-09-16 15:29:08 +02:00
pabloFuente
7e685c38fb openvidu-android: minor refactoring 2019-09-16 14:28:40 +02:00