⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dvdv_show.c

📁 SAMSUNG 5009的源代码
💻 C
📖 第 1 页 / 共 3 页
字号:
		OSD_ChangeDisplay(OSD_CTRL_UPDATE_INFO, NULL, SYS_NO_WAIT);
	}
	else 
	{
		// DVD_UR_INVALID_STATE
		OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT);
	}
}

void DvdShowAngleChange(DvdUopResult_t result, BYTE1 angle_num)
{
	if ( result == DVD_UR_SUCCESS )
	{	
		/* Update Angle OSD right now */
		OSD_ChangeDisplay(OSD_CTRL_UPDATE_INFO, NULL, SYS_NO_WAIT);
	}
	else
	{
		// DVD_UR_PROHIBIT
		// DVD_UR_INVALID_STATE
		// DVD_UR_INVALID_ANGLE_NUM
		OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT);
	}
}

VOID DvdShowRepeat(DvdUopResult_t result, DvdRepeatState_t repeat_action)
{
	OSD_State_st *osd_state;

	osd_state = OSD_GetState();
	if ( result == DVD_UR_SUCCESS )
	{
		switch ( repeat_action )
		{
#ifdef _DVD_REPEAT_AB_IN_OTHER_REPEAT
			case DVD_REPEAT_NONE:
				// In order to clear repeat state, DvdShowRepeatCleared() should be called
				break;	// do nothing
#else
			case DVD_REPEAT_NONE:
				OSD_SetIconDisplay(ICON_REPEAT_OFF, NULL, SYS_NO_WAIT);
				SetVfdRepeatDisplay(FP_REPEAT_CLEAR);	// oms 7/15
				break;
#endif				
			case DVD_REPEAT_A:
				OSD_SetIconDisplay(ICON_REPEAT_A, NULL, SYS_NO_WAIT);
				SetVfdRepeatDisplay(FP_REPEAT_ADASH);
				break;
			case DVD_REPEAT_B:
				OSD_SetIconDisplay(ICON_REPEAT_B, NULL, SYS_NO_WAIT);
				SetVfdRepeatDisplay(FP_REPEAT_B);
				break;
			case DVD_REPEAT_PG:
				SetVfdRepeatDisplay(FP_REPEAT_CHAPTER);
				break;	
			case DVD_REPEAT_TT:
				SetVfdRepeatDisplay(FP_REPEAT_TITLE);
				break;
			case DVD_REPEAT_DISC:
				SetVfdRepeatDisplay(FP_REPEAT_ALL);
				break;
			default:
				ASSERT(0);
				break;
		}
#if 1	//wanglin 20060724,update DVD info bar only in read state;
		if( osd_state->etCur_dsp==DISPLAY_INFO && gNavi_state != STATE_CELL_START)			
			OSD_ChangeDisplay(OSD_CTRL_UPDATE_INFO, NULL, SYS_NO_WAIT);
#else		
		OsdChangedValueLine();
#endif
	}
	else
	{
		// DVD_UR_INVALID_STATE
		OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT);
	}
}

#ifdef _DVD_EZ_VIEW
VOID DvdShowEzView(DvdUopResult_t result)
{
	if ( result == DVD_UR_SUCCESS )
	{	
		OSD_ChangeDisplay(OSD_CTRL_UPDATE_EZ, NULL, SYS_NO_WAIT);
	}
	else
	{
		// DVD_UR_INVALID_STATE
		OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT);
	}
}
#endif

#ifdef _DVD_BOOKMARK
VOID DvdShowBookmark(DvdUopResult_t result, BYTE1 bookmark_num, BYTE1 bookmark_action)
{
	OsdCtrl_st ctrl;
	
	if ( result == DVD_UR_SUCCESS )
	{
		UINT old_bm;
		
		if( bookmark_num <= MAX_BOOKMARK_NUM && bookmark_num > 1 )
			old_bm = bookmark_num - 1;
		else 
			old_bm = bookmark_num + 1;
		
		switch ( bookmark_action )	
		{
			case PARAM_BOOKMARK_ERASE:
			case PARAM_BOOKMARK_SET:
			case PARAM_BOOKMARK_PLAY:
				ctrl.p.bm.old_bm = old_bm;
				ctrl.p.bm.new_bm = bookmark_num;
				OSD_ChangeDisplay(OSD_CTRL_BOOKMARK_SEL, &ctrl, SYS_NO_WAIT);
				break;
			default:
				/* should not happen */
				ASSERT(0);
				break;		
		}
	}
	else
	{
		// DVD_UR_INVALID_STATE
		// DVD_UR_BM_EXIST 
		// DVD_UR_NO_BM_EXIST
		OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT);
	}
}
#endif

#if _APP_CAP_FUNC_INSTANT_PLAY

VOID DvdShowInstantPlay(DvdUopResult_t result, BOOL is_skip)
{
	if ( result == DVD_UR_SUCCESS )
	{
		if ( is_skip )
			OSD_SetIconDisplay( ICON_INST_SKIP, NULL, SYS_NO_WAIT );
		else
			OSD_SetIconDisplay( ICON_INST_REPLAY, NULL, SYS_NO_WAIT);
	}
	else
	{
		// DVD_UR_TRANSIENT_PG
		// DVD_UR_OUT_OF_RANGE
		OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT);
	}
}
#endif

VOID DvdShowColdStart(VOID)
{
#if _APP_CAP_FUNC_COLDSTART/* Qian liping 050713*/
	OSD_SetMainDisplay(DISPLAY_COLDSTART, SYS_WAIT);
#endif
}


#ifdef _DVD_PROGRAM
VOID DvdShowPlaymodeChange(DvdUopResult_t result,  BYTE1 playmode)
{
	OSD_State_st *osd_state;

	osd_state = OSD_GetState();
	if ( result == DVD_UR_SUCCESS )
	{
		//if ( playmode != PARAM_PB_NORMAL )
			//OSD_SetMainDisplay(DISPLAY_INFO, SYS_WAIT);
		switch( playmode )
		{
			case PARAM_PB_NORMAL:
				SetVfdPrgmRndDisplay(FP_PRGM_RANDOM_OFF);
				SetVfdPrgmRndDisplay(FP_PRGM_PROGRAM_OFF);
				break;
			case PARAM_PB_RANDOM:
				SetVfdPrgmRndDisplay(FP_PRGM_RANDOM);
				break;
				
			case PARAM_PB_PROGRAM:
				SetVfdPrgmRndDisplay(FP_PRGM_PROGRAM);
				break;
		}

		if( osd_state->etCur_dsp==DISPLAY_INFO )			
			OSD_ChangeDisplay(OSD_CTRL_UPDATE_INFO, NULL, SYS_NO_WAIT);
		else
		{
#ifdef _APP_CAP_GVG_INFO_KEEP_AFTER_PROGRAM//clina 061018
				OSD_SetMainDisplay(DISPLAY_OFF, SYS_NO_WAIT); 
#else
			OSD_SetMainDisplay(DISPLAY_INFO, SYS_NO_WAIT); 
#endif
			OSD_SetIconDisplay(ICON_KEEP, NULL, SYS_NO_WAIT); // Qian liping 060906: bug fix 651
		}

	}
	else
	{
		//DVD_UR_INVALID_PTTN
		//DVD_UR_INVALID_TTN
		//DVD_UR_NO_PROGRAM_EXIST
		OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT);
	}
}
#endif

#ifdef _DVD_MENU_RETURN
VOID DvdShowMenuReturn(DvdUopResult_t result, BYTE1 menu_id)
{
	if ( result == DVD_UR_SUCCESS )
	{
		if(menu_id == PARAM_MENU_ID_TITLE)
		{
			OSD_SetIconDisplay( ICON_TT_MENU, NULL, SYS_NO_WAIT );
		}
		else if(menu_id == PARAM_MENU_ID_ROOT)
		{
			OSD_SetIconDisplay( ICON_RT_MENU, NULL, SYS_NO_WAIT );
		}		
	}
	else
	{
		OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT);
	}
}
#endif

/******************************************************************************
 *  Function name	: DvdShowStartBigOsd
 *  Arguments		: 
 *       IN				DvdUopResult_t result,BigOsd_et big_osd_type
 *       OUT
 *       INOUT
 *
 *  Return		: VOID 
 *  By			: Inseo Han
 *  Description		: 
 *					
 *
 *  Revisions     	: 1.0
 ******************************************************************************
 */
VOID DvdShowStartBigOsd(DvdUopResult_t result,BigOsd_et big_osd_type)
{
	if ( result == DVD_UR_SUCCESS )
	{
#if _APP_CAP_OSD_USE_LOGO_FOR_SETUP	
		OSD_LogoOn(LOGO_SETUP, TRUE);
#endif /* _APP_CAP_OSD_USE_LOGO_FOR_SETUP */

		// Qian liping 060407
		//OSD_SetIconDisplay(ICON_CLEAR, NULL, SYS_NO_WAIT);

		switch (big_osd_type)
		{
			case BIG_OSD_SETUP:
				OSD_SetMainDisplay(DISPLAY_SETUP, SYS_WAIT);
				break;
				
			case BIG_OSD_PROGRAM:
				OSD_SetMainDisplay(DISPLAY_PROGRAM, SYS_WAIT);
				break;
				
			case BIG_OSD_FAT_SELECT:
				OSD_SetMainDisplay(DISPLAY_FAT_DEVICE, SYS_WAIT);
				break;
				
			default:
				ASSERT(0);
				break;
		}
	}
	else
	{
		OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT);
	}
}

#if (_APP_CAP_FUNC_DVD_POWER_RESUME || _APP_CAP_FUNC_DVD_OPENCLOSE_RESUME)
/******************************************************************************
 *  Function name : SetupInfoSaveDvd
 *  Arguments     : void
 *  Return        : void
 *  By            : Taejin Kwon
 *  Description   : Load setup information from ROM
 *  Revision		: (yanglu, 060302)
 ******************************************************************************
 */
VOID DvdResumeInfoSave( VOID )
{
	DvdPowerOffResumeInfo_t resume;

	SH_writeEepromByte( ROM_ADDR_RESUME_FLAG, FALSE ); /* (yanglu, 051218) */
	if( GetDvdvCurrentPlayingPosition( &resume ) == TRUE )
	{
		BYTE1	index, numbytes, *ptr;

		numbytes = sizeof(DvdPowerOffResumeInfo_t);
		ptr = (UCHAR*)(&resume);
		
		for( index = 0; index < numbytes; index ++ )
		{
			SH_writeEepromByte( ROM_ADDR_APPL_RESUME+index, *ptr );
			ptr++;
		}
		//SetupInfoSaveResumeFlag( TRUE );
		SH_writeEepromByte( ROM_ADDR_RESUME_FLAG, TRUE );
	}

	SH_saveEepromValidId();

	/* EEPROM PARK */
	SH_readEepromByte( EEPROM_ADDRESS_PARK );		
}

/******************************************************************************
 *  Function name : SetupInfoLoadDvd
 *  Arguments     : void
 *  Return        : void
 *  By            : Taejin Kwon
 *  Description   : Load setup information from ROM
 *  Revision		: (yanglu, 060302)
 ******************************************************************************
 */
BOOL DvdResumeInfoLoad( DvdPowerOffResumeInfo_t	*resume,    BYTE2 *ptr_gprm)
{
	UCHAR	temp;
	BYTE1	index;

	temp = SH_readEepromByte( ROM_ADDR_RESUME_FLAG );

        // do valid ID check just in setup info load 
	if( temp == TRUE )
	{
		BYTE1	numbytes, *ptr;

		numbytes = sizeof(DvdPowerOffResumeInfo_t);
		ptr = (UCHAR*)resume;
		
		for( index = 0; index < numbytes; index ++ )
		{
			
			*(ptr+index) = SH_readEepromByte( ROM_ADDR_APPL_RESUME+index );
		}

		memcpy(ptr_gprm, resume->gprm, DVD_GPRM_NUM*2);

		return TRUE;
	}else {

		return FALSE;
	}
}
#endif /* _APP_CAP_FUNC_DVD_POWER_RESUME */
#ifdef _ENABLE_DVDV_DIGEST
/******************************************************************************
 *  Function name : DvdvInitDigestGraphic
 *  Arguments     : 
 *       IN			VOID
 *       OUT
 *       INOUT
 *
 *  Return        : VOID
 *  By            : Jiang Shanbin
 *  Description   :Init graphic plane for digest.
 *					
 *  Revisions     :
 ******************************************************************************
 */
VOID DvdvInitDigestGraphic(VOID)
{
	OSD_ChangeDisplay(OSD_CTRL_INIT_DIGEST_PIC, NULL, SYS_NO_WAIT);//clina 061027
}
//clina 061030
VOID DvdvUpdateDigestPic(S5H_Rect_t  rect)
{	OsdCtrl_st  ctrl;
	ctrl.p.rect=rect;
	OSD_ChangeDisplay(OSD_CTRL_UPDATE_DIGEST_PIC, &ctrl, SYS_NO_WAIT);
}
/******************************************************************************
 *  Function name : DvdvShowDigestGraphicOff
 *  Arguments     : 
 *       IN			VOID
 *       OUT
 *       INOUT
 *
 *  Return        : VOID
 *  By            : Jiang Shanbin
 *  Description   :delete the graphic plane, reset the color format.
 *					
 *  Revisions     :changlina 060729 changed
 ******************************************************************************
 */
VOID DvdvShowDigestGraphicOff(VOID)
{
	SetOsdDvdDigestOff();//clina 060803
	gState.dvdv_digest.bIsGraphicPlaneCreated = FALSE;
}
#endif

#if _SUPPORT_TVG_FUNCTION_
VOID TVGShowTVGONOFF(BOOL sw)//060724==>TVG
{
	if(sw)
		OSD_SetIconDisplay(ICON_TVG_ON, NULL, SYS_NO_WAIT);//060724==>TVG
	else
		OSD_SetIconDisplay(ICON_NO_TVG, NULL, SYS_NO_WAIT);//060724==>TVG		
}
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -