From: zhihuishixun4 <2393524978@qq.com> Date: Tue, 11 Jul 2023 06:54:47 +0000 (+0800) Subject: jrtc 未完成,先提交 X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=f48ac9bc87703395acb39e04bf6165c13fd1e42f;p=mirrors%2F8910_C55.git jrtc 未完成,先提交 --- diff --git a/MS_Code/MS_MMI_Main/source/mmi_app/app/jrtc_video_call/c/mmi_jrtc_client.c b/MS_Code/MS_MMI_Main/source/mmi_app/app/jrtc_video_call/c/mmi_jrtc_client.c index a0fe2289..1c82ef30 100644 --- a/MS_Code/MS_MMI_Main/source/mmi_app/app/jrtc_video_call/c/mmi_jrtc_client.c +++ b/MS_Code/MS_MMI_Main/source/mmi_app/app/jrtc_video_call/c/mmi_jrtc_client.c @@ -36,7 +36,6 @@ typedef struct } video_call_jrtc_t; -extern MMI_VIDEO_CALL_PARAMS_T s_video_call_params; static video_call_jrtc_t s_video_call_jrtc = {0}; @@ -169,7 +168,7 @@ static void mmi_video_call_jrtc_clean_up(void) memset(&s_video_call_jrtc, 0x0, sizeof(video_call_jrtc_t)); - if ((MMI_VIDEO_CALL_STATE_ACTIVE == s_video_call_params.state) && (MMI_VIDEO_CALL_TYPE_VIDEO == s_video_call_params.calltype)) + if ((MMI_VIDEO_CALL_STATE_ACTIVE == mmi_video_call_state_get()) && (MMI_VIDEO_CALL_TYPE_VIDEO == mmi_video_call_calltype_get())) { //lcd } @@ -191,10 +190,14 @@ static void lcd_show(video_call_jrtc_image_t * image) uint32 i; BLOCKCFG_T cfg; + SCI_TRACE_LOW("[@CHENG_VIDEO_CALL][%s][%d]: \n", __FUNCTION__, __LINE__); + LCD_DisableAllBlock(MAIN_LCD_ID); LCD_EnterSleep(MAIN_LCD_ID, FALSE); GPIO_SetLcdBackLight(TRUE); + SCI_TRACE_LOW("[@CHENG_VIDEO_CALL][%s][%d]: \n", __FUNCTION__, __LINE__); + cfg.end_x = 240-1; cfg.start_x = cfg.end_x + 1 - width; cfg.start_y = 0; @@ -204,14 +207,17 @@ static void lcd_show(video_call_jrtc_image_t * image) case 0://I420 cfg.resolution = LCD_RESOLUTION_YUV420; cfg.width = width; + SCI_TRACE_LOW("[@CHENG_VIDEO_CALL][%s][%d]: \n", __FUNCTION__, __LINE__); break; case 2://UYVY cfg.resolution = LCD_RESOLUTION_YUV422; cfg.width = width * 2; + SCI_TRACE_LOW("[@CHENG_VIDEO_CALL][%s][%d]: \n", __FUNCTION__, __LINE__); break; default: + SCI_TRACE_LOW("[@CHENG_VIDEO_CALL][%s][%d]: \n", __FUNCTION__, __LINE__); return; } cfg.colorkey_en = FALSE; @@ -221,13 +227,19 @@ static void lcd_show(video_call_jrtc_image_t * image) cfg.type = 1; //0:OSD; 1:image cfg.rotation = 0; + SCI_TRACE_LOW("[@CHENG_VIDEO_CALL][%s][%d]: \n", __FUNCTION__, __LINE__); + if (LCD_RESOLUTION_YUV420 == cfg.resolution) { + SCI_TRACE_LOW("[@CHENG_VIDEO_CALL][%s][%d]: \n", __FUNCTION__, __LINE__); + LCD_SetBlockBuffer(MAIN_LCD_ID, 0, (uint32*)yuv_addr); LCD_SetUVBuffer(MAIN_LCD_ID, 0, (uint32*)(yuv_addr + width * height));//YUV420p } else if (LCD_RESOLUTION_YUV422 == cfg.resolution) { + SCI_TRACE_LOW("[@CHENG_VIDEO_CALL][%s][%d]: \n", __FUNCTION__, __LINE__); + //LCD_SetBlockBuffer(0, 0, yuv_addr->yaddr);//UYVY LCD_SetBlockBuffer(0, 0, yuv_addr);//UYVY } @@ -282,14 +294,23 @@ static void mmi_video_call_jrtc_on_state(uint32 in) break; case JRTC_TALKING: - if(MMI_VIDEO_CALL_STATE_ACTIVE != s_video_call_params.state) { - mmi_video_call_connect(); - } + video_call_jrtc_image_t * img = &(s_video_call_jrtc.video_frame); + + SCI_TRACE_LOW("[@CHENG_VIDEO_CALL][%s][%d]: \n", __FUNCTION__, __LINE__); + + //if(MMI_VIDEO_CALL_STATE_ACTIVE != mmi_video_call_state_get()) + //{ + // mmi_video_call_connect(); + //} - if (MMI_VIDEO_CALL_TYPE_VIDEO == s_video_call_params.calltype) + SCI_TRACE_LOW("[@CHENG_VIDEO_CALL][%s][%d]: %d,%d,%d\n", __FUNCTION__, __LINE__, img->format, img->get, img->put); + + if (MMI_VIDEO_CALL_TYPE_VIDEO == mmi_video_call_calltype_get()) { - video_call_jrtc_image_t * img = &(s_video_call_jrtc.video_frame); + //video_call_jrtc_image_t * img = &(s_video_call_jrtc.video_frame); + + SCI_TRACE_LOW("[@CHENG_VIDEO_CALL][%s][%d]: get=%d,put=%d\n", __FUNCTION__, __LINE__, img->get, img->put); if (img->get != img->put) { @@ -297,6 +318,7 @@ static void mmi_video_call_jrtc_on_state(uint32 in) img->get = img->put; // reset } } + } break; default: @@ -315,14 +337,16 @@ static int8 mmi_video_call_jrtc_open(const char* roomid, MMI_VIDEO_CALL_TYPE_E c { if (MMI_VIDEO_CALL_TYPE_VIDEO == calltype) { - s_video_call_jrtc.video_frame.width = s_video_call_jrtc.camera_frame.width = 176; // 240; // 176; - s_video_call_jrtc.video_frame.height = s_video_call_jrtc.camera_frame.height = 144; // 320; // 144; - s_video_call_jrtc.video_frame.fps = s_video_call_jrtc.camera_frame.fps = 8; // 10; + s_video_call_jrtc.video_frame.width = s_video_call_jrtc.camera_frame.width = 176; + s_video_call_jrtc.video_frame.height = s_video_call_jrtc.camera_frame.height = 176; // 144; + s_video_call_jrtc.video_frame.fps = s_video_call_jrtc.camera_frame.fps = 10; s_video_call_jrtc.video_frame.kbps = s_video_call_jrtc.camera_frame.kbps = 120; // 240; //mci_videocall_camera_set_sensor(1); // 0:rear camera; 1:front camera + Sensor_SetCurId(1); s_video_call_jrtc.jrtc_ptr = jrtc_open(roomid, 0, &s_video_call_jrtc.video_frame, &s_video_call_jrtc.camera_frame); + //jrtc_set_camera (s_video_call_jrtc.jrtc_ptr, 1, NULL); } else { @@ -380,7 +404,7 @@ int8 mmi_video_call_answer(void) SCI_TRACE_LOW("[@CHENG_VIDEO_CALL][%s][%d]: %p\n", __FUNCTION__, __LINE__, s_video_call_jrtc.jrtc_ptr); if (NULL == s_video_call_jrtc.jrtc_ptr) - ret = mmi_video_call_jrtc_open(s_video_call_params.number, s_video_call_params.calltype); + ret = mmi_video_call_jrtc_open(mmi_video_call_number_get(), mmi_video_call_calltype_get()); return ret; } diff --git a/MS_Code/MS_MMI_Main/source/mmi_app/app/jrtc_video_call/c/mmi_video_call.c b/MS_Code/MS_MMI_Main/source/mmi_app/app/jrtc_video_call/c/mmi_video_call.c index 843781fe..750c8962 100644 --- a/MS_Code/MS_MMI_Main/source/mmi_app/app/jrtc_video_call/c/mmi_video_call.c +++ b/MS_Code/MS_MMI_Main/source/mmi_app/app/jrtc_video_call/c/mmi_video_call.c @@ -574,9 +574,24 @@ PUBLIC void MMIAPI_StopVideoCallRing(void) static VC_CONTACTS_DATA_T s_video_call_contact_info = {0}; static uint8 s_video_call_contact_index = 0; static uint8 s_video_call_win_status = 0; // 0-contact list menu; 1-call button select -MMI_VIDEO_CALL_PARAMS_T s_video_call_params = {0}; +static MMI_VIDEO_CALL_PARAMS_T s_video_call_params = {0}; +MMI_VIDEO_CALL_STATE_E mmi_video_call_state_get(void) +{ + return s_video_call_params.state; +} + +MMI_VIDEO_CALL_TYPE_E mmi_video_call_calltype_get(void) +{ + return s_video_call_params.calltype; +} + +char * mmi_video_call_number_get(void) +{ + return s_video_call_params.number; +} + void mmi_video_call_connect(void) { s_video_call_params.state = MMI_VIDEO_CALL_STATE_ACTIVE; @@ -1027,11 +1042,11 @@ static void mmi_video_call_main_win_display(MMI_WIN_ID_T win_id, MMI_CTRL_ID_T c GUI_LCD_DEV_INFO lcd_dev_info = {GUI_MAIN_LCD_ID, GUI_BLOCK_MAIN}; GUI_RECT_T full_rect = MMITHEME_GetFullScreenRect(); - //background - GUI_FillRect(&lcd_dev_info, full_rect, MMI_BLACK_COLOR); GUIAPICTRL_SetState(ctrl_id, GUICTRL_STATE_INVISIBLE, TRUE); GUIAPICTRL_SetState(button_ctrl0, GUICTRL_STATE_INVISIBLE, TRUE); GUIAPICTRL_SetState(button_ctrl1, GUICTRL_STATE_INVISIBLE, TRUE); + //background + GUI_FillRect(&lcd_dev_info, full_rect, MMI_BLACK_COLOR); if(0 == s_video_call_win_status) {