亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
911精品产国品一二三产区| av男人天堂一区| 欧美疯狂做受xxxx富婆| 亚洲高清免费观看高清完整版在线观看| 97aⅴ精品视频一二三区| 亚洲嫩草精品久久| 欧美日韩国产一级片| 麻豆中文一区二区| 久久久高清一区二区三区| 成人国产精品视频| 亚洲资源在线观看| 日韩欧美在线一区二区三区| 国产高清不卡二三区| 亚洲精品日韩一| 欧美一级日韩一级| 成人丝袜18视频在线观看| 亚洲欧美偷拍另类a∨色屁股| 在线免费观看成人短视频| 日韩电影在线看| 国产无一区二区| 欧美日韩视频在线第一区| 精品在线一区二区三区| 国产精品午夜在线观看| 欧美日韩一区二区三区在线| 久久不见久久见中文字幕免费| 欧美国产精品久久| 欧美日韩在线免费视频| 韩国毛片一区二区三区| 亚洲精品中文字幕在线观看| 欧美一区二区精品| 色狠狠综合天天综合综合| 蜜臀av一区二区在线观看 | 欧美撒尿777hd撒尿| 黄网站免费久久| 亚洲国产一区二区在线播放| 国产亚洲一本大道中文在线| 欧美日韩午夜精品| 成人av电影在线| 奇米在线7777在线精品| 一区二区三区在线免费播放| 精品国产在天天线2019| 欧美午夜精品久久久久久超碰| 韩国理伦片一区二区三区在线播放 | 一区二区在线电影| 337p日本欧洲亚洲大胆色噜噜| 欧美午夜精品理论片a级按摩| 丁香婷婷综合网| 蜜臀av一区二区| 天天综合色天天综合色h| 国产精品毛片久久久久久| 日韩欧美国产麻豆| 欧美亚洲综合另类| 成人av电影在线网| 国产精品亚洲а∨天堂免在线| 日一区二区三区| 亚洲精品成人悠悠色影视| 国产目拍亚洲精品99久久精品| 欧美一三区三区四区免费在线看| 在线亚洲高清视频| 99久久99久久精品国产片果冻| 国产一区二区三区四区五区入口| 美女一区二区视频| 天使萌一区二区三区免费观看| 亚洲免费在线播放| 亚洲国产精品精华液2区45| 日韩欧美一级在线播放| 欧美久久久一区| 欧美日韩一区三区四区| 欧美综合天天夜夜久久| 欧美影院一区二区| 在线免费观看日本欧美| 在线亚洲免费视频| 在线观看亚洲精品视频| 91久久精品国产91性色tv| 91免费视频观看| 色哟哟国产精品免费观看| 99国产欧美另类久久久精品| 成人激情视频网站| av电影一区二区| 色一区在线观看| 欧美色大人视频| 欧美一区二区视频网站| 69堂成人精品免费视频| 日韩欧美中文字幕一区| 精品久久人人做人人爽| 久久久久久久综合| 国产精品网站在线| 亚洲精品综合在线| 三级欧美韩日大片在线看| 老司机一区二区| 国产成人精品亚洲午夜麻豆| 成人美女在线观看| 色哟哟欧美精品| 日韩一二三区不卡| 久久久亚洲欧洲日产国码αv| 中文一区在线播放| 亚洲一区二区三区四区在线免费观看 | 国产精品一品二品| 99久久精品国产毛片| 欧美三级三级三级爽爽爽| 欧美大尺度电影在线| 国产午夜精品一区二区三区视频| 亚洲人成小说网站色在线| 午夜精品福利一区二区三区蜜桃| 久久99国产精品久久| 成人高清免费在线播放| 在线观看不卡视频| 欧美变态tickling挠脚心| 国产片一区二区| 亚洲成人一二三| 国产很黄免费观看久久| 色综合网色综合| 日韩区在线观看| 国产精品免费aⅴ片在线观看| 亚洲国产综合在线| 国产激情偷乱视频一区二区三区| 色婷婷综合久色| 精品久久久久香蕉网| 亚洲免费视频中文字幕| 精品一区二区三区在线视频| 91小视频免费观看| 精品国产一区二区精华| 亚洲男人电影天堂| 国产精品夜夜嗨| 欧美精品v国产精品v日韩精品| 久久精品日产第一区二区三区高清版 | ●精品国产综合乱码久久久久| 亚洲成人你懂的| 不卡av在线网| 26uuu国产一区二区三区| 一区二区三区精密机械公司| 国产盗摄女厕一区二区三区 | 9191精品国产综合久久久久久| 国产日产欧美一区二区三区| 日本欧美一区二区| 91在线丨porny丨国产| 久久久蜜桃精品| 琪琪一区二区三区| 99在线精品免费| 亚洲日本在线视频观看| 国产69精品一区二区亚洲孕妇| 国产精品久久久久久妇女6080 | 91在线码无精品| 精品国产乱码久久| 午夜一区二区三区视频| 成人网页在线观看| 久久久国际精品| 国产精品国产三级国产专播品爱网| 成人黄色软件下载| 亚洲久本草在线中文字幕| 欧美日韩免费一区二区三区视频| 五月婷婷综合激情| 欧美zozozo| 播五月开心婷婷综合| 亚洲欧美国产高清| 欧美久久久久久久久久| 久久爱www久久做| 中文字幕欧美激情| 91丝袜国产在线播放| 亚洲不卡一区二区三区| 日韩欧美国产麻豆| proumb性欧美在线观看| 一区二区三区鲁丝不卡| 欧美一区二区免费观在线| 国产精品一区在线| 亚洲男人电影天堂| 日韩欧美二区三区| 国产黄色精品视频| 亚洲午夜久久久| 精品盗摄一区二区三区| 99久久99久久久精品齐齐| 天天射综合影视| 久久久99免费| 91黄色在线观看| 美国精品在线观看| 亚洲三级视频在线观看| 91精品国产入口在线| www.亚洲色图| 蜜桃av噜噜一区二区三区小说| 亚洲国产精品二十页| 欧美日韩精品一区二区三区蜜桃 | 色偷偷成人一区二区三区91 | 亚洲福利国产精品| 久久网站最新地址| 色嗨嗨av一区二区三区| 九九国产精品视频| 亚洲一区精品在线| 久久亚洲精精品中文字幕早川悠里| 色综合视频一区二区三区高清| 日本不卡视频一二三区| 国产精品麻豆欧美日韩ww| 欧美剧在线免费观看网站| 国产不卡在线一区| 日韩在线卡一卡二| 亚洲欧美日韩精品久久久久| 精品久久久久久久久久久院品网| 色婷婷av一区| 国产精品99久久久久久似苏梦涵| 亚洲午夜精品网| 国产精品的网站|