📄 pe_consumer_bdrom.h
字号:
/*****************************************************************************
******************************************************************************
** **
** Copyright (c) 2006 Videon Central, Inc. **
** All rights reserved. **
** **
** The computer program contained herein contains proprietary information **
** which is the property of Videon Central, Inc. The program may be used **
** and/or copied only with the written permission of Videon Central, Inc. **
** or in accordance with the terms and conditions stipulated in the **
** agreement/contract under which the programs have been supplied. **
** **
******************************************************************************
*****************************************************************************/
/**
* @file pe_consumer_bdrom.h
*
* $Revision: 1.15 $
*
* PE Consumer BDROM Derived Class Definition
* The PE Consumer moves data from an input stream to a decoder or demux.
*
*/
#ifndef PE_CONSUMER_BDROM_H
#define PE_CONSUMER_BDROM_H
#include "pg_api.h"
#include "ig_api.h"
#include "textst_api.h"
#ifdef DRM_SUPPORT
#include "drm_wrapper.h"
#endif
#ifdef DRM_BDPLUS_SUPPORT
#include "bdp.h"
#include "player_types.h"
#endif
class cPEConsumer_BDROM : public cPEConsumer
{
public:
cPEConsumer_BDROM()
{
m_fStillOn = FALSE;
m_pg_dec = NULL;
m_ig_dec = NULL;
m_st_dec = NULL;
new_item = FALSE;
}
~cPEConsumer_BDROM()
{
}
void * operator new( size_t size )
{
return ( OS_MemAlloc(size) );
}
void operator delete( void * pvPFB )
{
OS_MemFree(pvPFB);
}
PE_STATUS Configure(PE_CONSUMER_CONFIG_INFO *pConfigInfo);
PE_STATUS Reset(void);
PE_STATUS DemuxAddVideoTS(LONG lPID, PE_ISTREAMCTRL_VIDEO_TYPE VideoType, Decoder* pDecoder);
PE_STATUS DemuxAddAudioTS(LONG lPID, PE_ISTREAMCTRL_AUDIO_TYPE AudioType, PE_ISTREAMCTRL_AUDIO_ATTRIBUTES *pAttributes, Decoder* pDecoder);
PE_STATUS DemuxAddSecondaryAudioTS(LONG lPID, PE_ISTREAMCTRL_AUDIO_TYPE AudioType, PE_ISTREAMCTRL_AUDIO_ATTRIBUTES *pAttributes, Decoder* pDecoder);
PE_STATUS DemuxAddPGTS(LONG lPID, PVOID pDecoder);
PE_STATUS DemuxAddIGTS(LONG lPID, PVOID pDecoder);
PE_STATUS DemuxAddSubTextTS(LONG lPID, PVOID pDecoder);
PE_STATUS DemuxRemoveVideoTS(void);
PE_STATUS DemuxRemoveAudioTS(void);
PE_STATUS DemuxRemovePGTS(void);
PE_STATUS DemuxRemoveIGTS(void);
PE_STATUS DemuxRemoveSubTextTS(void);
PE_STATUS DemuxRemoveSecondaryAudioTS(void);
PE_STATUS DemuxGetPGTS(LONG *pPID, BOOLEAN *pfIsActive);
PE_STATUS DemuxGetIGTS(LONG *pPID, BOOLEAN *pfIsActive);
PE_STATUS DemuxGetSubTextTS(LONG *pPID, BOOLEAN *pfIsActive);
PE_STATUS Run(void);
PE_STATUS Flush(void);
PE_STATUS Stop(BOOLEAN fHoldPicture);
PE_STATUS Pause(void);
PE_STATUS SetRate(PE_ISTREAMCTRL_PLAYRATE *pPlayRate);
private:
PG_HANDLE m_pg_dec;
IG_HANDLE m_ig_dec;
TEXTST_HANDLE m_st_dec;
LONG m_pg_pid;
LONG m_ig_pid;
LONG m_st_pid;
BOOLEAN new_item;
PE_STATUS ProcessEndOfStream(PVOID StreamContext);
PE_STATUS ProcessBegOfStream(PVOID StreamContext);
PE_STATUS processData(PEINPUTMESSAGE *pInMessage);
PE_STATUS processInfo(PEINPUTMESSAGE *pInMessage);
PE_STATUS SendPayloadToInputInteractiveGraphics (cPayload* pPayload);
PE_STATUS SendPayloadToInputTextSubtitle (cPayload* pPayload);
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -