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

📄 pe_consumer_vcd.h

📁 这是DVD中伺服部分的核心代码
💻 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_vcd.h
 *
 * $Revision: 1.6 $ 
 *
 * PE Consumer VCD/SVCD Derived Class Definition
 * The PE Consumer moves data from an input stream to a decoder or demux.
 *
 */

#ifndef PE_CONSUMER_VCD_H
#define PE_CONSUMER_VCD_H


class cPEConsumer_VCD : public cPEConsumer
{
public:

    cPEConsumer_VCD(PE_ISTREAMCTRL_STREAM_TYPE StreamType = STREAM_TYPE_MPEG2_PS)
    {
        m_fStillOn   = FALSE;
        m_fPCM       = FALSE;
        m_lPid       = 0xE0;
        if ( (StreamType >= 0) && (StreamType < STREAM_TYPE_INVALID) )
        {
            m_streamType = StreamType;
        }
        else
        {
            DbgPrint(("cPEConsumer_VCD Class Constructor : Invalid Stream Type \n"));
            delete this;
        }
    }

    ~cPEConsumer_VCD()
    {
    }

    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);

    // Override the Program Stream Methods
    PE_STATUS DemuxAddVideoPS(LONG lPID, PE_ISTREAMCTRL_VIDEO_TYPE VideoType, LONG lExtID, PE_ISTREAMCTRL_VIDEO_EXT_TYPE ExtVideoType, Decoder* pDecoder);
    PE_STATUS DemuxAddAudioPS(LONG lPID, LONG lSubID, PE_ISTREAMCTRL_AUDIO_TYPE AudioType, PE_ISTREAMCTRL_AUDIO_ATTRIBUTES *pAttributes, Decoder* pDecoder);
    PE_STATUS DemuxRemoveAudioPS(void);

    PE_STATUS Run(void);
    PE_STATUS Flush(void);
    PE_STATUS Stop(BOOLEAN fHoldPicture);

    PE_STATUS Pause(void);

private:

    BOOLEAN m_fPCM;
    LONG    m_lPid;

    PE_ISTREAMCTRL_STREAM_TYPE m_streamType;
    PE_STATUS processData(PEINPUTMESSAGE *pInMessage);
    PE_STATUS ProcessEndOfStream(PVOID StreamContext);
};

#endif

⌨️ 快捷键说明

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