* ios: Picture-in-picture while in calls
* simplify
* improvements
* back button and lots of small issues
* layout
* padding
* back button
* animation, padding, fullscreen
* end active call button
* removed unused code
* unused line
* transition
* better
* better
* deinit PiP controller
* stop camera after call end
* formatting
* stop capture if active
---------
Co-authored-by: Avently <avently@local>
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
* ios: fix callkit calls via NSE
* comments
* more reliable NSE start
* remove public logs, different RTS parameters for NSE
* only suspend NSE if we have chat controller, to avoid crashes if suspension attempted without controller created
* comments
* fix
* simplify
* android: keep screen on while playing/recording media
* ios: keep screen on while playing/recording media
* different implementation on ios
* Revert "android: keep screen on while playing/recording media"
This reverts commit d291f006e9.
* different implementation on android
* refactor
---------
Co-authored-by: Avently <avently@local>
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
* ios: native WebRTC
* add video showing
* make async function better working with main thread
* wrapped code in main actor, just in case
* small change
* a little better
* enable relay
* removed unused code
* allow switching calls
* testing
* enable encryption
* testing more
* another test
* one more test
* fix remote unencrypted video
* deleted unused code related to PixelBuffer
* added MediaEncryption playground
* better playground
* better playground
* fixes
* use new encryption api
* media encryption works
* small changes
* added lib dependency
* use commit reference for lib instead of version
* video format, PIP size
* remove sample.js
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
* mobile: webrtc calls state machine
* android: call api types
* android: call api methods
* ios: connect calls via chat UI (WIP)
* ios: webrtc call connects via UI
* core: update call duration/status when x.call.end is received
* improve call UX/UI
* audio calls
* different overlay for audio calls
* toggle video/audio in the call