示例#1
0
static void vNotifyAppHdmiState(u8 u1hdmistate)
{
  HDMI_EDID_INFO_T get_info;
  
  MT8193_PLUG_LOG("u1hdmistate = %d\n", u1hdmistate);

  mt8193_AppGetEdidInfo(&get_info);
  
  switch(u1hdmistate)
  {
    case HDMI_PLUG_OUT:
     hdmi_util.state_callback(HDMI_STATE_NO_DEVICE);
	 mt8193_SetPhysicCECAddress(0xffff, 0x0); 
    break;

    case HDMI_PLUG_IN_AND_SINK_POWER_ON:
     hdmi_util.state_callback(HDMI_STATE_ACTIVE);
	 mt8193_SetPhysicCECAddress(get_info.ui2_sink_cec_address, 0x4); 
    break;

    case HDMI_PLUG_IN_ONLY:
     hdmi_util.state_callback(HDMI_STATE_PLUGIN_ONLY);
	 mt8193_SetPhysicCECAddress(get_info.ui2_sink_cec_address, 0xf); 
    break;

    case HDMI_PLUG_IN_CEC:
     hdmi_util.state_callback(HDMI_STATE_CEC_UPDATE);
    break;
       
    default:
    break;

  }
}
static void vNotifyAppHdmiState(unsigned char u1hdmistate)
{
	HDMI_EDID_T get_info;

	mt8193_AppGetEdidInfo(&get_info);

	if (mt8193_hdmi_factory_callback != NULL)
		mt8193_hdmi_factory_callback(HDMI_STATE_NO_DEVICE);

	switch (u1hdmistate) {
	case HDMI_PLUG_OUT:
		HDMI_DEF_LOG("[hdmi]notify plug:HDMI_STATE_NO_DEVICE\n");
		is_hdmi_plug_out_flag = 1;
		hdmi_util.state_callback(HDMI_STATE_NO_DEVICE);
		mt8193_SetPhysicCECAddress(0xffff, 0x0);
		break;

	case HDMI_PLUG_IN_AND_SINK_POWER_ON:
		HDMI_DEF_LOG("[hdmi]notify plug:HDMI_STATE_ACTIVE\n");
		is_hdmi_plug_out_flag = 0;
		hdmi_util.state_callback(HDMI_STATE_ACTIVE);
		mt8193_SetPhysicCECAddress(get_info.ui2_sink_cec_address, 0x4);
		if ((mt8193_hdmi_factory_callback != NULL) && (mt8193_Check_EdidHeader() == TRUE))
			mt8193_hdmi_factory_callback(HDMI_STATE_ACTIVE);
		break;

	case HDMI_PLUG_IN_ONLY:
		HDMI_DEF_LOG("[hdmi]notify plug:HDMI_STATE_PLUGIN_ONLY\n");
		is_hdmi_plug_out_flag = 1;
		hdmi_util.state_callback(HDMI_STATE_PLUGIN_ONLY);
		mt8193_SetPhysicCECAddress(get_info.ui2_sink_cec_address, 0xf);
		break;

	case HDMI_PLUG_IN_CEC:
		hdmi_util.state_callback(HDMI_STATE_CEC_UPDATE);
		break;

	default:
		HDMI_DEF_LOG("[hdmi]notify plug:err\n");
		break;

	}
}