Changes for linphone SDK master

This commit is contained in:
QuentinArguillere 2023-07-24 15:23:46 +02:00
parent 94a31d774e
commit fd566c5a01
11 changed files with 49 additions and 49 deletions

View file

@ -65,7 +65,7 @@ import linphonesw
func searchAndAddMatchingContact(searchResult: SearchResult) -> Contact? {
if let friend = searchResult.friend {
if (searchResult.sourceFlags == MagicSearchSource.LdapServers.rawValue), let newContact = Contact(friend: friend.getCobject) {
if (searchResult.sourceFlags == MagicSearch.Source.LdapServers.rawValue), let newContact = Contact(friend: friend.getCobject) {
// Contact comes from LDAP, creating a new one
newContact.createdFromLdapOrProvisioning = true
return newContact
@ -142,7 +142,7 @@ import linphonesw
NotificationCenter.default.post(name: Notification.Name(kLinphoneMagicSearchStarted), object: self)
}
}
magicSearch.getContactsListAsync(filter: currentFilter, domain: domain, sourceFlags: sourceFlags, aggregation: MagicSearchAggregation.Friend)
magicSearch.getContactsListAsync(filter: currentFilter, domain: domain, sourceFlags: sourceFlags, aggregation: MagicSearch.Aggregation.Friend)
}

View file

@ -145,12 +145,12 @@ import AVFoundation
}
@objc func changeRouteToSpeaker() {
lc?.outputAudioDevice = lc?.audioDevices.first { $0.type == AudioDeviceType.Speaker }
lc?.outputAudioDevice = lc?.audioDevices.first { $0.type == AudioDevice.Kind.Speaker }
UIDevice.current.isProximityMonitoringEnabled = false
}
@objc func changeRouteToBluetooth() {
lc?.outputAudioDevice = lc?.audioDevices.first { $0.type == AudioDeviceType.BluetoothA2DP || $0.type == AudioDeviceType.Bluetooth }
lc?.outputAudioDevice = lc?.audioDevices.first { $0.type == AudioDevice.Kind.BluetoothA2DP || $0.type == AudioDevice.Kind.Bluetooth }
UIDevice.current.isProximityMonitoringEnabled = (lc!.callsNb > 0)
}
@ -160,7 +160,7 @@ import AVFoundation
@objc func isBluetoothAvailable() -> Bool {
for device in lc!.audioDevices {
if (device.type == AudioDeviceType.Bluetooth || device.type == AudioDeviceType.BluetoothA2DP) {
if (device.type == AudioDevice.Kind.Bluetooth || device.type == AudioDevice.Kind.BluetoothA2DP) {
return true;
}
}
@ -169,21 +169,21 @@ import AVFoundation
@objc func isSpeakerEnabled() -> Bool {
if let outputDevice = lc!.outputAudioDevice {
return outputDevice.type == AudioDeviceType.Speaker
return outputDevice.type == AudioDevice.Kind.Speaker
}
return false
}
@objc func isBluetoothEnabled() -> Bool {
if let outputDevice = lc!.outputAudioDevice {
return (outputDevice.type == AudioDeviceType.Bluetooth || outputDevice.type == AudioDeviceType.BluetoothA2DP)
return (outputDevice.type == AudioDevice.Kind.Bluetooth || outputDevice.type == AudioDevice.Kind.BluetoothA2DP)
}
return false
}
@objc func isReceiverEnabled() -> Bool {
if let outputDevice = lc!.outputAudioDevice {
return outputDevice.type == AudioDeviceType.Microphone
return outputDevice.type == AudioDevice.Kind.Microphone
}
return false
}

View file

@ -82,7 +82,7 @@ class ChatConversationTableViewModel {
return chatRoom!.historyEventsSize
}
func eventTypeIsOfInterestForOne(toOneRoom type: EventLogType) -> Bool {
func eventTypeIsOfInterestForOne(toOneRoom type: EventLog.Kind) -> Bool {
return type.rawValue == LinphoneEventLogTypeConferenceChatMessage.rawValue || type.rawValue == LinphoneEventLogTypeConferenceEphemeralMessageEnabled.rawValue || type.rawValue == LinphoneEventLogTypeConferenceEphemeralMessageDisabled.rawValue || type.rawValue == LinphoneEventLogTypeConferenceEphemeralMessageLifetimeChanged.rawValue
}

View file

@ -504,7 +504,7 @@ class ChatConversationViewModel {
let core = Core.getSwiftObject(cObject: LinphoneManager.getLc())
do{
let p = try core.createRecorderParams()
p.fileFormat = RecorderFileFormat.Mkv
p.fileFormat = Recorder.FileFormat.Mkv
ChatConversationViewModel.sharedModel.voiceRecorder = try core.createRecorder(params: p)
}catch{
Log.e(error.localizedDescription)

View file

@ -26,7 +26,7 @@ import linphonesw
static var core : Core { get { Core.get() } }
static private func applyAudioRouteChange( call: Call?, types: [AudioDeviceType], output: Bool = true) {
static private func applyAudioRouteChange( call: Call?, types: [AudioDevice.Kind], output: Bool = true) {
let typesNames = types.map { String(describing: $0) }.joined(separator: "/")
let currentCall = core.callsNb > 0 ? (call != nil) ? call : core.currentCall != nil ? core.currentCall : core.calls[0] : nil
@ -34,7 +34,7 @@ import linphonesw
Log.w("[Audio Route Helper] No call found, setting audio route on Core")
}
let conference = core.conference
let capability = output ? AudioDeviceCapabilities.CapabilityPlay : AudioDeviceCapabilities.CapabilityRecord
let capability = output ? AudioDevice.Capabilities.CapabilityPlay : AudioDevice.Capabilities.CapabilityRecord
var found = false
@ -75,21 +75,21 @@ import linphonesw
}
}
static private func changeCaptureDeviceToMatchAudioRoute(call: Call?, types: [AudioDeviceType]) {
static private func changeCaptureDeviceToMatchAudioRoute(call: Call?, types: [AudioDevice.Kind]) {
switch (types.first) {
case .Bluetooth :if (isBluetoothAudioRecorderAvailable()) {
Log.i("[Audio Route Helper] Bluetooth device is able to record audio, also change input audio device")
applyAudioRouteChange(call: call, types: [AudioDeviceType.Bluetooth], output: false)
applyAudioRouteChange(call: call, types: [AudioDevice.Kind.Bluetooth], output: false)
}
case .Headset, .Headphones : if (isHeadsetAudioRecorderAvailable()) {
Log.i("[Audio Route Helper] Headphones/headset device is able to record audio, also change input audio device")
applyAudioRouteChange(call:call,types: [AudioDeviceType.Headphones, AudioDeviceType.Headset], output:false)
applyAudioRouteChange(call:call,types: [AudioDevice.Kind.Headphones, AudioDevice.Kind.Headset], output:false)
}
default: applyAudioRouteChange(call:call,types: [AudioDeviceType.Microphone], output:false)
default: applyAudioRouteChange(call:call,types: [AudioDevice.Kind.Microphone], output:false)
}
}
static private func routeAudioTo( call: Call?, types: [AudioDeviceType]) {
static private func routeAudioTo( call: Call?, types: [AudioDevice.Kind]) {
let currentCall = call != nil ? call : core.currentCall != nil ? core.currentCall : (core.callsNb > 0 ? core.calls[0] : nil)
if (call != nil || currentCall != nil) {
let callToUse = call != nil ? call : currentCall
@ -102,23 +102,23 @@ import linphonesw
}
static func routeAudioToEarpiece(call: Call? = nil) {
routeAudioTo(call: call, types: [AudioDeviceType.Microphone]) // on iOS Earpiece = Microphone
routeAudioTo(call: call, types: [AudioDevice.Kind.Microphone]) // on iOS Earpiece = Microphone
}
static func routeAudioToSpeaker(call: Call? = nil) {
routeAudioTo(call: call, types: [AudioDeviceType.Speaker])
routeAudioTo(call: call, types: [AudioDevice.Kind.Speaker])
}
@objc static func routeAudioToSpeaker() {
routeAudioTo(call: nil, types: [AudioDeviceType.Speaker])
routeAudioTo(call: nil, types: [AudioDevice.Kind.Speaker])
}
static func routeAudioToBluetooth(call: Call? = nil) {
routeAudioTo(call: call, types: [AudioDeviceType.Bluetooth])
routeAudioTo(call: call, types: [AudioDevice.Kind.Bluetooth])
}
static func routeAudioToHeadset(call: Call? = nil) {
routeAudioTo(call: call, types: [AudioDeviceType.Headphones, AudioDeviceType.Headset])
routeAudioTo(call: call, types: [AudioDevice.Kind.Headphones, AudioDevice.Kind.Headset])
}
static func isSpeakerAudioRouteCurrentlyUsed(call: Call? = nil) -> Bool {
@ -131,7 +131,7 @@ import linphonesw
let conference = core.conference
let audioDevice = conference != nil && conference?.isIn == true ? conference!.outputAudioDevice : currentCall != nil ? currentCall!.outputAudioDevice : core.outputAudioDevice
Log.i("[Audio Route Helper] Playback audio currently in use is [\(audioDevice?.deviceName ?? "n/a")] with type (\(audioDevice?.type ?? .Unknown)")
return audioDevice?.type == AudioDeviceType.Speaker
return audioDevice?.type == AudioDevice.Kind.Speaker
}
static func isBluetoothAudioRouteCurrentlyUsed(call: Call? = nil) -> Bool {
@ -144,11 +144,11 @@ import linphonesw
let audioDevice = conference != nil && conference?.isIn == true ? conference!.outputAudioDevice : currentCall?.outputAudioDevice
Log.i("[Audio Route Helper] Playback audio device currently in use is [\(audioDevice?.deviceName ?? "n/a")] with type (\(audioDevice?.type ?? .Unknown)")
return audioDevice?.type == AudioDeviceType.Bluetooth
return audioDevice?.type == AudioDevice.Kind.Bluetooth
}
static func isBluetoothAudioRouteAvailable() -> Bool {
if let device = core.audioDevices.first(where: { $0.type == AudioDeviceType.Bluetooth && $0.hasCapability(capability: .CapabilityPlay) }) {
if let device = core.audioDevices.first(where: { $0.type == AudioDevice.Kind.Bluetooth && $0.hasCapability(capability: .CapabilityPlay) }) {
Log.i("[Audio Route Helper] Found bluetooth audio device [\(device.deviceName)]")
return true
}
@ -156,7 +156,7 @@ import linphonesw
}
static private func isBluetoothAudioRecorderAvailable() -> Bool {
if let device = core.audioDevices.first(where: { $0.type == AudioDeviceType.Bluetooth && $0.hasCapability(capability: .CapabilityRecord) }) {
if let device = core.audioDevices.first(where: { $0.type == AudioDevice.Kind.Bluetooth && $0.hasCapability(capability: .CapabilityRecord) }) {
Log.i("[Audio Route Helper] Found bluetooth audio recorder [\(device.deviceName)]")
return true
}
@ -164,7 +164,7 @@ import linphonesw
}
static func isHeadsetAudioRouteAvailable() -> Bool {
if let device = core.audioDevices.first(where: { ($0.type == AudioDeviceType.Headset||$0.type == AudioDeviceType.Headphones) && $0.hasCapability(capability: .CapabilityPlay) }) {
if let device = core.audioDevices.first(where: { ($0.type == AudioDevice.Kind.Headset||$0.type == AudioDevice.Kind.Headphones) && $0.hasCapability(capability: .CapabilityPlay) }) {
Log.i("[Audio Route Helper] Found headset/headphones audio device [\(device.deviceName)]")
return true
}
@ -172,7 +172,7 @@ import linphonesw
}
static private func isHeadsetAudioRecorderAvailable() -> Bool {
if let device = core.audioDevices.first(where: { ($0.type == AudioDeviceType.Headset||$0.type == AudioDeviceType.Headphones) && $0.hasCapability(capability: .CapabilityRecord) }) {
if let device = core.audioDevices.first(where: { ($0.type == AudioDevice.Kind.Headset||$0.type == AudioDevice.Kind.Headphones) && $0.hasCapability(capability: .CapabilityRecord) }) {
Log.i("[Audio Route Helper] Found headset/headphones audio recorder [\(device.deviceName)]")
return true
}
@ -183,7 +183,7 @@ import linphonesw
static func isReceiverEnabled() -> Bool {
if let outputDevice = core.outputAudioDevice {
return outputDevice.type == AudioDeviceType.Microphone
return outputDevice.type == AudioDevice.Kind.Microphone
}
return false
}

View file

@ -132,7 +132,7 @@ struct StatItemData {
case StatType.DOWNLOAD_BW: value.value = "\(stats.downloadBandwidth) kbits/s"
case StatType.UPLOAD_BW: value.value = "\(stats.uploadBandwidth) kbits/s"
case StatType.ICE: value.value = stats.iceState.toString()
case StatType.IP_FAM: value.value = stats.ipFamilyOfRemote == AddressFamily.Inet6 ? "IPv6" : "IPv4"
case StatType.IP_FAM: value.value = stats.ipFamilyOfRemote == Address.Family.Inet6 ? "IPv6" : "IPv4"
case StatType.SENDER_LOSS: value.value = String(format: "%.2f%",stats.senderLossRate)
case StatType.RECEIVER_LOSS: value.value = String(format: "%.2f%",stats.receiverLossRate)
case StatType.JITTER: value.value = String(format: "%.2f ms",stats.jitterBufferSizeMs)

View file

@ -95,7 +95,7 @@ class ConferenceViewModel {
Log.w("[Conference] Failed to find participant [\(participant.address!.asStringUriOnly())] in conferenceParticipants list")
}
},
onParticipantDeviceStateChanged: { (conference: Conference, device: ParticipantDevice, state: ParticipantDeviceState) in
onParticipantDeviceStateChanged: { (conference: Conference, device: ParticipantDevice, state: ParticipantDevice.State) in
if (conference.isMe(uri: device.address!)) {
if (state == .Present) {
Log.i("[Conference] Entered conference")

View file

@ -69,7 +69,7 @@ class ControlsViewModel {
},
onAudioDeviceChanged : { (core: Core, audioDevice: AudioDevice) -> Void in
Log.i("[Call Controls] Audio device changed: \(audioDevice.deviceName)")
self.nonEarpieceOutputAudioDevice.value = audioDevice.type != AudioDeviceType.Microphone // on iOS Earpiece = Microphone
self.nonEarpieceOutputAudioDevice.value = audioDevice.type != AudioDevice.Kind.Microphone // on iOS Earpiece = Microphone
self.updateSpeakerState()
self.updateBluetoothHeadsetState()
},

View file

@ -1,11 +1,11 @@
# Uncomment the next line to define a global platform for your project
platform :ios, '11.2'
platform :ios, '12.0'
source "https://gitlab.linphone.org/BC/public/podspec.git"
source "https://github.com/CocoaPods/Specs.git"
def all_pods
if ENV['PODFILE_PATH'].nil?
pod 'linphone-sdk', '~>5.2.79'
pod 'linphone-sdk', '~>5.3.0-alpha'
else
pod 'linphone-sdk', :path => ENV['PODFILE_PATH'] # local sdk
end
@ -112,7 +112,7 @@ post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.2'
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.0'
end
end
end

View file

@ -6162,7 +6162,7 @@
"-DENABLE_QRCODE=TRUE",
"-DENABLE_SMS_INVITE=TRUE",
"$(inherited)",
"-DLINPHONE_SDK_VERSION=\\\"5.2.79\\\"",
"-DLINPHONE_SDK_VERSION=\\\"5.3.0-alpha.234+871ded4\\\"",
);
OTHER_SWIFT_FLAGS = "$(inherited)";
PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone;
@ -6214,7 +6214,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
INFOPLIST_FILE = linphoneExtension/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 11.2;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MARKETING_VERSION = 5.3.0;
MTL_ENABLE_DEBUG_INFO = YES;
PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone.linphoneExtension;
@ -6256,7 +6256,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
INFOPLIST_FILE = linphoneExtension/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 11.2;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MARKETING_VERSION = 5.3.0;
MTL_ENABLE_DEBUG_INFO = NO;
PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone.linphoneExtension;
@ -6298,7 +6298,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
INFOPLIST_FILE = linphoneExtension/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 11.2;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MARKETING_VERSION = 5.3.0;
MTL_ENABLE_DEBUG_INFO = NO;
PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone.linphoneExtension;
@ -6341,7 +6341,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
INFOPLIST_FILE = linphoneExtension/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 11.2;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MARKETING_VERSION = 5.3.0;
MTL_ENABLE_DEBUG_INFO = NO;
PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone.linphoneExtension;
@ -6641,7 +6641,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
INFOPLIST_FILE = "$(SRCROOT)/msgNotificationService/Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 11.2;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
MARKETING_VERSION = 5.3.0;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
@ -6692,7 +6692,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
INFOPLIST_FILE = "$(SRCROOT)/msgNotificationService/Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 11.2;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
MARKETING_VERSION = 5.3.0;
MTL_ENABLE_DEBUG_INFO = NO;
@ -6743,7 +6743,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
INFOPLIST_FILE = "$(SRCROOT)/msgNotificationService/Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 11.2;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
MARKETING_VERSION = 5.3.0;
MTL_ENABLE_DEBUG_INFO = NO;
@ -6794,7 +6794,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
INFOPLIST_FILE = "$(SRCROOT)/msgNotificationService/Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 11.2;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
MARKETING_VERSION = 5.3.0;
MTL_ENABLE_DEBUG_INFO = NO;
@ -6849,7 +6849,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
INFOPLIST_FILE = msgNotificationContent/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 11.2;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
MARKETING_VERSION = 5.3.0;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
@ -6900,7 +6900,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
INFOPLIST_FILE = msgNotificationContent/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 11.2;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
MARKETING_VERSION = 5.3.0;
MTL_ENABLE_DEBUG_INFO = NO;
@ -6951,7 +6951,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
INFOPLIST_FILE = msgNotificationContent/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 11.2;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
MARKETING_VERSION = 5.3.0;
MTL_ENABLE_DEBUG_INFO = NO;
@ -7002,7 +7002,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
INFOPLIST_FILE = msgNotificationContent/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 11.2;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
MARKETING_VERSION = 5.1.0;
MTL_ENABLE_DEBUG_INFO = NO;

View file

@ -89,7 +89,7 @@ class NotificationService: UNNotificationServiceExtension {
stopCore()
NotificationService.log.message(message: "chat room invite received")
bestAttemptContent.title = NSLocalizedString("GC_MSG", comment: "")
if (chatRoom.hasCapability(mask:ChatRoomCapabilities.OneToOne.rawValue)) {
if (chatRoom.hasCapability(mask:ChatRoom.Capabilities.OneToOne.rawValue)) {
if (chatRoom.peerAddress?.displayName.isEmpty != true) {
bestAttemptContent.body = chatRoom.peerAddress!.displayName
} else {