亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? o_message_device.c

?? ZORAN 962/966 SOURCE CODE,DVD chip
?? C
?? 第 1 頁 / 共 2 頁
字號:
/****************************************************************************************************
*  Copyright (c) 2005 ZORAN Corporation, All Rights Reserved
*  THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF ZORAN CORPORATION
*
*  File: o_message_device.c
*
* Description:
* =========
*
****************************************************************************************************/

/****************************************************************************************************
*	INCLUDE FILES
****************************************************************************************************/
#include "Components\Message\o_message_device.h"

/***************************************************************************************
* 	Include customization file.
****************************************************************************************/

// Include custom code file: customer specific code, over-writing common one.
#include "Components\Custom\Message\o_message_device_custom.c"


/****************************************************************************************************
*	DEFINITION: Private named constants
****************************************************************************************************/
/****************************************************************************************************
*	DEFINITION: Private macros
****************************************************************************************************/
/****************************************************************************************************
*	DEFINITION: Private typedefs
****************************************************************************************************/
/****************************************************************************************************
*	DEFINITION: Public (global) variables
****************************************************************************************************/
/****************************************************************************************************
*	DEFINITION: Private (static) variables
****************************************************************************************************/
/****************************************************************************************************
*	DECLARATION: Private (static) functions
****************************************************************************************************/
STATIC MSG_DEVICE_MEDIA_TYPE_PARAM _GetMediaTypeMsg(UINT16 wDeviceId);
static CONST UINT8 * _GetDeviceIcon(UINT16 wDeviceId);


/****************************************************************************************************
*	DEFINITION: Public functions
****************************************************************************************************/
/****************************************************************************************************
* Function	: Name
*
* Input		: Parameter_1 - description
*			  Parameter_2 - description
*
* Output		: Parameter_3 - description
*			  Parameter_4 - description
*
* Return		: Describe_possible_returned_values_and_their_meaning
*
* Description	: Describe_what_the_function_does_in_English
*
****************************************************************************************************/
MS_OP OMESSAGE_DEVICE_Operation(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam)
{
	FORMATED_UNICODE_STRING	oFormUniStr;
	MSO_MESSAGE_DEVICE __NEAR *pDeviceMessage = (MSO_MESSAGE_DEVICE __NEAR*)pThis;
	OSD_MESSAGES			eMsg = S_NULL;
	MSO_MESSAGE __NEAR* 	pMessage = (MSO_MESSAGE __NEAR*)pThis;
	MS_DESCRIPTOR_MESSAGE *pMessageDescriptor = (MS_DESCRIPTOR_MESSAGE*)(pThis->mpDescriptor);
	BOOL					bSaveAndUpdate = TRUE;

	// Initialize oFormUniStr, if no font index, then OSDR_GetFormUniStr_OsdMessage will be wrong
	oFormUniStr.mtFontIndex = FONT_MESSAGE;
	oFormUniStr.mszUniStr[0] = 0;
	
	switch(MsOp)
	{
	case MS_OP_TICK:
		bSaveAndUpdate = FALSE;

		if (pMessage->moParam.mwCoreTimer)
			break;
		

		switch(pMessage->moParam.mMsOpMsg)
		{
		case MS_OP_MSG_DEVICE_EJECTING:
			if (DEVICE_TRAY_OPENING == DeviceManager_GetDeviceState(DEVICE_DISC))
				pMessage->moParam.mwTimer =	pMessageDescriptor->mwDefaultTimeout;
			else
				pMessage->moParam.mwTimer =	1;
			break;
			
		case MS_OP_MSG_DEVICE_CLOSING:
			if (DEVICE_TRAY_CLOSING == DeviceManager_GetDeviceState(DEVICE_DISC))
				pMessage->moParam.mwTimer =	pMessageDescriptor->mwDefaultTimeout;
			else
				pMessage->moParam.mwTimer =	1;
			break;
			
		case MS_OP_MSG_DEVICE_LOADING:
			if (INVALID_DEVICEID != DeviceManager_GetLoadingDevice())
				pMessage->moParam.mwTimer =	pMessageDescriptor->mwDefaultTimeout;
			else
				pMessage->moParam.mwTimer =	1;
			break;
			
		case MS_OP_NONE:
			if (!CoreAPI_IsMediaReady())
			{
				if ((MEDIA_TYPE_NOMEDIA == DeviceManager_GetMediaType(DEVICE_DISC)) 
					&& (DEVICE_NO_DEVICE == DeviceManager_GetDeviceState(DEVICE_DISC)))
					_DisplayMessageOnTick(pThis, MS_OP_MSG_DEVICE_MEDIA, MSG_DEVICE_MEDIA_NO_DISK);
				if (MEDIA_TYPE_UNKNOWN == DeviceManager_GetMediaType(DEVICE_DISC))
					_DisplayMessageOnTick(pThis, MS_OP_MSG_DEVICE_MEDIA, MSG_DEVICE_MEDIA_BAD_DISK);
			}
			if (DEVICE_TRAY_CLOSING == DeviceManager_GetDeviceState(DEVICE_DISC))
				_DisplayMessageOnTick(pThis, MS_OP_MSG_DEVICE_CLOSING, 0);	

			if (INVALID_DEVICEID != DeviceManager_GetLoadingDevice())
           		{
				_DisplayMessageOnTick(pThis, MS_OP_MSG_DEVICE_LOADING, DeviceManager_GetLoadingDevice());	
			}	
			break;

		default:
			break;
		}
		break;

	case MS_OP_MSG_DEVICE_EJECTING:			// The device/tray has been ejected/opened.
		eMsg = S_EJECT;
		pMessage->moParam.mwTimer =	pMessageDescriptor->mwDefaultTimeout;
		pMessage->moParam.mpIcon = BMP_MESSAGE_DEVICE_DISC;
		break;

	case MS_OP_MSG_DEVICE_CLOSING:			// The tray is closing.
		eMsg = S_CLOSE;
		pMessage->moParam.mwTimer =	pMessageDescriptor->mwDefaultTimeout;
		pMessage->moParam.mpIcon = BMP_MESSAGE_DEVICE_DISC;
		break;

	case MS_OP_MSG_DEVICE_LOADING:			// The device/tray has been loaded/closed.
		eMsg = S_LOADING;
		pMessage->moParam.mwTimer =	pMessageDescriptor->mwDefaultTimeout;
		pMessage->moParam.mpIcon = _GetDeviceIcon((UINT16)lParam);
		break;

	case MS_OP_MSG_DEVICE_MEDIA_CURRENT:
		// Get the current disc type and handle as MS_OP_MSG_DEVICE_MEDIA
		lParam = _GetMediaTypeMsg((UINT16)lParam);
#ifdef D_MULTI_CDDA_SHUFFLE_PLAY
		if (CoreAPI_IsMultiCDDAShufflePlay())
		{
			if (eClipType_CDDA != CoreAPI_GetCurrentClipType())
			{
				lParam = MSG_DEVICE_MEDIA_BAD_DISK;
			}
		}
#endif 		
		MsOp = MS_OP_MSG_DEVICE_MEDIA;

	case MS_OP_MSG_DEVICE_MEDIA:		// The media type has changed.
		//set message icon according device type
		pMessage->moParam.mpIcon = _GetDeviceIcon(DeviceManager_GetCurrentDevice());
		
		switch(lParam)
		{
		case MSG_DEVICE_MEDIA_DVDV:
			pMessage->moParam.mwTimer =	pMessageDescriptor->mwDefaultTimeout;

#ifdef D_MINI_DVD
			if(CoreAPI_IsDiscTypeMiniDVD())
				eMsg = S_MINI_DVD;
			else
#endif // D_MINI_DVD
				eMsg = S_DVD;
			break;
			
#ifdef DVD_AUDIO_SUPPORT
		case MSG_DEVICE_MEDIA_DVDA:
			pMessage->moParam.mwTimer =	pMessageDescriptor->mwDefaultTimeout;
			eMsg = S_DVD_AUDIO;
			break;
#endif // DVD_AUDIO_SUPPORT

#ifdef DVD_VR_SUPPORT
		case MSG_DEVICE_MEDIA_DVDVR:
			pMessage->moParam.mwTimer =	pMessageDescriptor->mwDefaultTimeout;
			eMsg = S_DVD_VR;
			break;
#endif // DVD_VR_SUPPORT

#if D_SUPPORT_SACD
		case MSG_DEVICE_MEDIA_SACD:
			pMessage->moParam.mwTimer =	pMessageDescriptor->mwDefaultTimeout;
			eMsg = S_SACD;
			break;
#endif // D_SUPPORT_SACD

// TODO: Rename this timeout into OMESSAGE_DEVICE_VCD_TIMEOUT
		case MSG_DEVICE_MEDIA_SVCD:
#ifdef D_GUI_MESSAGE_TIMEOUT_DISTINGUISH_MEDIA_VCD
			pMessage->moParam.mwTimer =  D_GUI_MESSAGE_TIMEOUT_MEDIA_VCD_DISPLAY_TIME;
#else
			pMessage->moParam.mwTimer =	pMessageDescriptor->mwDefaultTimeout;
#endif
			eMsg = S_SVCD;
			break;

		case MSG_DEVICE_MEDIA_VCD:
#ifdef D_GUI_MESSAGE_TIMEOUT_DISTINGUISH_MEDIA_VCD
			pMessage->moParam.mwTimer =  D_GUI_MESSAGE_TIMEOUT_MEDIA_VCD_DISPLAY_TIME;
#else
			pMessage->moParam.mwTimer =	pMessageDescriptor->mwDefaultTimeout;
#endif
			eMsg = S_VCD;
			break;

		case MSG_DEVICE_MEDIA_VCD1P1:
#ifdef D_GUI_MESSAGE_TIMEOUT_DISTINGUISH_MEDIA_VCD
			pMessage->moParam.mwTimer =  D_GUI_MESSAGE_TIMEOUT_MEDIA_VCD_DISPLAY_TIME;
#else
			pMessage->moParam.mwTimer =	pMessageDescriptor->mwDefaultTimeout;
#endif
			eMsg = S_VCD1P1;
			break;

		case MSG_DEVICE_MEDIA_VCD2P0:
#ifdef D_GUI_MESSAGE_TIMEOUT_DISTINGUISH_MEDIA_VCD
			pMessage->moParam.mwTimer =  D_GUI_MESSAGE_TIMEOUT_MEDIA_VCD_DISPLAY_TIME;
#else
			pMessage->moParam.mwTimer =	pMessageDescriptor->mwDefaultTimeout;
#endif
			eMsg = S_VCD2P0;
			break;

		case MSG_DEVICE_MEDIA_NO_DISK:
			eMsg = S_NO_DISK;
			pMessage->moParam.mpIcon =	BMP_MESSAGE_DEVICE_DISC;
			pMessage->moParam.mwTimer = OMESSAGE_INFINITE_TIMEOUT;
			break;

		case MSG_DEVICE_MEDIA_BAD_DISK:
			eMsg = S_BAD_DISK;
			pMessage->moParam.mpIcon =	BMP_MESSAGE_DEVICE_DISC;
			pMessage->moParam.mwTimer = OMESSAGE_INFINITE_TIMEOUT;
			break;

		case MSG_DEVICE_MEDIA_CDDA:
			pMessage->moParam.mwTimer =	pMessageDescriptor->mwDefaultTimeout;
			eMsg = S_CDDA;
			break;
		case MSG_DEVICE_MEDIA_CDDTS:
			pMessage->moParam.mwTimer =	pMessageDescriptor->mwDefaultTimeout;
			eMsg = S_CDDTS;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人免费看视频| 亚洲欧美成人一区二区三区| 日本不卡1234视频| 欧美丝袜第三区| 一区二区三区中文免费| 99视频在线观看一区三区| 中文字幕不卡在线播放| 黄色小说综合网站| 久久亚洲精品小早川怜子| 久久av老司机精品网站导航| 欧美高清激情brazzers| 亚洲高清免费在线| 制服丝袜日韩国产| 日本vs亚洲vs韩国一区三区二区 | 99久久久久久| 中文字幕在线观看一区二区| youjizz久久| 玉足女爽爽91| 欧美日韩国产一二三| 午夜精品福利在线| 欧美一区二区精品在线| 韩国欧美一区二区| 中文字幕精品在线不卡| 91视频观看免费| 午夜伦欧美伦电影理论片| 正在播放一区二区| 国产一区在线观看视频| 国产精品美女www爽爽爽| 91原创在线视频| 亚洲电影第三页| 精品国产91乱码一区二区三区 | 在线免费观看日本一区| 亚洲成人精品一区二区| 欧美成人一区二区三区| 国产白丝网站精品污在线入口| 国产精品久久三区| 欧美精品黑人性xxxx| 国产一区中文字幕| 亚洲女女做受ⅹxx高潮| 欧美高清视频在线高清观看mv色露露十八 | 成人在线视频一区| 亚洲国产日韩在线一区模特| 精品国产区一区| 99久久99久久精品免费观看| 日韩高清中文字幕一区| 国产免费久久精品| 欧美三级韩国三级日本一级| 国产在线视频不卡二| 亚洲精品第1页| 久久久精品日韩欧美| 色婷婷精品大视频在线蜜桃视频| 免费成人在线网站| 亚洲女人****多毛耸耸8| 精品日韩一区二区三区| 另类中文字幕网| 亚洲黄一区二区三区| xnxx国产精品| 欧美一区二区三区视频在线| 成人综合婷婷国产精品久久| 亚洲色欲色欲www| 日韩欧美的一区二区| av激情亚洲男人天堂| 久久福利资源站| 亚洲午夜日本在线观看| 国产婷婷色一区二区三区四区| 欧美理论在线播放| 97久久精品人人爽人人爽蜜臀| 日韩中文字幕亚洲一区二区va在线| 国产日韩欧美电影| 日韩免费观看2025年上映的电影 | 国产精品77777| 日韩精品欧美成人高清一区二区| 国产精品久线观看视频| 精品99999| 欧美高清视频不卡网| 在线观看成人免费视频| 国产资源在线一区| 亚洲一区二区五区| 综合av第一页| 亚洲国产精品成人久久综合一区 | 亚洲精品一区在线观看| 欧美无砖专区一中文字| 91年精品国产| 91丝袜美腿高跟国产极品老师 | 中文字幕av一区二区三区免费看 | 精品美女被调教视频大全网站| 日本精品一区二区三区高清 | 国产99精品在线观看| 国内一区二区在线| 另类专区欧美蜜桃臀第一页| 日韩福利视频导航| 日韩精品欧美精品| 亚洲国产精品久久人人爱| 亚洲免费高清视频在线| 国产精品久久福利| 国产精品福利一区| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 国产视频一区二区在线观看| 久久精品视频一区二区| 久久久激情视频| 欧美一二三区在线观看| 欧美日韩免费观看一区二区三区 | 亚洲精品一区二区精华| 日韩免费观看高清完整版 | 日韩av午夜在线观看| 免费视频最近日韩| 美女www一区二区| 久久国产精品色| 国产精品一区二区你懂的| 成人精品在线视频观看| 94-欧美-setu| 欧美日韩在线一区二区| 欧美一卡二卡三卡四卡| 欧美高清激情brazzers| 精品成a人在线观看| 欧美激情在线免费观看| 亚洲美女电影在线| 亚洲 欧美综合在线网络| 美国毛片一区二区| 国产成人精品一区二区三区网站观看| 成人综合在线视频| 欧美日韩一区二区三区高清| 欧美一区二区三区视频| 国产日韩影视精品| 亚洲美女屁股眼交| 蜜桃视频一区二区三区在线观看 | 中文字幕在线播放不卡一区| 亚洲自拍另类综合| 国内精品伊人久久久久影院对白| 成人毛片在线观看| 欧美巨大另类极品videosbest | 亚洲午夜视频在线观看| 卡一卡二国产精品| 99精品视频一区二区三区| 欧美一区二区三区人| 国产三级精品视频| 午夜精品久久久久久久99水蜜桃| 国精产品一区一区三区mba视频| 色综合天天天天做夜夜夜夜做| 欧美日韩成人在线| 国产亚洲福利社区一区| 夜夜爽夜夜爽精品视频| 成人高清伦理免费影院在线观看| 日韩欧美的一区| 日韩精品每日更新| 欧美中文字幕一区二区三区| 最新久久zyz资源站| 国产精品18久久久久久久久久久久| 欧美精品久久久久久久多人混战 | 亚洲午夜国产一区99re久久| 不卡的av电影在线观看| 久久精品人人做人人爽人人| 久久国产精品72免费观看| 欧美一级在线免费| 全部av―极品视觉盛宴亚洲| 欧美日韩一区二区三区四区五区| 亚洲欧美国产77777| 99精品1区2区| 中文字幕一区二区三区在线播放| 国产精品综合一区二区三区| 久久影院午夜片一区| 极品美女销魂一区二区三区 | 成人高清视频在线| 国产精品日韩成人| 丁香天五香天堂综合| 欧美国产激情一区二区三区蜜月| 黄一区二区三区| 国产日韩欧美综合在线| 国产不卡一区视频| 国产精品视频一区二区三区不卡| 国产精品综合一区二区三区| 国产三级精品视频| 成av人片一区二区| 怡红院av一区二区三区| 欧美午夜免费电影| 日韩国产精品久久久| 日韩色在线观看| 国产一区二区精品久久| 国产拍欧美日韩视频二区| 成人午夜激情在线| 亚洲乱码国产乱码精品精可以看| 91性感美女视频| 亚洲高清一区二区三区| 日韩色视频在线观看| 激情综合色综合久久| 国产欧美一区二区精品性色 | caoporen国产精品视频| 亚洲欧美日韩电影| 欧美日韩国产综合草草| 日韩精品欧美精品| 亚洲国产精品精华液2区45| 色婷婷国产精品综合在线观看| 午夜欧美在线一二页| 久久久亚洲精华液精华液精华液| 成人精品免费网站| 亚洲自拍偷拍麻豆| 久久综合五月天婷婷伊人| www.亚洲人| 婷婷国产在线综合| 久久亚洲一区二区三区四区|