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

📄 transport.c

📁 ST5100 driver files for ST chipset
💻 C
字号:
/*****************************************************************************

File name  : transport.c

Description: Transport specific configuration.

COPYRIGHT (C) STMicroelectronics 2004

*****************************************************************************/

#if defined(DVD_TRANSPORT_STPTI)

/* Includes --------------------------------------------------------------- */

#include "stddefs.h"
#include "sttbx.h"

#include "service.h"
#include "tsmerge.h"
#include "transport.h"
#include "app_data.h"

/* Local variables --------------------------------------------------------- */

/* Functions --------------------------------------------------------------- */

/*-------------------------------------------------------------------------
 * Function : SERVICE_TSMERGE_InitParams
 * Input    : mode DVB only
 * Output   :
 * Return   : ST_ERROR_BAD_PARAMETER if service not supported
 * ----------------------------------------------------------------------*/
ST_ErrorCode_t SERVICE_TSMERGE_InitParams(TSIN_Used_t               TsinUsed,
                                          SERVICE_Mode_t            SERVICE_Mode,
                                          STMERGE_ObjectConfig_t  * STMERGE_ObjectConfig_p)
{
	switch(SERVICE_Mode)
	{
		case SERVICE_MODE_DVB:            
			STMERGE_ObjectConfig_p->PacketLength	        = STMERGE_PACKET_LENGTH_DVB;
			if ( (U32)TsinUsed != STMERGE_SWTS_0 )
			{
				STTBX_Print(("SERVICE_TSMERGE_InitParams for TSIN: DVB\n" ));
				STMERGE_ObjectConfig_p->SyncLock			= 0; 
				STMERGE_ObjectConfig_p->SyncDrop			= 0; 
#if 1 // EXT_SHARE
                            STMERGE_ObjectConfig_p->u.TSIN.SyncNotAsync	= TRUE;
#else
                            /*STMERGE_ObjectConfig_p->u.TSIN.SyncNotAsync	= TRUE;*/
				STMERGE_ObjectConfig_p->u.TSIN.SyncNotAsync	= FALSE;
#endif
				STMERGE_ObjectConfig_p->u.TSIN.ReplaceSOPSymbol   = FALSE;
			}
			else
			{
				STTBX_Print(("SERVICE_TSMERGE_InitParams for SWTS: DVB\n" ));
				STMERGE_ObjectConfig_p->SyncLock			    = 1; 
				STMERGE_ObjectConfig_p->SyncDrop			    = 3; 
			}
			break;
		default :
			STTBX_Print(("SERVICE_TSMERGE_InitParams: unknown service %d.\n", SERVICE_Mode));
			return( ST_ERROR_BAD_PARAMETER );
		}

	return( ST_NO_ERROR );
	}

/*-------------------------------------------------------------------------
 * Function : SERVICE_PTI_InitParams
 * Input    : mode DVB or DirecTV
 * Output   :
 * Return   : ST_ERROR_BAD_PARAMETER if service not supported
 * ----------------------------------------------------------------------*/
ST_ErrorCode_t SERVICE_PTI_InitParams(SERVICE_Mode_t SERVICE_Mode,
                                      STPTI_InitParams_t *STPTI_InitParams,
                                      STPTI_SlotType_t **STPTI_SlotTypes)
{
	switch(SERVICE_Mode)
	{
		case SERVICE_MODE_DVB:
		STTBX_Print(("SERVICE_PTI_InitParams: DVB\n" ));
		STPTI_InitParams->TCLoader_p = STPTI_DVBTCLoaderL;
		STPTI_InitParams->TCCodes    = STPTI_SUPPORTED_TCCODES_SUPPORTS_DVB;
		if (STPTI_InitParams->StreamID != STPTI_STREAM_ID_SWTS0)
		{
			/* No packet clock available when TSmerger is in Bypass mode */
			STPTI_InitParams->SyncLock   = 0;
			STPTI_InitParams->SyncDrop   = 0;
		}
		else
		{
			STPTI_InitParams->SyncLock   = 1;
			STPTI_InitParams->SyncDrop   = 3;
		}

		*STPTI_SlotTypes = STPTI_SlotTypes_DVB;
		break;

		default:
			STTBX_Print(("SERVICE_PTI_InitParams: unknown service %d.\n", SERVICE_Mode));
			return( ST_ERROR_BAD_PARAMETER );
	}

	return( ST_NO_ERROR );
}
#endif

/* EOF */

⌨️ 快捷键说明

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