} video_call_jrtc_t;
-extern MMI_VIDEO_CALL_PARAMS_T s_video_call_params;
static video_call_jrtc_t s_video_call_jrtc = {0};
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
}
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;
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;
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
}
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)
{
img->get = img->put; // reset
}
}
+ }
break;
default:
{
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
{
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;
}
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;
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)
{