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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? source.h

?? 用DirectX制作高級動畫-[Advanced.Animation.with.DirectX]
?? H
字號:
//------------------------------------------------------------------------------
// File: Source.h
//
// Desc: DirectShow base classes - defines classes to simplify creation of
//       ActiveX source filters that support continuous generation of data.
//       No support is provided for IMediaControl or IMediaPosition.
//
// Copyright (c) 1992-2002 Microsoft Corporation.  All rights reserved.
//------------------------------------------------------------------------------


//
// Derive your source filter from CSource.
// During construction either:
//    Create some CSourceStream objects to manage your pins
//    Provide the user with a means of doing so eg, an IPersistFile interface.
//
// CSource provides:
//    IBaseFilter interface management
//    IMediaFilter interface management, via CBaseFilter
//    Pin counting for CBaseFilter
//
// Derive a class from CSourceStream to manage your output pin types
//  Implement GetMediaType/1 to return the type you support. If you support multiple
//   types then overide GetMediaType/3, CheckMediaType and GetMediaTypeCount.
//  Implement Fillbuffer() to put data into one buffer.
//
// CSourceStream provides:
//    IPin management via CBaseOutputPin
//    Worker thread management

#ifndef __CSOURCE__
#define __CSOURCE__

class CSourceStream;  // The class that will handle each pin


//
// CSource
//
// Override construction to provide a means of creating
// CSourceStream derived objects - ie a way of creating pins.
class CSource : public CBaseFilter {
public:

    CSource(TCHAR *pName, LPUNKNOWN lpunk, CLSID clsid, HRESULT *phr);
    CSource(TCHAR *pName, LPUNKNOWN lpunk, CLSID clsid);
#ifdef UNICODE
    CSource(CHAR *pName, LPUNKNOWN lpunk, CLSID clsid, HRESULT *phr);
    CSource(CHAR *pName, LPUNKNOWN lpunk, CLSID clsid);
#endif
    ~CSource();

    int       GetPinCount(void);
    CBasePin *GetPin(int n);

    // -- Utilities --

    CCritSec*	pStateLock(void) { return &m_cStateLock; }	// provide our critical section

    HRESULT     AddPin(CSourceStream *);
    HRESULT     RemovePin(CSourceStream *);

    STDMETHODIMP FindPin(
        LPCWSTR Id,
        IPin ** ppPin
    );

    int FindPinNumber(IPin *iPin);
    
protected:

    int             m_iPins;       // The number of pins on this filter. Updated by CSourceStream
    	   			   // constructors & destructors.
    CSourceStream **m_paStreams;   // the pins on this filter.

    CCritSec m_cStateLock;	// Lock this to serialize function accesses to the filter state

};


//
// CSourceStream
//
// Use this class to manage a stream of data that comes from a
// pin.
// Uses a worker thread to put data on the pin.
class CSourceStream : public CAMThread, public CBaseOutputPin {
public:

    CSourceStream(TCHAR *pObjectName,
                  HRESULT *phr,
                  CSource *pms,
                  LPCWSTR pName);
#ifdef UNICODE
    CSourceStream(CHAR *pObjectName,
                  HRESULT *phr,
                  CSource *pms,
                  LPCWSTR pName);
#endif
    virtual ~CSourceStream(void);  // virtual destructor ensures derived class destructors are called too.

protected:

    CSource *m_pFilter;	// The parent of this stream

    // *
    // * Data Source
    // *
    // * The following three functions: FillBuffer, OnThreadCreate/Destroy, are
    // * called from within the ThreadProc. They are used in the creation of
    // * the media samples this pin will provide
    // *

    // Override this to provide the worker thread a means
    // of processing a buffer
    virtual HRESULT FillBuffer(IMediaSample *pSamp) PURE;

    // Called as the thread is created/destroyed - use to perform
    // jobs such as start/stop streaming mode
    // If OnThreadCreate returns an error the thread will exit.
    virtual HRESULT OnThreadCreate(void) {return NOERROR;};
    virtual HRESULT OnThreadDestroy(void) {return NOERROR;};
    virtual HRESULT OnThreadStartPlay(void) {return NOERROR;};

    // *
    // * Worker Thread
    // *

    HRESULT Active(void);    // Starts up the worker thread
    HRESULT Inactive(void);  // Exits the worker thread.

public:
    // thread commands
    enum Command {CMD_INIT, CMD_PAUSE, CMD_RUN, CMD_STOP, CMD_EXIT};
    HRESULT Init(void) { return CallWorker(CMD_INIT); }
    HRESULT Exit(void) { return CallWorker(CMD_EXIT); }
    HRESULT Run(void) { return CallWorker(CMD_RUN); }
    HRESULT Pause(void) { return CallWorker(CMD_PAUSE); }
    HRESULT Stop(void) { return CallWorker(CMD_STOP); }

protected:
    Command GetRequest(void) { return (Command) CAMThread::GetRequest(); }
    BOOL    CheckRequest(Command *pCom) { return CAMThread::CheckRequest( (DWORD *) pCom); }

    // override these if you want to add thread commands
    virtual DWORD ThreadProc(void);  		// the thread function

    virtual HRESULT DoBufferProcessingLoop(void);    // the loop executed whilst running


    // *
    // * AM_MEDIA_TYPE support
    // *

    // If you support more than one media type then override these 2 functions
    virtual HRESULT CheckMediaType(const CMediaType *pMediaType);
    virtual HRESULT GetMediaType(int iPosition, CMediaType *pMediaType);  // List pos. 0-n

    // If you support only one type then override this fn.
    // This will only be called by the default implementations
    // of CheckMediaType and GetMediaType(int, CMediaType*)
    // You must override this fn. or the above 2!
    virtual HRESULT GetMediaType(CMediaType *pMediaType) {return E_UNEXPECTED;}

    STDMETHODIMP QueryId(
        LPWSTR * Id
    );
};

#endif // __CSOURCE__

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人免费视| 欧美亚洲一区二区在线观看| 欧美一区二区日韩| 久久婷婷综合激情| 午夜精品福利在线| 成人av电影免费在线播放| 欧美日韩一区二区三区视频| 中文字幕av一区 二区| 老司机免费视频一区二区三区| 91浏览器入口在线观看| 国产亚洲成年网址在线观看| 五月激情六月综合| 色爱区综合激月婷婷| 国产精品女同一区二区三区| 久久超级碰视频| 91精品视频网| 五月婷婷激情综合网| 91色porny| 国产精品福利影院| 成人午夜激情视频| 国产日韩成人精品| 国产精品一卡二| 精品国精品国产| 另类的小说在线视频另类成人小视频在线| 欧美在线你懂的| 一区二区三区在线看| 91网站黄www| 亚洲欧美综合色| 本田岬高潮一区二区三区| 欧美激情综合五月色丁香小说| 韩国女主播成人在线| 精品国产乱码久久久久久免费 | 日日夜夜一区二区| 91黄色激情网站| 亚洲一区电影777| 欧美日韩中文国产| 日韩中文字幕麻豆| 日韩亚洲欧美一区二区三区| 蜜臀99久久精品久久久久久软件| 日韩欧美国产麻豆| 国产综合久久久久影院| 欧美激情在线一区二区| 成人va在线观看| 亚洲精品日产精品乱码不卡| 欧洲一区二区三区在线| 五月天一区二区| 日韩欧美电影一二三| 国内成人自拍视频| 国产精品久久久久久户外露出 | 日韩综合在线视频| 日韩欧美高清在线| 成人小视频在线| 伊人开心综合网| 91精品国产综合久久精品麻豆| 日韩电影在线观看一区| 久久久久久免费网| 色综合色综合色综合色综合色综合| 一区二区三区日韩| 欧美一区二区三区成人| 国产麻豆成人精品| 一区二区三区在线视频观看58| 欧美精品tushy高清| 国产成人免费视频精品含羞草妖精| 自拍av一区二区三区| 制服丝袜av成人在线看| 国产成人亚洲综合a∨猫咪| 一区二区在线观看视频在线观看| 欧美一区二区三区公司| 国产很黄免费观看久久| 极品美女销魂一区二区三区| 一区二区中文视频| 日韩一级成人av| 波多野结衣91| 精品在线播放免费| 亚洲国产aⅴ天堂久久| 久久久久久久久99精品| 欧美日韩精品欧美日韩精品一综合| 激情综合色播激情啊| 一区二区三区四区在线免费观看 | 日本韩国欧美在线| 国产在线精品视频| 亚洲电影欧美电影有声小说| 国产精品拍天天在线| 91精品啪在线观看国产60岁| 91美女片黄在线观看| 国产一区二区久久| 美女一区二区久久| 亚洲综合色噜噜狠狠| 中文字幕av在线一区二区三区| 日韩一卡二卡三卡国产欧美| 91麻豆精东视频| 国产成人aaaa| 久久成人羞羞网站| 丝袜美腿亚洲综合| 亚洲精品国产一区二区精华液| 国产视频一区二区在线观看| 日韩三级在线观看| 欧美人体做爰大胆视频| 日本高清不卡aⅴ免费网站| 懂色一区二区三区免费观看| 精品午夜久久福利影院 | 国产欧美一区二区精品久导航| 91麻豆精品国产91久久久资源速度 | 亚洲国产视频在线| 亚洲欧美日韩电影| **网站欧美大片在线观看| 中文字幕欧美区| 国产亚洲欧美色| 久久精品一二三| 国产亚洲污的网站| 久久久国产精华| 久久久久久一二三区| 26uuu亚洲| 久久精品一区二区| 国产亚洲欧美日韩日本| 国产亚洲污的网站| 国产精品久久午夜夜伦鲁鲁| 中文字幕一区日韩精品欧美| 国产精品理论片| 亚洲天堂a在线| 亚洲精品成人悠悠色影视| 亚洲激情男女视频| 亚洲一区二区三区四区不卡| 亚洲成人一二三| 三级欧美在线一区| 美女看a上一区| 国产一区二区三区四区五区美女| 久久久久久久久久久久电影 | 欧美在线小视频| 欧美写真视频网站| 欧美日韩久久一区二区| 日韩丝袜情趣美女图片| 2021国产精品久久精品| 欧美激情综合在线| 一区二区三区四区蜜桃| 亚洲成人自拍偷拍| 久久国产人妖系列| 国产aⅴ综合色| aa级大片欧美| 欧美日韩小视频| 久久综合狠狠综合久久综合88 | 一区二区三区四区视频精品免费| 亚洲专区一二三| 激情综合网最新| 92精品国产成人观看免费| 欧美亚洲动漫制服丝袜| 日韩一区二区在线播放| 国产精品无遮挡| 性做久久久久久| 亚洲精品videosex极品| 国精产品一区一区三区mba视频| 国产一区二区精品久久99| 懂色av一区二区夜夜嗨| 欧美影视一区在线| 久久中文字幕电影| 亚洲制服丝袜在线| 国产精品99久久久久| 欧美主播一区二区三区美女| 337p日本欧洲亚洲大胆精品 | 欧美一区二区在线视频| 中文字幕高清一区| 日韩二区在线观看| 波多野结衣亚洲一区| 日韩欧美区一区二| 亚洲综合区在线| 波多野结衣欧美| 精品国产1区二区| 亚洲h在线观看| 99在线精品观看| 国产亚洲欧美在线| 麻豆91精品视频| 欧美揉bbbbb揉bbbbb| 国产精品入口麻豆原神| 久久av中文字幕片| 678五月天丁香亚洲综合网| 国产精品久久99| 国产精品资源在线看| 日韩欧美中文一区二区| 亚洲在线免费播放| 成人ar影院免费观看视频| 26uuu精品一区二区在线观看| 视频一区二区三区在线| 色婷婷狠狠综合| 自拍偷拍亚洲综合| 成人性生交大片免费看中文| www久久精品| 国产呦萝稀缺另类资源| 日韩欧美电影一区| 蜜臀久久99精品久久久久久9| 欧美区视频在线观看| 一区二区三区四区乱视频| 91麻豆蜜桃一区二区三区| 国产精品网站在线播放| 国产成人亚洲综合色影视| 精品精品国产高清一毛片一天堂| 日韩国产欧美在线视频| 91精品在线观看入口| 五月天精品一区二区三区| 欧美午夜电影网| 亚洲第一精品在线|