The peerConnection get passed the tracks of the localStream. So to make
sure that the tracks are not released before the connection is closed it
will now done after closing the peerConnection.
Signed-off-by: Tim Krüger <t@timkrueger.me>
The in 'MagicPeerConnectionWrapper#removePeerConnection' used method
'PeerConnection#removeStream' was not longer available in the unified
plan. So to make sure that the local stream is disposed, it will now be
done in 'CallActivity#hangup'.
Resolves: #1773
See: [1]
[1] https://webrtc.org/getting-started/unified-plan-transition-guide
Signed-off-by: Tim Krüger <t@timkrueger.me>
if wired headset is plugged in hide earpiece and speaker icons
if wired headset is plugged out show earpiece and speaker icons
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
* On devices with Android 8.0 (Oreo) or later, use system UI to change notification settings.
* Refactor sound selection code to cover differences between old (pre Oreo) and new devices.
* Always use the same notification channel for calls (Oreo or later).
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
this is a dirty workaround for issue #1677
Somehow onUserLeaveHint is executed when the user starts a videocall. If PIP is disabled, the logic inside enterPipMode would finish the activity right after it was started.
This workaround suppresses the execution of enterPipMode right after the activity was started.
However if a user would press the home button in the first three seconds, the call would continue in background without the ability to recover the UI.
To better fix this bug it must be found out why onUserLeaveHint is executed on start (this should not happen!).
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
This implements pinch to zoom in the full range supported by the
camera HAL, fixes aspect ration handling on rotation, and sets up
for multiple resolution and aspect ratio support.
Signed-off-by: Adam Serbinski <adam@serbinski.com>
no blurring or other background color calculation is done any more. BlurPostProcessor took too long for the used image size. If this is a requirement in the future, use ScalingBlurPostprocessor instead of BlurPostprocessor (so fresco lib fork from nextcloud has to be updated!), see https://frescolib.org/docs/modifying-image.html
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
on some devices (reproduced with Pixel2 on api level30) the own video became visible when the pip view was tapped. This fix should hide the own video.
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>