📄 pe_consumer_cdda.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_cdda.h
*
* $Revision: 1.9 $
*
* PE Consumer CDDA Derived Class Definition
* The PE Consumer moves data from an input stream to a decoder or demux.
*
*/
#ifndef PE_CONSUMER_CDDA_H
#define PE_CONSUMER_CDDA_H
#include "cDemux.h"
#define CDDA_COPY_UNITIALIZED 0xFF
#define CDDA_COPY_TOGGLING 0x02
typedef enum _tagPE_DTS_SYNC_DETECT_STATE
{
DTS_SYNC_DETECT_STATE_INIT,
DTS_SYNC_DETECT_STATE_16BIT_SYNCWORD1,
DTS_SYNC_DETECT_STATE_16BIT_SYNCWORD2,
DTS_SYNC_DETECT_STATE_14BIT_SYNCWORD1,
DTS_SYNC_DETECT_STATE_14BIT_SYNCWORD2
} PE_DTS_SYNC_DETECT_STATE;
class cPEConsumer_CDDA : public cPEConsumer
{
public:
cPEConsumer_CDDA()
{
m_fStillOn = FALSE;
m_pcm_settings.bits_per_sample = 16;
m_pcm_settings.sample_rate = 44100;
m_pcm_settings.channels = 2;
m_pcm_settings.spdif_output_only = false;
m_bPrevCopy = CDDA_COPY_UNITIALIZED;
m_nDtsBytesToSearch = 0;
m_n14bitDtsSyncWords = 0;
m_n16bitDtsSyncWords = 0;
m_DtsSyncDetectState = DTS_SYNC_DETECT_STATE_INIT;
}
~cPEConsumer_CDDA()
{
}
PE_STATUS Configure(PE_CONSUMER_CONFIG_INFO *pConfigInfo);
PE_STATUS Reset(void);
PE_STATUS Run(void);
PE_STATUS Flush(void);
PE_STATUS Stop(BOOLEAN fHoldPicture);
PE_STATUS SetRate(PE_ISTREAMCTRL_PLAYRATE *pPlayRate);
private:
PE_STATUS processData(PEINPUTMESSAGE *pInMessage);
PE_STATUS processInfo(PEINPUTMESSAGE *pInMessage);
BOOLEAN checkForDtsSyncWord(cPayload *pPayload);
BYTE m_bPrevCopy;
BYTE m_bPrevEmphasis;
LONG m_nDtsBytesToSearch;
LONG m_n14bitDtsSyncWords;
LONG m_n16bitDtsSyncWords;
PE_DTS_SYNC_DETECT_STATE m_DtsSyncDetectState;
protected:
PCM_SETTINGS_TYPE m_pcm_settings;
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -