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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? fakegui.cpp.svn-base

?? sigmadesign smp8623 gui source code ,bingo
?? SVN-BASE
字號(hào):
/***************************************** Copyright  2001-2003   Sigma Designs, Inc. All Rights Reserved Proprietary and Confidential *****************************************//**  @file   fakegui.cpp  @brief  file to link with when you don't want any gui    @author Laurent Crinon  @date   2004-05-12*/#ifndef ALLOW_OS_CODE#define ALLOW_OS_CODE 1#endif //ALLOW_OS_CODE#include "../common.h"#include <unistd.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include "gui.h"#if 1#define FAKEGUIDBG ENABLE#else#define FAKEGUIDBG DISABLE#endif#if 0#define FAKEGUINTFYDBG ENABLE#else#define FAKEGUINTFYDBG DISABLE#endifRMcuracaoGui::RMcuracaoGui(typeCuracaoContext *context)	: m_context (context){	RMDBGLOG((FAKEGUIDBG, "NO GUI AVAILABLE ...\n"));	m_crc_table_computed = FALSE;}RMcuracaoGui::~RMcuracaoGui(){}RMstatus RMcuracaoGui::Initialize(RMnonAscii *xmlFile){	RMMemset(&m_settings, 0, sizeof(guiPlayerSettingsType));	RMMemset(&m_loadsettings, 0, sizeof(guiPlayerSettingsType));	RetrievePlayerSettings();	return RM_OK;}RMstatus RMcuracaoGui::SendKey(RMremoteKey c){	return InterpretCommand(c);}RMstatus RMcuracaoGui::SendEvent(RMguiEvent event){	return RM_ERROR;}RMascii* RMcuracaoGui::GetFile(){	return (RMascii*)NULL;}RMstatus RMcuracaoGui::Close(){	SavePlayerSettings();	return RM_OK;}RMstatus RMcuracaoGui::Notify(typeCuracaoMessage message, void *val){	RMstatus status;	switch (message) {	case CURACAO_MESSAGE_INVALID_OP:		RMDBGLOG((ENABLE, "*** Invalid UOP ***\n"));		break;	case CURACAO_MESSAGE_PLAY_MODE:{		typePlayMode *playMode = (typePlayMode *)val;		switch(playMode->state){		case STATE_PLAY:			switch(m_context->discType){			case RM_DISC_TYPE_ISO9660:				break;			case RM_DISC_TYPE_CDDA:				break;			default:				break;			}								break;		case STATE_STOP:			RMDBGLOG((FAKEGUINTFYDBG, "** Received STOP MODE **\n"));						break;		case STATE_PAUSE:			RMDBGLOG((FAKEGUINTFYDBG, "** Received PAUSE MODE **\n"));						break;		case STATE_STEP:			RMDBGLOG((FAKEGUINTFYDBG, "** Received STEP MODE **\n"));						break;		case STATE_CLOSE:						RMDBGLOG((FAKEGUINTFYDBG, "** Received CLOSE MODE **\n"));			break;						case STATE_FAST_FORWARD:						break;					case STATE_FAST_REWIND:						break;		case STATE_SLOW_FORWARD:						break;		default:			return RM_ERROR;					}				m_playMode = playMode->state;	}		break;				case CURACAO_MESSAGE_UNSUPPORTED_MEDIA:		RMDBGLOG((FAKEGUINTFYDBG,"** Unsupported media **\n"));		break;	case CURACAO_MESSAGE_DVD_WRONG_REGION:		RMDBGLOG((FAKEGUINTFYDBG,"** Wrong DVD region **\n"));		break;	case CURACAO_MESSAGE_MEDIA_INFO:		if(m_context->discType == RM_DISC_TYPE_CDDA){			RMMemcpy(&m_cddaInfo, (typeCuracaoCddaInfo *)val, sizeof(typeCuracaoCddaInfo));			RMDBGLOG((ENABLE, 				  "** Track %hu/%hu, %lu/%lu secs, total %lu secs **\n",				  m_cddaInfo.nCurrentTrack,				  m_cddaInfo.nTracks,				  m_cddaInfo.trackTime,				  m_cddaInfo.currentTrackDuration,				  m_cddaInfo.totalDuration));		}		else if(m_context->discType == RM_DISC_TYPE_VCD || m_context->discType == RM_DISC_TYPE_SVCD){			RMMemcpy(&m_vcdInfo, (typeCuracaoVcdInfo *)val, sizeof(typeCuracaoVcdInfo));		}		else if(m_context->discType == RM_DISC_TYPE_DVD_VIDEO){			RMMemcpy(&m_dvdInfo, (typeCuracaoDvdInfo *)val, sizeof(typeCuracaoDvdInfo));			RMDBGLOG((FAKEGUINTFYDBG,				  "** ChapterTime : %lu secs **\n",				  m_dvdInfo.chapterTime));		}		break;	case CURACAO_MESSAGE_DVD_SUBTITLE_CHANGE:{		typeCuracaoDvdSubpicStreamAttr *attr = (typeCuracaoDvdSubpicStreamAttr *)val;		if(attr->subpicStreamNumber == 0)			RMDBGLOG((ENABLE, "** Subpicture : Off **\n"));		else {			if(attr->subpicStreamAttr.isLanguage)				RMDBGLOG((ENABLE,"** Subpicture : %c%c **\n", (RMascii)(HIBYTE(attr->subpicStreamAttr.languageCode) - 32), (RMascii)LOBYTE(attr->subpicStreamAttr.languageCode) - 32));			else				RMDBGLOG((ENABLE, "** Subpicture : stream #%d **\n", attr->subpicStreamNumber));		} 	}		break;		case CURACAO_MESSAGE_DVD_AUDIOSTREAM_CHANGE:{		typeCuracaoDvdAudioStreamAttr *attr = (typeCuracaoDvdAudioStreamAttr *)val;		if(attr->audioStreamAttr.isLanguage)			RMDBGLOG((ENABLE,"** Audio : %c%c **\n", (RMascii)(HIBYTE(attr->audioStreamAttr.languageCode) - 32), (RMascii)LOBYTE(attr->audioStreamAttr.languageCode) - 32));		else			RMDBGLOG((ENABLE,"** Audio : stream #%d **\n", attr->audioStreamNumber));	}		break;		case CURACAO_MESSAGE_DVD_ANGLE_CHANGE:		RMDBGLOG((ENABLE, "** Angle : #%d **\n", (RMascii)(*(RMuint8 *)val)));	 		break;			case CURACAO_MESSAGE_DVD_REPEAT_CHAPTER:		RMDBGLOG((ENABLE,"** Repeat Chapter is On **\n"));		break;	case CURACAO_MESSAGE_DVD_REPEAT_TITLE:		RMDBGLOG((ENABLE,"** Repeat Title is On **\n"));		break;	case CURACAO_MESSAGE_DVD_REPEAT_OFF:		RMDBGLOG((ENABLE,"** Repeat is Off **\n"));		break;	case CURACAO_MESSAGE_DVD_REPEAT_A_SET:		RMDBGLOG((ENABLE,"** Repeat A->B : A point is set **\n"));		break;	case CURACAO_MESSAGE_DVD_REPEAT_B_SET:		RMDBGLOG((ENABLE,"** Repeat A->B : B point is set **\n"));		break;	case CURACAO_MESSAGE_DVD_REPEAT_AB_CLEARED:		RMDBGLOG((ENABLE,"** Repeat A->B : Cleared **\n"));		break;	case CURACAO_MESSAGE_DVD_STOPPED:		RMDBGLOG((ENABLE,"** Saving bookmark **\n"));		m_settings.bookmarkCRC = 0;		status = m_context->player->GetBookmark(m_settings.bookmark, BOOKMARK_SIZE);		if(RMSUCCEEDED(status) && m_context->player)			m_settings.bookmarkCRC = m_context->player->GetDiscID();		m_settings.validBookmark = (m_settings.bookmarkCRC != 0);		break;			case CURACAO_MESSAGE_PLAYBACK_STARTED:{		RMDBGLOG((ENABLE,"** Retrieving bookmark **\n"));		RMuint32 discId = *((RMuint32*)val);		if(m_settings.validBookmark && discId != 0){			if(discId == m_settings.bookmarkCRC){				m_resumeOn = TRUE;			}		}			}		break;			case CURACAO_MESSAGE_DVD_MENU_STATE: {		RMbool menuOn = *((RMbool*)val);			if(menuOn) RMDBGLOG((FAKEGUINTFYDBG,"** Now navigating a Menu **\n"));	}		break;	default://		printf("message not implemented yet\n");		break;	}	return RM_ERROR;}RMstatus RMcuracaoGui::DiscState(){	return RM_ERROR;}RMstatus RMcuracaoGui::GetDvdParameters(typeCuracaoDvdParameters *params){	return RM_ERROR;}// this is the main interpreter for remote control commands// it interprets all dvd player specific commands (display, sound, on/off, ...)RMstatus RMcuracaoGui::InterpretCommand(RMremoteKey c){	RMstatus status = RM_ERROR;		switch(c){	case RM_HW_EJECT: // open/close command		if(m_context->disc != 0){			RMbool isOpen;						if(m_context->player != 0){				RMDBGLOG((FAKEGUIDBG, "Closing media player ...\n"));				m_context->player->Close();				RMDBGLOG((FAKEGUIDBG, "Deleting media player ...\n"));				delete (m_context->player);				m_context->player = 0;			}			status = RMFDiscIsTrayOpen (m_context->disc, &isOpen);			if (status != RM_OK) {				RMDBGLOG((FAKEGUIDBG, "Cannot determine whether drive is opened. Bad drive.\n"));				break;			} else {				if (isOpen) {					status = RMFDiscCloseTray (m_context->disc);					RMDBGLOG((FAKEGUIDBG, "Loading..."));					m_context->isDiscDetected = FALSE;				} else {					status = RMFDiscOpenTray (m_context->disc);					m_context->isDiscDetected = TRUE;					m_context->discType = RM_NO_DISC;									}			}							}		break;	case RM_HW_ON_OFF: // exit		RMDBGLOG((FAKEGUIDBG, "Exit ...\n"));		m_context->needToExit = TRUE; 		status = RM_OK;		break;	case RM_HW_OSD: 		break;	case RM_HW_VOL_PLUS:	case RM_HW_VOL_MINUS:	case RM_HW_MUTE:	case RM_HW_L_R:	case RM_HW_VGA_TV:		// to be implemented		status = RM_ERROR;		break;	case RM_HW_PLAY_PAUSE:		status = HandlePlay();		break;	case RM_HW_STOP:		m_resumeOn = TRUE;		status = RM_UNKNOWN_KEY;		break;			default:		RMDBGLOG((FAKEGUIDBG, "Unknown command for the main interpreter\n"));		status = RM_UNKNOWN_KEY;		break;	}	return status;}RMstatus RMcuracaoGui::HandlePlay(){	RMstatus status = RM_UNKNOWN_KEY;		// it tray open, close it and return	if(m_context->disc != 0){		RMbool isOpen;		if(RMFDiscIsTrayOpen (m_context->disc, &isOpen) == RM_OK) {			if(isOpen){				RMFDiscCloseTray (m_context->disc);				m_context->isDiscDetected = FALSE;				return status;			}		}	}		if(m_context->discType == RM_DISC_TYPE_DVD_VIDEO && m_resumeOn){		if(m_context->player){			m_settings.validBookmark = FALSE;			m_context->player->ResumeBookmark(m_settings.bookmark);			m_resumeOn = FALSE;		}		return status;	}		return status;}RMstatus RMcuracaoGui::GetParentalLevelClearance(RMuint8 discRating){	return RM_ERROR;}RMstatus RMcuracaoGui::SavePlayerSettings(){	int file;	ssize_t ret = -1;	RMstatus status = RM_OK;		if(RMMemcmp(&m_loadsettings, &m_settings, sizeof(m_settings)) != 0){		RMDBGLOG((FAKEGUIDBG, "Saving player settings, using %s file, size %d\n", SETTINGS_FILE, sizeof(m_settings)));		// PrintPlayerSettings(m_settings);				m_settings.crc = CalculateCRC((RMuint8*)&m_settings, sizeof(m_settings)/2);		RMDBGLOG((FAKEGUIDBG, "Calculated CRC = 0x%08X\n", m_settings.crc));			file = open(SETTINGS_FILE, O_RDWR | O_SYNC);		if(file != -1){			RMDBGLOG((FAKEGUIDBG, "Writting ...\n"));			ret = write(file, &m_settings, sizeof(m_settings));			RMDBGLOG((FAKEGUIDBG, "Fsync ...\n"));			fsync(file);			RMDBGLOG((FAKEGUIDBG, "Close ...\n"));			close(file);			RMDBGLOG((FAKEGUIDBG, "Finish saving settings\n"));		}		status = (ret != -1 ? RM_OK : RM_ERROR);				if(RMFAILED(status)){			RMDBGLOG((FAKEGUIDBG, "Error saving player settings!!\n"));		}			else{			// not to save again...			RMMemcpy(&m_loadsettings, &m_settings, sizeof(m_settings));			RMDBGLOG((FAKEGUIDBG, "Saved player settings succeeded!!\n"));		}	}	return status;}RMstatus RMcuracaoGui::RetrievePlayerSettings(){	int file;	ssize_t ret = -1;	RMuint32 current_crc;	RMuint32 calculated_crc;				RMDBGLOG((FAKEGUIDBG, "Retrieving player settings, using %s file\n", SETTINGS_FILE));	// read settings if already saved	file = open(SETTINGS_FILE, O_RDONLY | O_SYNC);	if(file != -1){		RMDBGLOG((FAKEGUIDBG, "Reading previous settings, size %u...\n", sizeof(m_settings)));		ret = read(file, &m_settings, sizeof(m_settings));		if(ret != sizeof(m_settings))			RMDBGLOG((FAKEGUIDBG, "Error reading player settings\n"));		close(file);		current_crc = m_settings.crc;		m_settings.crc = 0;		calculated_crc = CalculateCRC((RMuint8*)&m_settings, sizeof(m_settings)/2);				if(current_crc != calculated_crc){			RMDBGLOG((FAKEGUIDBG, "CRC mismatch ... resetting settings: found = 0x%08X, calculated = 0x%08X\n", current_crc, calculated_crc));				// SetDefaultPlayerSettings();			m_settings.crc = calculated_crc;			// need to open it in write mode ...			file = open(SETTINGS_FILE, O_WRONLY | O_SYNC);			ret = write(file, &m_settings, sizeof(m_settings));			if(ret != sizeof(m_settings))				RMDBGLOG((FAKEGUIDBG, "Error writting player settings\n"));			fsync(file);			close(file);		}		else			RMDBGLOG((FAKEGUIDBG, "CRC match ... found = 0x%08X, calculated = 0x%08X\n", current_crc, calculated_crc));			}	else{		// load default settings		// SetDefaultPlayerSettings();				RMDBGLOG((FAKEGUIDBG, "No previous Settings, creating the settings file...\n"));		file = open(SETTINGS_FILE, O_WRONLY | O_SYNC | O_CREAT, S_IRUSR | S_IWUSR);		if(file != -1){			ret = write(file, &m_settings, sizeof(m_settings));			if(ret != sizeof(m_settings))				RMDBGLOG((FAKEGUIDBG, "Error writting player settings\n"));			fsync(file);			close(file);		}	}		// save to compare before saving	RMMemcpy(&m_loadsettings, &m_settings, sizeof(m_settings));		// ApplyPlayerSettings();		return RM_OK;}void RMcuracaoGui::make_crc_table(void){     RMuint32 c;     RMuint16 n, k;        for (n = 0; n < 256; n++) {	     c = (RMuint32) n;	     for (k = 0; k < 8; k++) {		     if (c & 1)			     c = 0xedb88320L ^ (c >> 1);		     else			     c = c >> 1;	     }	     m_crc_table[n] = c;     }     m_crc_table_computed = TRUE;}   RMuint32 RMcuracaoGui::update_crc(RMuint32 crc, RMuint8 *buf, RMuint32 len){     RMuint32 c = crc;     RMuint32 n;        if (!m_crc_table_computed)	     make_crc_table();     for (n = 0; n < len; n++) {	     c = m_crc_table[(c ^ buf[n]) & 0xff] ^ (c >> 8);     }     return c;}   RMuint32 RMcuracaoGui::CalculateCRC(RMuint8 *buffer, RMuint32 size){	return update_crc(0xffffffffL, buffer, size) ^ 0xffffffffL;}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
www.欧美亚洲| 国产91精品久久久久久久网曝门 | 欧美日韩精品欧美日韩精品| 精品中文字幕一区二区| 日韩美女久久久| 精品国产123| 欧美日韩成人一区二区| 91浏览器在线视频| 国产尤物一区二区在线| 三级一区在线视频先锋| 亚洲欧美一区二区三区极速播放| 精品久久国产字幕高潮| 欧美日韩一本到| 91香蕉视频污| 激情综合网av| 天天做天天摸天天爽国产一区| 综合亚洲深深色噜噜狠狠网站| 精品国产髙清在线看国产毛片| 欧美乱熟臀69xxxxxx| 在线亚洲免费视频| 91麻豆精东视频| 91一区二区三区在线观看| 高清免费成人av| 国产激情精品久久久第一区二区| 精品一区中文字幕| 看电视剧不卡顿的网站| 日本人妖一区二区| 日韩精品高清不卡| 日韩精品午夜视频| 日韩成人午夜电影| 五月天一区二区| 亚洲va中文字幕| 亚洲成人自拍一区| 五月激情综合婷婷| 日本欧美肥老太交大片| 毛片不卡一区二区| 经典三级一区二区| 色噜噜狠狠成人网p站| 成人一区二区三区视频在线观看 | 一区二区三区四区五区视频在线观看 | 欧美电影免费观看高清完整版在线 | 亚洲精品中文字幕在线观看| 国产精品久久久久aaaa樱花| 国产精品全国免费观看高清 | 91丨国产丨九色丨pron| 丁香六月综合激情| 91小视频免费观看| 欧美亚州韩日在线看免费版国语版| 日本精品一区二区三区四区的功能| 日本高清不卡aⅴ免费网站| 色综合欧美在线| 欧美zozozo| 欧美国产禁国产网站cc| 中文欧美字幕免费| 国产精品女同互慰在线看| 国产精品久久综合| 亚洲女人的天堂| 亚洲成a人片在线观看中文| 亚洲一区二区三区视频在线播放| 亚洲综合在线电影| 亚洲第一搞黄网站| 男人的j进女人的j一区| 狠狠色综合日日| 国产v日产∨综合v精品视频| 99这里只有精品| 精品视频在线免费| 日韩美女一区二区三区| 国产精品乱子久久久久| 亚洲福利一二三区| 久久se这里有精品| 成人国产电影网| 在线精品视频一区二区三四| 91麻豆精品91久久久久久清纯| 欧美videos中文字幕| 亚洲国产精品传媒在线观看| 国产精品久久综合| 午夜电影一区二区| 高清不卡一区二区在线| 欧美午夜寂寞影院| 久久久久久久久久久久久久久99 | 亚洲精品视频免费观看| 美日韩一区二区| 成人激情黄色小说| 欧美日韩电影在线| 中文在线资源观看网站视频免费不卡 | 国产成人夜色高潮福利影视| 欧美性受极品xxxx喷水| 久久久99久久| 午夜精品在线看| jlzzjlzz国产精品久久| 日韩免费高清av| 一区二区三区国产豹纹内裤在线| 狠狠狠色丁香婷婷综合激情| 在线亚洲一区观看| 日本一二三四高清不卡| 麻豆精品视频在线观看视频| 色婷婷综合久久久中文字幕| 久久先锋资源网| 肉丝袜脚交视频一区二区| 99视频精品免费视频| 精品嫩草影院久久| 天天色 色综合| 色菇凉天天综合网| 中文字幕中文乱码欧美一区二区| 开心九九激情九九欧美日韩精美视频电影 | 国产在线播放一区二区三区| 欧美日韩一级大片网址| 亚洲欧美一区二区不卡| 国产精品一线二线三线| 日韩你懂的在线观看| 午夜激情一区二区三区| 在线观看亚洲专区| 亚洲日本成人在线观看| 丁香激情综合国产| 欧美国产精品专区| 国产精品一卡二| 久久一区二区三区四区| 久久成人av少妇免费| 日韩欧美综合在线| 日韩精品亚洲一区| 在线播放日韩导航| 同产精品九九九| 欧美日韩中文字幕一区二区| 亚洲自拍与偷拍| 色婷婷综合久久久中文一区二区| 亚洲视频一区二区免费在线观看| 国产91清纯白嫩初高中在线观看| 精品国内片67194| 狠狠色狠狠色综合| 国产亚洲精品资源在线26u| 激情文学综合网| 精品国产凹凸成av人网站| 国产一二三精品| 国产日韩欧美精品一区| 国产·精品毛片| 18欧美乱大交hd1984| 91色.com| 亚洲午夜精品网| 欧美日韩美少妇| 日本系列欧美系列| 精品久久一区二区三区| 国产一区二区三区香蕉| 国产亚洲成av人在线观看导航| 粉嫩绯色av一区二区在线观看| 中文字幕不卡三区| 一本一本大道香蕉久在线精品| 一区二区三区四区国产精品| 欧美性色aⅴ视频一区日韩精品| 亚洲第一福利一区| 欧美哺乳videos| 国产91清纯白嫩初高中在线观看| 国产精品电影院| 欧美视频一区二区三区四区| 日本特黄久久久高潮| 国产亚洲精品久| 91高清视频免费看| 日韩电影在线免费观看| 久久久久久亚洲综合影院红桃| 99精品久久久久久| 天堂在线亚洲视频| 国产日韩欧美精品电影三级在线| av一二三不卡影片| 亚洲国产日韩精品| 26uuu亚洲综合色欧美| 成人av网站在线| 亚洲国产裸拍裸体视频在线观看乱了| 337p亚洲精品色噜噜噜| 经典三级视频一区| 亚洲另类在线制服丝袜| 日韩欧美黄色影院| youjizz国产精品| 青青草伊人久久| 中文字幕第一区二区| 欧美久久久久免费| 成人午夜av在线| 舔着乳尖日韩一区| 中文字幕一区二区5566日韩| 欧美一区二区福利在线| www.亚洲色图.com| 免费人成在线不卡| 亚洲图片另类小说| 精品精品国产高清a毛片牛牛| 99麻豆久久久国产精品免费 | 午夜精品福利久久久| 国产欧美日本一区视频| 欧美日韩激情在线| 成人高清视频在线| 久久精品国产亚洲一区二区三区 | 国产精品一区二区在线看| 亚洲国产中文字幕| 欧美国产欧美综合| 日韩午夜在线影院| 在线观看国产一区二区| 成人小视频免费在线观看| 日韩精品电影一区亚洲| 亚洲综合色噜噜狠狠| 中文字幕av一区二区三区高| 欧美videossexotv100| 欧美绝品在线观看成人午夜影视| gogo大胆日本视频一区|