📄 capturefilter.h
字号:
/*+++ *******************************************************************\
*
* Copyright and Disclaimer:
*
* ---------------------------------------------------------------
* This software is provided "AS IS" without warranty of any kind,
* either expressed or implied, including but not limited to the
* implied warranties of noninfringement, merchantability and/or
* fitness for a particular purpose.
* ---------------------------------------------------------------
*
* Copyright (c) 2008 Conexant Systems, Inc.
* All rights reserved.
*
\******************************************************************* ---*/
extern "C"
{
#include <wdm.h>
}
#include <windef.h>
#include <ks.h>
#include <ksmedia.h>
typedef enum{
CAPTURE_FILTER_VIDEO_IN = 0,
CAPTURE_FILTER_AUDIO_IN,
CAPTURE_FILTER_VIDEO_OUT
// Since adding a feature of disable audio out pin, the Audio out and VBI out indexes
// have been removed. The VBI Out index now configured dynamically based on the
// DisableAudioOutPin registry key.
}CAPTURE_FILTER_PINS;
class CaptureFilter
{
public:
CaptureFilter(
KSFILTER *p_ks_filter,
BOOLEAN use_mpeg1,
BOOLEAN is_ntsc,
BOOLEAN is_fullspeed,
DWORD medium_id,
DWORD vbi_pin_index);
~CaptureFilter();
VOID setVideoOutPinCategories(DWORD pin_index, BOOLEAN is_ntsc, BOOLEAN is_fullspeed, BOOLEAN using_mpeg1 = FALSE);
static NTSTATUS dispatchCreate( KSFILTER *p_ks_filter, IRP *p_irp );
static NTSTATUS dispatchClose( KSFILTER *p_ks_filter, IRP *p_irp );
static NTSTATUS setProcAmpProp( IRP *p_irp,
KSPROPERTY_VIDEOPROCAMP_S *p_in,
KSPROPERTY_VIDEOPROCAMP_S *p_out );
static NTSTATUS getProcAmpProp( IRP *p_irp,
KSPROPERTY_VIDEOPROCAMP_S *p_in,
KSPROPERTY_VIDEOPROCAMP_S *p_out );
static NTSTATUS setDecoderProp( IRP *p_irp,
KSPROPERTY_VIDEODECODER_S *p_in,
KSPROPERTY_VIDEODECODER_S *p_out );
static NTSTATUS getDecoderProp( IRP *p_irp, KSPROPERTY *p_ks_prop,
void *p_data );
private:
KSFILTER *_p_ks_filt;
DWORD _vbi_pin_index;
};
// externs:
extern
const
KSAUTOMATION_TABLE
captureFilterAutomationTable;
extern
const
KSFILTER_DISPATCH
captureFilterDispatch;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -