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

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

?? clips_menu.c

?? ZORAN 962/966 SOURCE CODE,DVD chip
?? C
?? 第 1 頁 / 共 5 頁
字號:
			return;
		poBrowserParam->mbCdgInGraphicView = FALSE;
		go_CurrentLayout.m_bOSDBufferNum = OSD_BUFFER_0;
		OSDSetPlane();
	}
	OSDSetMemoryRange();
	OSDSetDisplayRange();
}
#endif//D_CD_GRAPHIC_ENABLED
/***************************************************************************************
*	Function	:	_IsSlideShowPlaying
*
*	In		:	None.
*
*	Out 		:	TRUE if MP3+JPEG are currently playing.
*
*	Desc		:	This function checks if the background API object is currently playing.
*				The sole purpose of the background API object is to play MP3 during
*				slideshow.
****************************************************************************************/
#ifdef JPEG_MP3_ENABLE
#if 0
static BOOL _IsSlideShowPlaying(void)
{
	if(ActionEngine_AmIPlaying(BgActionEnginePtr, ActionEngine_GetActiveItem(BgActionEnginePtr)))
		return TRUE;

	return FALSE;
}
#endif
#endif // JPEG_MP3_ENABLE

/***************************************************************************************
*	Function	:	_RefreshIntroButton
*
*	In		:	pPage	=	Pointer to the page who's "Intro" tool button needs to be refresed.
*
*	Out 		:	None.
*
*	Desc		:	Checks if the intro mode is currently set for the source API object, and refreshes the
*				"Intro" button to appear dipressed if necessary.
****************************************************************************************/
#ifdef D_GUI_TOOLKIT_ADD_INTRO
static void _RefreshIntroButton(MSO_BROWSER_PAGE __NEAR* pPage)
{
	MS_ASSERT(NULL != pPage);
	
	if(TRUE == ActionEngine_IsPlaybackIntro(_GetSrcActionEnginePtr(pPage)))
	{
		if(NULL_INDEX != DirBrowser_FindFile((PtrToDirBrowser)_GetSrcActionEnginePtr(pPage), NULL_INDEX, CLIPTYPE_JPEG, FALSE))
		{
			MSO_OBJECT __NEAR* pObject = MS_FindDescendant(pPage, &oIntroButtonDescriptor);
			ActionEngine_SetPlayBackIntro(_GetSrcActionEnginePtr(pPage), FALSE);

			if(NULL != pObject)
			{
				MS_ResetRadio(pObject);
				MS_DisplayAddObject(pObject);
			}
		}
	}
}
#endif // D_GUI_TOOLKIT_ADD_INTRO


/***************************************************************************************
*	Function	:	_PrepareFgBeforeNewAction
*
*	In		:	None.
*
*	Out 		:	None.
*
*	Desc	:	The purpose of this function is to synchronize the foreground API object with the source
*				currently active page.
****************************************************************************************/
static void _PrepareFgBeforeNewAction(void)
{
	MSO_CLIPS_MENU __NEAR* pClipsMenu 	= _GetMsoClipsMenu();
	MSO_PAGE __NEAR* pActivePage 		= _GetActivePage();
	PtrToActionEngineObject pApiObjectSrc 	= _GetSrcActionEnginePtr(pActivePage);
	ActionEngineObject oActionEngineObject;
	BOOL bPreserveFgPlayModes = FALSE;

	MS_ASSERT(NULL != pActivePage);

	// If playing on another page, stop the current playback and destruct the engine
	if(NULL != FgActionEnginePtr)
	{
		// Destruct Fg to get it re-construct if changed page, changed directory or changed the file type filter
		if (	(OPAGE_GetPageIndex(pActivePage) != FgPageIndex)
			||_AreWorkDirectoyDifferent(FgActionEnginePtr, pApiObjectSrc)
			||(ActionEngine_IsDirBrowserObject(pApiObjectSrc)&&_IsFileTypeFilterDifferent(FgActionEnginePtr, pApiObjectSrc)))
		{
			// Copy the playmodes of Fg to temporary object, it will be copied back the Fg later
			memcpy(&(oActionEngineObject), FgActionEnginePtr, sizeof(ActionEngineObject));
			bPreserveFgPlayModes = TRUE;

			ActionEngine_Stop(FgActionEnginePtr);
			ActionEngine_Destruct(FgActionEnginePtr);
			FgActionEnginePtr = NULL;
			FgPageIndex = INVALID_PAGE_INDEX;
		}
	}

	// If no engine, build according to active page, copying the source engine attached to it.
	if((NULL == FgActionEnginePtr))
	{
			FgActionEnginePtr = ActionEngine_Construct_Ex(pApiObjectSrc->mObjectType, (UiIdentifier)pClipsMenu, FALSE);
		ActionEngine_CopyObject(FgActionEnginePtr, pApiObjectSrc);
		if(bPreserveFgPlayModes)
			_CopyPlaymode(FgActionEnginePtr, (PtrToActionEngineObject)&oActionEngineObject);
		MS_ASSERT(NULL != FgActionEnginePtr);

		FgPageIndex = OPAGE_GetPageIndex(pActivePage);
	}
}

/***************************************************************************************
*	Function	: 	_CopyPlaymode
*
*	In		:
*
*
*	Out		: 	None.
*
*	Return	:	None.
*
*	Desc 	:
****************************************************************************************/
static void _CopyPlaymode(PtrToActionEngineObject pActionEngineObjectDest, PtrToActionEngineObject pActionEngineObjectSource)
{
	if(ActionEngine_IsRepeatSingle(pActionEngineObjectSource))
		ActionEngine_SetRepeatSingle(pActionEngineObjectDest, TRUE);
	else if(ActionEngine_IsRepeatAll(pActionEngineObjectSource))
		ActionEngine_SetRepeatAll(pActionEngineObjectDest, TRUE);
	else
		ActionEngine_SetRepeatOff(pActionEngineObjectDest);

	if(ActionEngine_IsPlaybackNormal(pActionEngineObjectSource))
		ActionEngine_SetPlayBackNormal(pActionEngineObjectDest);

	if(ActionEngine_IsPlaybackRandom(pActionEngineObjectSource))
		ActionEngine_SetPlayBackRandom(pActionEngineObjectDest, TRUE);
	else
		ActionEngine_SetPlayBackRandom(pActionEngineObjectDest, FALSE);

	if(ActionEngine_IsPlaybackShuffle(pActionEngineObjectSource))
		ActionEngine_SetPlayBackShuffle(pActionEngineObjectDest, TRUE);
	else
		ActionEngine_SetPlayBackShuffle(pActionEngineObjectDest, FALSE);
	
	if(ActionEngine_IsPlaybackIntro(pActionEngineObjectSource))
		ActionEngine_SetPlayBackIntro(pActionEngineObjectDest, TRUE);
	else
		ActionEngine_SetPlayBackIntro(pActionEngineObjectDest, FALSE);


}
/***************************************************************************************
*	Function	: 	_StopPlayback
*
*	In		:
*
*
*	Out		: 	None.
*
*	Return	:	None.
*
*	Desc 	:
****************************************************************************************/
static BOOL _StopPlayback(void)
{
	BOOL bResult = 0;

	if(!CoreAPI_WaitForUICoreActionDone())
		return FALSE;

	_ResetSpeed();
	if(FALSE == ActionEngine_CurrItemIsRepeatABOff(FgActionEnginePtr))
	{
		ActionEngine_CurrItemRepeatABOff(FgActionEnginePtr);
		//MS_SendOp(MS_OP_MSG_PLAYMODE_REPEAT_AB, PM_REPEAT_AB_OFF);
	}

	if (ActionEngine_CurrItemStop(FgActionEnginePtr))
	{
		UINT16 wActiveItem = ActionEngine_GetActiveItem(FgActionEnginePtr);
		enClipType tClipType = ActionEngine_GetFileType(FgActionEnginePtr, wActiveItem);
		bResult = 1;

		// Cancel Repeat mode in full stop.
		if((FALSE == ActionEngine_IsRepeatOff(FgActionEnginePtr))
		&& ((PST_STOP == ActionEngine_GetPlayState(FgActionEnginePtr))
				&& ((FALSE == ActionEngine_AmIResumeStop(FgActionEnginePtr, wActiveItem))
#ifndef CLIPS_WMA_SUPPORT_RESUMESTOP
				|| _IsFileTypeWma(tClipType)
#endif // CLIPS_WMA_SUPPORT_RESUMESTOP
#ifdef D_OGG_VORBIS
				|| _IsFileTypeOgg(tClipType)
#endif
				|| _IsFileTypeJpeg(tClipType))))
		{
		_CancelRepeat();
	}
	}
	//if FG already stop we should not return right now but stop BG for next step.
	else if(ActionEngine_IsListNonStop(FgActionEnginePtr))
		return 0;

	// The stop state of fg and bg and synchronized
	if (NULL != BgActionEnginePtr)
	{	ActionEngine_Stop(BgActionEnginePtr);
		CoreAPI_SetClipWorkingMode(CLIP_WORKING_MODE_NORMAL);
		ActionEngine_Destruct(BgActionEnginePtr);
		BgActionEnginePtr = NULL;
		bResult = 1;
	}
	return bResult;
}
/***************************************************************************************
*	Function	: 	_FullStopPlayback
*
*	In		:
*
*
*	Out		: 	None.
*
*	Return	:	None.
*
*	Desc 	:
****************************************************************************************/
static BOOL _FullStopPlayback(void)
{
	if (_StopPlayback())
	{
		ActionEngine_Stop(FgActionEnginePtr);
		_CancelRepeat();
		return 1;
	}
	return 0;
}
/***************************************************************************************
*	Function	: 	_ResumeStopPlayback
*
*	In		:
*
*
*	Out		: 	None.
*
*	Return	:	None.
*
*	Desc 	:
****************************************************************************************/
static BOOL _ResumeStopPlayback(void)
{
	BOOL bResult = 0;
	if (PST_STOP != ActionEngine_GetPlayState(FgActionEnginePtr))
	{
	if (ActionEngine_CurrItemStop(FgActionEnginePtr))
		bResult = 1;
	}
	if (PST_STOP != ActionEngine_GetPlayState(BgActionEnginePtr))
	{
	if (ActionEngine_CurrItemStop(BgActionEnginePtr))
		bResult = 1;
	}
	return bResult;
}

/***************************************************************************************
*	Function	: 	_ResumePlayback
*
*	In		:
*
*
*	Out		: 	None.
*
*	Return	:	None.
*
*	Desc 	:	Handles resume play for Bg and Fg. First resumes the Bg and then Fg.
*				In case one fails, then return FALSE.
****************************************************************************************/
static BOOL _ResumePlayback(void)
{
	BOOL bResult = TRUE;
	UINT16 wFgActiveItem = ActionEngine_GetActiveItem(FgActionEnginePtr);

	if (NULL_INDEX != wFgActiveItem)
	{
		UINT16 wBgActiveItem = ActionEngine_GetActiveItem(BgActionEnginePtr);

		if (NULL_INDEX != wBgActiveItem)
		{
			MS_ASSERT(CoreAPI_IsSimultaneousMode());
			bResult = ActionEngine_CurrItemPlay(BgActionEnginePtr);
		}
		// If Bg failed, don't resume Fg.
		// Another possibility would be to clear the simultaneous mode and restart Fg (Jpeg).
		if (TRUE == bResult)
		{
			enClipType tClipType = ActionEngine_GetFileType(FgActionEnginePtr, wFgActiveItem);

			// Display background if we are about to play PHOTO or MOVIE.
			if (_IsFileTypeVideo(tClipType))
				CoreAPI_DisplayLogo(eBackground);

			if (_IsFileTypeJpeg(tClipType) || _IsFileTypeWma(tClipType))
				bResult = ActionEngine_GotoEntry(FgActionEnginePtr, wFgActiveItem, eActionPlay);
			else
				bResult = ActionEngine_CurrItemPlay(FgActionEnginePtr);
		}
	}
	else
		bResult = FALSE;

	return bResult;
}

/***************************************************************************************
* Function : _CancelRepeat
*
* In :
*
*
* Out : None.
*
* Return : None.
*
* Desc :
****************************************************************************************/
static BOOL _CancelRepeat(void)
{
	BOOL bResult = 0;

	if(FALSE == ActionEngine_IsRepeatOff(FgActionEnginePtr))
	{
		ActionEngine_SetRepeatOff(FgActionEnginePtr);
		bResult = 1;
	}

	return bResult;
}
/***************************************************************************************
* Function : _CancelRepeatAB
*
* In :
*
*
* Out : None.
*
* Return : None.
*
* Desc :
****************************************************************************************/
#ifdef D_REPEAT_CANCELS_REPEATAB
static BOOL _CancelRepeatAB(void)
{
	// Cancel Repeat
	if (FALSE == ActionEngine_CurrItemIsRepeatABOff(FgActionEnginePtr))
	{
		return (ActionEngine_CurrItemRepeatABOff(FgActionEnginePtr));
	}
	return 0;
}
#endif // D_REPEAT_CANCELS_REPEATAB
/***************************************************************************************
*	Function	: 	_ResetSpeed
*
*	In		:
*
*
*	Out		: 	None.
*
*	Return	:	None.
*
*	Desc 	:
****************************************************************************************/
static BOOL _ResetSpeed(void)
{
	BOOL bResult = 0;
	if(ActionEngine_GetScanSpeed(FgActionEnginePtr))
	{
		ActionEngine_CurrItemScan(FgActionEnginePtr, 0);
		bResult = 1;
	}
	else if(ActionEngine_GetSlowSpeed(FgActionEnginePtr))

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区三区久久久| 亚洲女同一区二区| 韩国三级中文字幕hd久久精品| 欧美精品乱码久久久久久| 亚洲一区二区三区在线播放| 在线看一区二区| 日韩高清电影一区| 精品国产亚洲在线| 高清在线不卡av| 亚洲少妇30p| 精品视频1区2区3区| 亚洲亚洲精品在线观看| 91精品国产综合久久福利软件 | 午夜影院在线观看欧美| 欧美年轻男男videosbes| 奇米精品一区二区三区在线观看 | 日本道色综合久久| 亚洲一区在线免费观看| 欧美群妇大交群的观看方式| 久久精品国产精品亚洲红杏| 国产日韩精品一区二区三区| 91在线精品一区二区| 亚洲国产日日夜夜| 精品国产一区二区在线观看| 成人av在线资源网| 日韩成人伦理电影在线观看| 国产欧美日韩综合| 欧美日韩午夜影院| 国产一区二区三区蝌蚪| 亚洲精品一二三| 91精品国产一区二区| 不卡av电影在线播放| 亚洲福利一区二区| 精品电影一区二区| 91福利在线导航| 国产呦萝稀缺另类资源| 洋洋av久久久久久久一区| 精品国产伦一区二区三区免费 | 7777精品伊人久久久大香线蕉 | 日韩美女精品在线| 日韩精品中文字幕一区| 91视频精品在这里| 狠狠色丁香婷综合久久| 一级女性全黄久久生活片免费| 精品国产一区二区国模嫣然| 在线亚洲一区观看| 国产精品99久久久久| 天天av天天翘天天综合网| 国产精品免费视频一区| 日韩一区二区电影在线| 欧美伊人精品成人久久综合97| 国产精品一级二级三级| 亚洲va欧美va国产va天堂影院| 国产日韩欧美一区二区三区综合| 欧美疯狂做受xxxx富婆| 99久久久国产精品| 国产麻豆成人传媒免费观看| 日本91福利区| 亚洲成人激情社区| 亚洲九九爱视频| 国产日韩欧美在线一区| 精品噜噜噜噜久久久久久久久试看| 在线国产电影不卡| 99久久免费视频.com| 国产成人a级片| 久久99精品久久久久婷婷| 日韩专区一卡二卡| 亚洲成人1区2区| 一区二区欧美精品| 一区二区三区产品免费精品久久75| 欧美国产一区视频在线观看| 久久久久国产精品麻豆| 精品久久久久av影院| 日韩欧美自拍偷拍| 欧美一区二区久久久| 制服丝袜激情欧洲亚洲| 69p69国产精品| 欧美高清视频不卡网| 欧美夫妻性生活| 91精品国产欧美日韩| 91精品欧美一区二区三区综合在| 欧美三级午夜理伦三级中视频| 欧美无砖砖区免费| 欧美主播一区二区三区美女| 欧美在线观看一二区| 欧洲一区在线电影| 欧美系列一区二区| 欧美巨大另类极品videosbest | 亚洲精品乱码久久久久| 亚洲视频 欧洲视频| 一区2区3区在线看| 午夜日韩在线电影| 爽爽淫人综合网网站| 美国毛片一区二区三区| 黄色资源网久久资源365| 国产成+人+日韩+欧美+亚洲| 波波电影院一区二区三区| 99久久精品费精品国产一区二区| 91丝袜美女网| 91国产视频在线观看| 色婷婷av一区二区| 7777精品伊人久久久大香线蕉经典版下载 | av成人老司机| 成人免费不卡视频| 成人av网站在线观看免费| 国产成人综合自拍| 国产成人综合网站| 成人综合在线观看| 成人av影院在线| 91小视频免费观看| 色综合网色综合| 91福利在线观看| 91精品在线免费| 久久一夜天堂av一区二区三区| 欧美一卡2卡3卡4卡| 国产精品午夜久久| 一区二区三区在线看| 亚洲在线一区二区三区| 丝袜诱惑亚洲看片| 精品一二三四在线| 不卡高清视频专区| 成人黄动漫网站免费app| 欧美日韩中文字幕一区二区| 日韩视频不卡中文| 国产精品丝袜一区| 亚洲夂夂婷婷色拍ww47| 美女高潮久久久| 高清国产一区二区| 日韩一级免费一区| 国产精品天天看| 亚洲成a人在线观看| 国产精品一区二区三区网站| 99这里只有精品| 91麻豆精品国产91久久久久| 精品日韩欧美在线| 中文字幕人成不卡一区| 午夜视频在线观看一区| 精彩视频一区二区| 不卡av在线免费观看| 91色九色蝌蚪| 精品乱码亚洲一区二区不卡| 成人欧美一区二区三区在线播放| 日本视频免费一区| 色妹子一区二区| 久久久午夜电影| 午夜伊人狠狠久久| 国产伦精品一区二区三区免费迷 | 国产精品你懂的在线欣赏| 亚洲日穴在线视频| 国产成人av电影在线| 欧美精品久久天天躁| 国产精品女主播在线观看| 日本免费在线视频不卡一不卡二| 91福利社在线观看| 国产欧美va欧美不卡在线| 极品尤物av久久免费看| 欧美另类久久久品| 亚洲欧美另类小说| 精品午夜久久福利影院| 日韩一本二本av| 亚洲精品一二三四区| 国产91露脸合集magnet| 欧美一区二区三区婷婷月色| 中文字幕中文在线不卡住| 免费在线观看精品| 日韩三级免费观看| 亚洲高清免费在线| 91免费国产在线观看| 欧美国产精品劲爆| 老司机午夜精品| 久久综合久色欧美综合狠狠| 日本伊人色综合网| 欧美日韩精品免费观看视频| 欧美韩日一区二区三区| 国产精选一区二区三区| 7777精品伊人久久久大香线蕉经典版下载| 亚洲图片欧美色图| 色一区在线观看| 亚洲女子a中天字幕| 99r精品视频| 国产精品―色哟哟| 成人激情小说乱人伦| 国产午夜久久久久| 盗摄精品av一区二区三区| 国产精品久久久久久久久免费桃花 | 久久亚洲二区三区| 久久精品国产一区二区| 欧美一区永久视频免费观看| 洋洋成人永久网站入口| 欧美日韩在线不卡| 亚洲成人免费在线观看| 欧美日韩1234| 日本伊人色综合网| 久久一二三国产| 国产**成人网毛片九色| 国产精品久线在线观看| voyeur盗摄精品| 亚洲欧美一区二区三区久本道91 | 中文字幕乱码一区二区免费| 粉嫩久久99精品久久久久久夜|