📄 parsebuffer.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.
*
\******************************************************************* ---*/
#ifndef _PARSE_BUFFER_H_
#define _PARSE_BUFFER_H_
extern "C"
{
#include <wdm.h>
}
#include <windef.h>
#include <ks.h>
#include <ksmedia.h>
#include "BasePin.h"
class ParseBuffer
{
public:
ParseBuffer(DWORD line_size, DWORD lines_per_buffer);
~ParseBuffer();
virtual VOID resetBuffer();
VOID notifyPinFormatChange(){_pin_format_changed = TRUE;}
DWORD getLineSize(){return _line_size;}
DWORD copyLine(PBYTE p_line, DWORD length, FIELD_TYPE field_number, BOOLEAN *partial_line);
VOID setPin(BasePin* p_pin);
VOID releasePin();
protected:
virtual VOID doCopy(PBYTE p_buffer, DWORD bytes_to_copy);
virtual BOOLEAN isBufferDone();
virtual VOID setPinFormat();
protected:
PKSSTREAM_POINTER _p_current_buffer;
DWORD _lines_completed;
DWORD _bytes_left_in_line;
DWORD _line_size;
DWORD _stride;
DWORD _lines_per_field;
FIELD_TYPE _current_field;
BasePin* _p_pin;
KMUTEX _mutex;
BOOLEAN _pin_format_changed;
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -