亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? main.pas

?? DSPack is a set of Components and class to write Multimedia Applications using MS Direct Show and Di
?? PAS
字號:
// *****************************************************************************
// Author: komarov andrey.
// Email: komar@elecard.net.ru
// This filter is a useful debugging tool. For example, you can verify,
// bit by bit, the results of a transform filter. You can build a graph
// manually by using GraphEdit, and connect the Dump filter to the output
// of a transform filter or any other output pin.
// *****************************************************************************

unit Main;

interface
uses BaseClass, DirectShow9, ActiveX, Windows, classes, Dialogs, Sysutils;

const CLSID_DumpNew : TGUID = '{62E78A56-7B3A-4CF0-B751-712B00C8E578}';

MyPinType: TRegPinTypes =
    (clsMajorType: @MEDIATYPE_NULL;
     clsMinorType: @MEDIASUBTYPE_NULL);

MyPins : array[0..0] of TRegFilterPins =
    ((strName: 'Input'; bRendered: FALSE; bOutput: FALSE; bZero: FALSE; bMany: FALSE;
      oFilter: nil; strConnectsToPin: nil; nMediaTypes: 1; lpMediaType: @MyPinType));

Type
  TDump = class;

  TMyPin = Class (TBCRenderedInputPin)  //TBCBasePin
  private
    FLast: TReferenceTime;
    FDump: TDump;
    FFile: integer;
  public
    mF:string;
    constructor Create(ObjectName: string; pUnk: IUnKnown; Filter: TBCBaseFilter;
      Lock: TBCCritSec; out hr: HRESULT; Name: WideString; mpFileN:string);
    function CheckMediaType(mt: PAMMediaType): HRESULT; override;
    function Receive(pSample: IMediaSample): HRESULT; override;
    function EndOfStream: HRESULT; override;
    function BreakConnect: HRESULT; override;
    procedure OpenFile;
    Procedure CloseFile;
  end;

  /////////////////// Dump Class ////////////////////
  TDump = class (TBCBaseFilter,IFileSinkFilter)
  private
    xxx: integer;
    yyy: integer;
    FPin: TMyPin;
    FfileName: String;
  protected
    function SetFileName(pszFileName: PWideChar; pmt: PAMMediaType): HRESULT; stdcall;
    function GetCurFile(out ppszFileName: PWideChar; pmt: PAMMediaType): HRESULT; stdcall;
  public
    function Stop: HRESULT; override;
    function Run(tStart: TReferenceTime): HRESULT; override;
    function GetPin(n: Integer): TBCBasePin; override;
    constructor Create(Name: string;           // Object description
                      Unk : IUnKnown;         // IUnknown of delegating object
                      Lock: TBCCritSec;       // Object who maintains lock
                      const clsid: TGUID      // The clsid to be used to serialize this filter
                      );
    function GetPinCount: integer; override;
  end;

implementation

procedure TMyPin.CloseFile;
begin
  FileClose(FFile);
end;

procedure TMyPin.OpenFile;
begin
  FFile := FileCreate(mF);
end;

constructor TMyPin.Create(ObjectName: string;pUnk: IUnKnown; Filter: TBCBaseFilter;
      Lock: TBCCritSec; out hr: HRESULT; Name: WideString; mpFileN:string);
begin
  inherited Create(ObjectName, Filter, Lock, hr, Name);
  mF := mpFileN;
  OpenFile;
  CloseFile;
  FLast := 0;
end;

function TMyPin.BreakConnect: HRESULT;
begin
  result := inherited BreakConnect;
end;

function TDump.Stop: HRESULT;
begin
  FPin.CloseFile;
  result := inherited Stop;
end;

function TMyPin.EndOfStream: HRESULT;
begin
 result := inherited EndOfStream;
end;

function TDump.Run(tStart: TReferenceTime): HRESULT;
begin
  FPin.OpenFile;
  result := inherited Run(tStart);
end;

function TMyPin.Receive(pSample: IMediaSample): HRESULT;
var
  pbData: PBYTE;
  tStart, tStop: TREFERENCETIME;
begin
  pSample.GetTime(tStart,tStop);
  DbgLog(FDump,'Komar');
  pSample.GetPointer(pbData);
  FileWrite(FFile, pbData^, pSample.GetActualDataLength);
  result := S_OK;
end;

function TMyPin.CheckMediaType(mt: PAMMediaType): HRESULT;
begin
  result := S_OK;
end;

function TDump.GetPinCount: integer;
begin
  result := 1;
end;

constructor TDump.Create(Name: string;         // Object description
                       Unk : IUnKnown;         // IUnknown of delegating object
                       Lock: TBCCritSec;       // Object who maintains lock
                       const clsid: TGUID      // The clsid to be used to serialize this filter
                       );
begin
  inherited create(Name,Unk,Lock,CLSID_DumpNew);
end;

function TDump.GetPin(n: Integer): TBCBasePin;
var
  hr: HRESULT;
begin
  if (xxx = 0) then
  begin
    xxx := 1;
    FPin := TMyPin.Create('Null input pin', GetOwner, self, TBCCritSec.Create, hr, 'Input', FfileName);//,PINDIR_INPUT);
  end;
  result := FPin;
end;

function TDump.SetFileName(pszFileName: PWideChar; pmt: PAMMediaType): HRESULT;
begin
  if Length(pszFileName) > MAX_PATH then
  begin
    result := ERROR_FILENAME_EXCED_RANGE;
    exit;
  end;
  FFileName := copy(pszFileName, 1, Length(pszFileName));
  if (yyy > 0) then
  begin
    FPin.CloseFile;
    FPin.mF := FFileName;
    FPin.OpenFile;
    FPin.CloseFile;
  end;
  inc(YYY);
  if FfileName = '' then
    Result := E_OUTOFMEMORY
  else
    result:=S_OK;
end;

function TDump.GetCurFile(out ppszFileName: PWideChar; pmt: PAMMediaType): HRESULT;
begin
  ppszFileName := StringToOleStr(copy(FfileName, 1, Length(FfileName)));
  pmt.majortype := MEDIATYPE_NULL;
  pmt.subtype := MEDIASUBTYPE_NULL;
  result := S_OK;
end;

initialization
  TBCClassFactory.CreateFilter(TDump, 'Dump New', CLSID_DumpNew,
    CLSID_LegacyAmFilterCategory, MERIT_DO_NOT_USE, 1, @MyPins);
end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲视频一区在线| 日韩三区在线观看| 91久久久免费一区二区| 欧美影片第一页| 日韩精品一区二区三区三区免费 | 99久久久久久99| 欧美日韩在线观看一区二区 | 欧美videos中文字幕| 亚洲欧美色图小说| 韩日av一区二区| 色先锋资源久久综合| 日韩欧美视频一区| 国内不卡的二区三区中文字幕| 精品免费一区二区三区| 国精产品一区一区三区mba视频 | 视频一区视频二区中文字幕| 国产一区二区三区免费看| 91久久线看在观草草青青| 亚洲一区二区精品久久av| 国产一区二区三区观看| 欧美激情在线观看视频免费| 免费亚洲电影在线| 欧美亚洲一区二区在线观看| 日韩高清在线电影| 欧美日韩久久久| 一区二区三区在线视频播放 | 极品销魂美女一区二区三区| 精品视频999| 精彩视频一区二区| 中文字幕制服丝袜一区二区三区 | 日韩理论电影院| 欧美色视频一区| 精品一二三四在线| 亚洲精品国产a| k8久久久一区二区三区| 久久久av毛片精品| 激情综合色播激情啊| 国产精品精品国产色婷婷| 91久久一区二区| 国产一区二区三区日韩| 一区二区三区四区av| 日韩欧美国产精品一区| 91毛片在线观看| 一区二区在线观看视频在线观看| 日韩欧美在线123| 99re热这里只有精品视频| 欧美aaa在线| 亚洲女同女同女同女同女同69| 欧美一区二区网站| 久久精品国产一区二区三区免费看 | 日本亚洲三级在线| 国产精品欧美综合在线| 不卡视频免费播放| 亚洲色图第一区| 精品国产三级a在线观看| 激情综合色丁香一区二区| 亚洲欧美日韩国产中文在线| 精品国产精品一区二区夜夜嗨| 色婷婷综合激情| 丁香一区二区三区| 国产精品乱码一区二区三区软件 | 91搞黄在线观看| 成人午夜碰碰视频| 尤物在线观看一区| 久久精品一二三| 色哟哟在线观看一区二区三区| 国产一区二区在线视频| 日韩电影在线观看网站| 一区二区久久久久| 中文字幕在线观看不卡视频| 欧美在线观看视频一区二区三区 | 午夜精品久久久久久久久久久 | 免费高清不卡av| 亚洲一区二区免费视频| 亚洲欧美一区二区三区国产精品| 久久精品一区四区| 久久这里只有精品视频网| 成人永久看片免费视频天堂| 国产在线不卡视频| 九九精品一区二区| 久草热8精品视频在线观看| 三级亚洲高清视频| 亚洲18女电影在线观看| 久久久久高清精品| 久久久久久久综合色一本| 日韩美女主播在线视频一区二区三区| 欧美日韩免费电影| 欧日韩精品视频| 在线一区二区三区| 一本大道久久a久久综合| 99久久婷婷国产综合精品| 不卡的电影网站| 91香蕉视频黄| 91久久香蕉国产日韩欧美9色| 91免费版pro下载短视频| av一区二区三区黑人| 91影院在线观看| 色美美综合视频| 欧美午夜精品久久久久久孕妇| 欧洲视频一区二区| 欧美日韩一区二区三区不卡 | 一区二区三区免费| 婷婷六月综合亚洲| 激情久久久久久久久久久久久久久久| 极品少妇xxxx精品少妇偷拍| 国产成人亚洲精品狼色在线| 国产99久久久国产精品潘金 | 国产在线麻豆精品观看| 国产成人在线看| 97精品国产露脸对白| 欧美伦理影视网| 91亚洲国产成人精品一区二区三 | 亚洲国产美女搞黄色| 国产精品国产馆在线真实露脸| 亚洲欧洲一区二区三区| 亚洲一区二区三区四区不卡| 免费成人性网站| 成人午夜视频免费看| 在线看日韩精品电影| 日韩免费高清视频| 亚洲视频香蕉人妖| 免费在线看一区| 成人av在线网| 欧美日韩成人激情| 国产色爱av资源综合区| 亚洲精品ww久久久久久p站| 麻豆精品久久久| 日韩av一二三| 国产白丝精品91爽爽久久| 91国偷自产一区二区开放时间| 91麻豆精品国产自产在线观看一区| 91高清视频在线| 久久蜜桃av一区精品变态类天堂| 自拍偷拍亚洲欧美日韩| 日韩在线卡一卡二| 色一情一伦一子一伦一区| 欧美成人一区二区三区在线观看| 1024成人网| 国产一区二区三区精品欧美日韩一区二区三区 | 综合久久久久久| 男女性色大片免费观看一区二区 | 欧美激情自拍偷拍| 偷拍一区二区三区四区| 成人动漫中文字幕| 26uuu久久天堂性欧美| 亚洲成va人在线观看| 成人黄色国产精品网站大全在线免费观看 | 国产人妖乱国产精品人妖| 精品国产一区二区三区久久影院| 亚洲女厕所小便bbb| 国产精品主播直播| gogo大胆日本视频一区| 欧美成人一区二区三区| 有坂深雪av一区二区精品| 丰满少妇在线播放bd日韩电影| 欧美一区二区三区四区在线观看 | 久久久亚洲国产美女国产盗摄| 亚洲国产va精品久久久不卡综合| 成人性生交大片免费 | 日韩亚洲欧美在线| 亚洲一区二区在线视频| 99精品久久99久久久久| 中文字幕精品一区| 国产高清无密码一区二区三区| 91精品国模一区二区三区| 亚洲一区二区三区美女| 色婷婷激情一区二区三区| 中文字幕中文字幕一区| 国产老妇另类xxxxx| 欧美成va人片在线观看| 免费在线观看一区| 制服.丝袜.亚洲.另类.中文| 亚洲国产人成综合网站| 欧美三级电影在线看| 一区二区三区四区亚洲| 色视频一区二区| 亚洲精品一二三四区| 91行情网站电视在线观看高清版| 中文字幕在线观看一区二区| 成人黄色电影在线 | 欧美精品一区二区在线播放| 极品少妇xxxx精品少妇| 26uuu国产一区二区三区| 国产美女在线精品| 国产日韩欧美高清| 成人福利视频在线| 亚洲精品少妇30p| 欧美视频在线一区二区三区| 亚洲成人高清在线| 欧美福利视频一区| 久久精品国产亚洲a| 久久九九久久九九| 成人小视频在线| 一个色综合av| 欧美肥妇bbw| 国产一区二区调教| 亚洲视频香蕉人妖| 欧美伦理电影网| 国产一区亚洲一区| 综合激情成人伊人|