mirror of
https://github.com/nextcloud/talk-android
synced 2025-03-06 22:29:09 +00:00
Merge pull request #3666 from nextcloud/lib/webRtcLibUpdate121.6167.0
webRtc v121.6167.0 followup
This commit is contained in:
commit
81291d31c5
@ -144,7 +144,7 @@ import com.nextcloud.talk.viewmodels.CallRecordingViewModel.RecordingConfirmStop
|
|||||||
import com.nextcloud.talk.viewmodels.CallRecordingViewModel.RecordingErrorState
|
import com.nextcloud.talk.viewmodels.CallRecordingViewModel.RecordingErrorState
|
||||||
import com.nextcloud.talk.viewmodels.CallRecordingViewModel.RecordingStartedState
|
import com.nextcloud.talk.viewmodels.CallRecordingViewModel.RecordingStartedState
|
||||||
import com.nextcloud.talk.viewmodels.CallRecordingViewModel.RecordingStartingState
|
import com.nextcloud.talk.viewmodels.CallRecordingViewModel.RecordingStartingState
|
||||||
import com.nextcloud.talk.webrtc.MagicWebRTCUtils
|
import com.nextcloud.talk.webrtc.WebRTCUtils
|
||||||
import com.nextcloud.talk.webrtc.PeerConnectionWrapper
|
import com.nextcloud.talk.webrtc.PeerConnectionWrapper
|
||||||
import com.nextcloud.talk.webrtc.PeerConnectionWrapper.PeerConnectionObserver
|
import com.nextcloud.talk.webrtc.PeerConnectionWrapper.PeerConnectionObserver
|
||||||
import com.nextcloud.talk.webrtc.WebRtcAudioManager
|
import com.nextcloud.talk.webrtc.WebRtcAudioManager
|
||||||
@ -727,7 +727,7 @@ class CallActivity : CallBaseActivity() {
|
|||||||
cameraEnumerator = if (camera2EnumeratorIsSupported) {
|
cameraEnumerator = if (camera2EnumeratorIsSupported) {
|
||||||
Camera2Enumerator(this)
|
Camera2Enumerator(this)
|
||||||
} else {
|
} else {
|
||||||
Camera1Enumerator(MagicWebRTCUtils.shouldEnableVideoHardwareAcceleration())
|
Camera1Enumerator(WebRTCUtils.shouldEnableVideoHardwareAcceleration())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -26,7 +26,6 @@
|
|||||||
package com.nextcloud.talk.application
|
package com.nextcloud.talk.application
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.os.Build
|
|
||||||
import android.os.Build.VERSION.SDK_INT
|
import android.os.Build.VERSION.SDK_INT
|
||||||
import android.os.Build.VERSION_CODES.P
|
import android.os.Build.VERSION_CODES.P
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
@ -69,7 +68,6 @@ import com.nextcloud.talk.utils.NotificationUtils
|
|||||||
import com.nextcloud.talk.utils.database.arbitrarystorage.ArbitraryStorageModule
|
import com.nextcloud.talk.utils.database.arbitrarystorage.ArbitraryStorageModule
|
||||||
import com.nextcloud.talk.utils.database.user.UserModule
|
import com.nextcloud.talk.utils.database.user.UserModule
|
||||||
import com.nextcloud.talk.utils.preferences.AppPreferences
|
import com.nextcloud.talk.utils.preferences.AppPreferences
|
||||||
import com.nextcloud.talk.webrtc.MagicWebRTCUtils
|
|
||||||
import com.vanniktech.emoji.EmojiManager
|
import com.vanniktech.emoji.EmojiManager
|
||||||
import com.vanniktech.emoji.google.GoogleEmojiProvider
|
import com.vanniktech.emoji.google.GoogleEmojiProvider
|
||||||
import de.cotech.hw.SecurityKeyManager
|
import de.cotech.hw.SecurityKeyManager
|
||||||
@ -79,8 +77,6 @@ import net.sqlcipher.database.SQLiteDatabaseHook
|
|||||||
import okhttp3.OkHttpClient
|
import okhttp3.OkHttpClient
|
||||||
import org.conscrypt.Conscrypt
|
import org.conscrypt.Conscrypt
|
||||||
import org.webrtc.PeerConnectionFactory
|
import org.webrtc.PeerConnectionFactory
|
||||||
import org.webrtc.voiceengine.WebRtcAudioManager
|
|
||||||
import org.webrtc.voiceengine.WebRtcAudioUtils
|
|
||||||
import java.security.Security
|
import java.security.Security
|
||||||
import java.util.concurrent.TimeUnit
|
import java.util.concurrent.TimeUnit
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
@ -132,14 +128,6 @@ class NextcloudTalkApplication : MultiDexApplication(), LifecycleObserver {
|
|||||||
//region private methods
|
//region private methods
|
||||||
private fun initializeWebRtc() {
|
private fun initializeWebRtc() {
|
||||||
try {
|
try {
|
||||||
if (MagicWebRTCUtils.HARDWARE_AEC_EXCLUDE_SET.contains(Build.MODEL)) {
|
|
||||||
WebRtcAudioUtils.setWebRtcBasedAcousticEchoCanceler(true)
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!MagicWebRTCUtils.OPEN_SL_ES_INCLUDE_SET.contains(Build.MODEL)) {
|
|
||||||
WebRtcAudioManager.setBlacklistDeviceForOpenSLESUsage(true)
|
|
||||||
}
|
|
||||||
|
|
||||||
PeerConnectionFactory.initialize(
|
PeerConnectionFactory.initialize(
|
||||||
PeerConnectionFactory.InitializationOptions.builder(this)
|
PeerConnectionFactory.InitializationOptions.builder(this)
|
||||||
.createInitializationOptions()
|
.createInitializationOptions()
|
||||||
|
@ -494,7 +494,12 @@ class NotificationWorker(context: Context, workerParams: WorkerParameters) : Wor
|
|||||||
|
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||||
when (pushMessage.type) {
|
when (pushMessage.type) {
|
||||||
TYPE_CHAT, TYPE_ROOM, TYPE_RECORDING, TYPE_REMINDER, TYPE_ADMIN_NOTIFICATIONS, TYPE_REMOTE_TALK_SHARE -> {
|
TYPE_CHAT,
|
||||||
|
TYPE_ROOM,
|
||||||
|
TYPE_RECORDING,
|
||||||
|
TYPE_REMINDER,
|
||||||
|
TYPE_ADMIN_NOTIFICATIONS,
|
||||||
|
TYPE_REMOTE_TALK_SHARE -> {
|
||||||
notificationBuilder.setChannelId(
|
notificationBuilder.setChannelId(
|
||||||
NotificationUtils.NotificationChannels.NOTIFICATION_CHANNEL_MESSAGES_V4.name
|
NotificationUtils.NotificationChannels.NOTIFICATION_CHANNEL_MESSAGES_V4.name
|
||||||
)
|
)
|
||||||
|
@ -367,7 +367,7 @@ public class PeerConnectionWrapper {
|
|||||||
SessionDescription sessionDescriptionWithPreferredCodec;
|
SessionDescription sessionDescriptionWithPreferredCodec;
|
||||||
|
|
||||||
boolean isAudio = false;
|
boolean isAudio = false;
|
||||||
String sessionDescriptionStringWithPreferredCodec = MagicWebRTCUtils.preferCodec(sdp, "H264", isAudio);
|
String sessionDescriptionStringWithPreferredCodec = WebRTCUtils.preferCodec(sdp, "H264", isAudio);
|
||||||
|
|
||||||
sessionDescriptionWithPreferredCodec = new SessionDescription(
|
sessionDescriptionWithPreferredCodec = new SessionDescription(
|
||||||
SessionDescription.Type.fromCanonicalForm(type),
|
SessionDescription.Type.fromCanonicalForm(type),
|
||||||
@ -574,7 +574,7 @@ public class PeerConnectionWrapper {
|
|||||||
ncMessagePayload.setType(type);
|
ncMessagePayload.setType(type);
|
||||||
|
|
||||||
SessionDescription sessionDescriptionWithPreferredCodec;
|
SessionDescription sessionDescriptionWithPreferredCodec;
|
||||||
String sessionDescriptionStringWithPreferredCodec = MagicWebRTCUtils.preferCodec
|
String sessionDescriptionStringWithPreferredCodec = WebRTCUtils.preferCodec
|
||||||
(sessionDescription.description,
|
(sessionDescription.description,
|
||||||
"H264", false);
|
"H264", false);
|
||||||
sessionDescriptionWithPreferredCodec = new SessionDescription(
|
sessionDescriptionWithPreferredCodec = new SessionDescription(
|
||||||
|
@ -38,42 +38,9 @@ import java.util.*;
|
|||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
public class MagicWebRTCUtils {
|
public class WebRTCUtils {
|
||||||
private static final String TAG = "MagicWebRTCUtils";
|
private static final String TAG = "MagicWebRTCUtils";
|
||||||
|
|
||||||
/* AEC blacklist and SL_ES_WHITELIST are borrowed from Signal
|
|
||||||
https://github.com/WhisperSystems/Signal-Android/blob/551470123d006b76a68d705d131bb12513a5e683/src/org/thoughtcrime/securesms/ApplicationContext.java
|
|
||||||
*/
|
|
||||||
public static Set<String> HARDWARE_AEC_EXCLUDE_SET = new HashSet<String>() {{
|
|
||||||
add("D6503"); // Sony Xperia Z2 D6503
|
|
||||||
add("ONE A2005"); // OnePlus 2
|
|
||||||
add("MotoG3"); // Moto G (3rd Generation)
|
|
||||||
add("Nexus 6P"); // Nexus 6p
|
|
||||||
add("Pixel"); // Pixel
|
|
||||||
add("Pixel XL"); // Pixel XL
|
|
||||||
add("MI 4LTE"); // Xiami Mi4
|
|
||||||
add("Redmi Note 3"); // Redmi Note 3
|
|
||||||
add("Redmi Note 4"); // Redmi Note 4
|
|
||||||
add("SM-G900F"); // Samsung Galaxy S5
|
|
||||||
add("g3_kt_kr"); // LG G3
|
|
||||||
add("GT-I9195"); // Samsung Galaxy S4 Mini 4G LTE
|
|
||||||
add("SM-G930F"); // Samsung Galaxy S7
|
|
||||||
add("Xperia SP"); // Sony Xperia SP
|
|
||||||
add("Nexus 6"); // Nexus 6
|
|
||||||
add("ONE E1003"); // OnePlus X
|
|
||||||
add("One"); // OnePlus One
|
|
||||||
add("Moto G5");
|
|
||||||
add("Moto G (5S) Plus");
|
|
||||||
add("Moto G4");
|
|
||||||
add("TA-1053");
|
|
||||||
add("E5823"); // Sony Z5 Compact
|
|
||||||
}};
|
|
||||||
|
|
||||||
public static Set<String> OPEN_SL_ES_INCLUDE_SET = new HashSet<String>() {{
|
|
||||||
add("Pixel");
|
|
||||||
add("Pixel XL");
|
|
||||||
}};
|
|
||||||
|
|
||||||
private static final Set<String> HARDWARE_ACCELERATION_DEVICE_EXCLUDE_SET = new HashSet<String>() {{
|
private static final Set<String> HARDWARE_ACCELERATION_DEVICE_EXCLUDE_SET = new HashSet<String>() {{
|
||||||
add("GT-I9100"); // Samsung Galaxy S2
|
add("GT-I9100"); // Samsung Galaxy S2
|
||||||
add("GT-N8013"); // Samsung Galaxy Note 10.1
|
add("GT-N8013"); // Samsung Galaxy Note 10.1
|
Loading…
Reference in New Issue
Block a user