/** * Copyright(c) 2011 Sunmedia Technologies - All Rights Reserved. * * @file * * @brief this file defines dvb monitor interface for app layer. * * The file supports the dvb monitor functions by used for app layer. At present, the function * include dvb monitor start, dvb monitor stop, dvb monitor running state. * This module dispose signal monitor, program state monitor. * */ #ifndef __AL_DVB_MONITOR_H__ #define __AL_DVB_MONITOR_H__ #include "al_basictypes.h" #ifdef __cplusplus extern "C"{ #endif /** * @brief Define dvb monitor state type. */ typedef enum { AL_DVB_MONITOR_STATE_MONITOR, /**< Get monitor state, al_true: monitor running, al_false: monitor not running, other: invalid state*/ AL_DVB_MONITOR_STATE_SIGNAL, /**< Get signal state, al_false: no signale, al_true: good signal, , other: invalid state*/ AL_DVB_MONITOR_STATE_MAX, } AL_DVBMon_State_Type_t; /** * @brief Define dvb monitor value type. */ typedef enum { AL_DVB_MONITOR_VALUE_FALSE = al_false, AL_DVB_MONITOR_VALUE_TRUE = al_true, AL_DVB_MONITOR_VALUE_INVAILED = 2, } AL_DVBMon_Value_Type_t; /** * @brief dvb monitor start function. * * Active dvb monitor task, start to monitor signal state and program state change. * * @param al_void. * * @return AL_SUCCESS dvb monitor state is successful, AL_FAILURE otherwise. */ AL_Return_t AL_DVB_Monitor_Start(al_void); /** * @brief dvb monitor stop function. * * Stop dvb monitor task, stop to monitor signal state and program state. * * @param bExit[input] used to mark hang up dvb monitor task or exit dvb monitor. * * @return AL_SUCCESS dvb monitor stop is successful, AL_FAILURE otherwise. */ AL_Return_t AL_DVB_Monitor_Stop(al_bool bExit); /** * @brief get dvb monitor running state function. * * Get dvb monitor current state. * * @param eStateType[input] state type. * * @param pbDVBMonState[output] dvb monitor running state value. * * @return AL_SUCCESS get dvb monitor state is successful, AL_FAILURE otherwise. */ AL_Return_t AL_DVB_Monitor_GetState(AL_DVBMon_State_Type_t eStateType, al_uint8 *pbDVBMonState); /** * @brief set dvb monitor signal state function. * * Set dvb monitor signal state, because driver has received stream has data or vip finish but dvb monitor has not check signal avaible. * * @param eStateType[input] state type. * * @param pbDVBMonState[output] dvb monitor running state value. * * @return AL_SUCCESS get dvb monitor state is successful, AL_FAILURE otherwise. */ AL_Return_t AL_DVB_Monitor_SetState(AL_DVBMon_State_Type_t eStateType, al_uint8 *pbDVBMonState); #ifdef CONFIG_DVB_SYSTEM_DVBS_SUPPORT al_void AL_DVB_Monitor_SetForceMotor(al_uint8 bForceMotor); #endif #ifdef __cplusplus } #endif #endif