/** * Copyright(c) 2011 Sunmedia Technologies - All Rights Reserved. * * @file * * @brief this file defines subtitle interface for app layer. * * The file supports the subtitle functions by used for app layer. At present, the subtitle * start/stop function include dvb subtitle and teletext function. When starting subtitle, * the app layer only need send the index by user seletected on the subtitle menu and * subtitle type to afw layer. The afw layer need start subtitle function with subtitle type. * When stopping subtitle, afw layer need stop subtitle function with subtitle type. */ #ifndef __AL_SUBTITLE_H__ #define __AL_SUBTITLE_H__ #include "al_basictypes.h" #ifdef __cplusplus extern "C"{ #endif /** * @brief define subtitle descriptor language code size. */ #define LANG_CODE_SIZE (3) /** * @brief structure definition for subtitle descriptor information. * * After one subtitle descriptor from the PMT is parsed, the information will * be stored to subtitle descriptor buffer with the structure. \n * Parsing descriptor information includes the information: * @li pid: specify the pid of the transport stream packets which carry the * associated program element. * @li composition page id: identify the composition page that conveys * subtitle elements for one specific subtitle service. * @li ancillary page id: identify the ancillary page that conveys subtitle elements * for being shared by multiple subtitle services within a subtitle stream. * @li language: contain charater language code of language of subtitle. * @li type: contain the subtitle type. */ typedef struct _AL_Subtitle_Desc_t { al_int id; /**< subtitle id by used when play recorded file*/ al_uint16 Pid; /**< subtitle pid */ al_uint16 CompositionPageId; /**< composition page id */ al_uint16 AncillaryPageId; /**< ancillary page id */ al_uint8 Language[LANG_CODE_SIZE]; /**< subtitle language */ al_uint8 Type; /**< subtitle type */ } AL_Subtitle_Desc_Info_t; /** * @brief select the subtitle data type for gotten the subtitle data. */ typedef enum { AL_SUBTITLE_DEMUX_CHAN = 0, /**< data comes from demux channel for TS */ AL_SUBTITLE_PE_CHAN, /**< data comes from PE channel for recorded TS */ AL_SUBTITLE_MAX /**