From be56723cce4cd60ddc144ebe6ac20607675b3006 Mon Sep 17 00:00:00 2001
From: chenqiyang <1406175257@qq.com>
Date: 星期三, 17 七月 2024 09:33:38 +0800
Subject: [PATCH] 更新sdk

---
 HDLLinPhoneSDK(OC)/HDLLinPhoneSDK/HDLLinphoneManager.m |   44 ++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 42 insertions(+), 2 deletions(-)

diff --git "a/HDLLinPhoneSDK\357\274\210OC\357\274\211/HDLLinPhoneSDK/HDLLinphoneManager.m" "b/HDLLinPhoneSDK\357\274\210OC\357\274\211/HDLLinPhoneSDK/HDLLinphoneManager.m"
index f914edc..2420719 100644
--- "a/HDLLinPhoneSDK\357\274\210OC\357\274\211/HDLLinPhoneSDK/HDLLinphoneManager.m"
+++ "b/HDLLinPhoneSDK\357\274\210OC\357\274\211/HDLLinPhoneSDK/HDLLinphoneManager.m"
@@ -54,6 +54,8 @@
 //#import "configManager.h"
 
 #import "HDLLinphoneLog.h"
+#import "HDLLinphoneTimerManager.h"
+
 
 #define LINPHONE_LOGS_MAX_ENTRY 5000
 
@@ -68,6 +70,9 @@
 #define kIAPReady @"IAPReady"                          // no data
 
 #define IPAD (HDLLinphoneManager.runningOnIpad)
+
+#define RESET_VIDEO_ENABLE_TIMER_NAME @"hdlLinphoneVideoEnableTimer" //閲嶈瑙嗛寮�璁℃椂鍣ㄥ悕绉�
+#define RESET_VIDEO_DISABLE_TIMER_NAME @"hdlLinphoneVideoDisableTimer" //閲嶈瑙嗛鍏宠鏃跺櫒鍚嶇О
 
 static LinphoneCore *theLinphoneCore = nil;
 static HDLLinphoneManager *theLinphoneManager = nil;
@@ -832,7 +837,7 @@
 
 
 - (void)onCall:(LinphoneCall *)call StateChanged:(LinphoneCallState)state withMessage:(const char *)message {
-    NSLog(@"鍛煎彨鐘舵�侊細%u",state);
+    NSLog(@"鍛煎彨鐘舵�侊細%u,淇℃伅锛�%s",state,message);
     
     HDLLinPhoneSDK.instance.IsIncomingReceivedCallState=false;
 	// Handling wrapper
@@ -1153,12 +1158,22 @@
 			speaker_already_enabled = TRUE;
 		}
 	}
+    
+    if( state == LinphoneCallConnected ){
+        NSLog(@"杩炴帴浜�");
+//        [self enableVideoPlay:TRUE];
+    }
+    
 	if (state == LinphoneCallStreamsRunning) {
 		if (_speakerBeforePause) {
 			_speakerBeforePause = FALSE;
 			[self setSpeakerEnabled:TRUE];
 			speaker_already_enabled = TRUE;
 		}
+        if (!self.isResettingVideoEnable&&self.deviceType==HDLLPType_HDLSR) {
+            self.isResettingVideoEnable=YES;
+            [self resetVideoEnable];
+        }
 	}
 	if (state == LinphoneCallConnected && !mCallCenter) {
 		/*only register CT call center CB for connected call*/
@@ -1179,6 +1194,31 @@
 	 userInfo:dict];
 }
 
+/*閲嶆柊鎷夊彇瑙嗛娴侊紙瑙e喅鑷爺鍙瀵硅鍋跺皵鍑虹幇瑙嗛娴佹媺鍙栧緢鎱㈢殑闂锛�
+ */
+-(void)resetVideoEnable{
+    NSLog(@"閲嶇疆瑙嗛寮�鍏�");
+    __weak typeof(self) weakSelf = self;
+    [self enableVideoPlay:TRUE];
+//    [self enableVideoPlay:FALSE];
+//    [[HDLLinphoneTimerManager sharedInstance] scheduleTimerWithInterval:0.5 timerName:RESET_VIDEO_ENABLE_TIMER_NAME count:^(double count) {
+//
+//    } finished:^{
+//        NSLog(@"鎵撳紑瑙嗛");
+//        [weakSelf enableVideoPlay:TRUE];
+//    }];
+}
+
+/*鏄惁鍏佽瑙嗛鎾斁
+ */
+-(void)enableVideoPlay:(bool_t)enable{
+    LinphoneCall *call = linphone_core_get_current_call(LC);
+    LinphoneCallParams *call_params = linphone_core_create_call_params(LC,call);
+    linphone_call_params_enable_video(call_params, enable);
+    linphone_call_update(call, call_params);
+    linphone_call_params_unref(call_params);
+}
+
 static void linphone_iphone_call_state(LinphoneCore *lc, LinphoneCall *call, LinphoneCallState state,
 				       const char *message) {
 	[(__bridge HDLLinphoneManager *)linphone_core_cbs_get_user_data(linphone_core_get_current_callbacks(lc)) onCall:call StateChanged:state withMessage:message];
@@ -1196,7 +1236,7 @@
 }
 
 - (void)onGlobalStateChanged:(LinphoneGlobalState)state withMessage:(const char *)message {
-//	LOGI(@"onGlobalStateChanged: %d (message: %s)", state, message);
+	LOGI(@"onGlobalStateChanged: %d (message: %s)", state, message);
 
 	NSDictionary *dict = [NSDictionary
 			      dictionaryWithObjectsAndKeys:[NSNumber numberWithInt:state], @"state",

--
Gitblit v1.8.0