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

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

?? outputq.h

?? 用DirectX制作高級動畫-[Advanced.Animation.with.DirectX]
?? H
字號:
//------------------------------------------------------------------------------
// File: OutputQ.h
//
// Desc: DirectShow base classes -  defines the COutputQueue class, which
//       makes a queue of samples and sends them to an output pin.  The 
//       class will optionally send the samples to the pin directly.
//
// Copyright (c) 1992-2002 Microsoft Corporation.  All rights reserved.
//------------------------------------------------------------------------------


typedef CGenericList<IMediaSample> CSampleList;

class COutputQueue : public CCritSec
{
public:
    //  Constructor
    COutputQueue(IPin      *pInputPin,          //  Pin to send stuff to
                 HRESULT   *phr,                //  'Return code'
                 BOOL       bAuto = TRUE,       //  Ask pin if blocks
                 BOOL       bQueue = TRUE,      //  Send through queue (ignored if
                                                //  bAuto set)
                 LONG       lBatchSize = 1,     //  Batch
                 BOOL       bBatchExact = FALSE,//  Batch exactly to BatchSize
                 LONG       lListSize =         //  Likely number in the list
                                DEFAULTCACHE,
                 DWORD      dwPriority =        //  Priority of thread to create
                                THREAD_PRIORITY_NORMAL,
                 bool       bFlushingOpt = false // flushing optimization
                );
    ~COutputQueue();

    // enter flush state - discard all data
    void BeginFlush();      // Begin flushing samples

    // re-enable receives (pass this downstream)
    void EndFlush();        // Complete flush of samples - downstream
                            // pin guaranteed not to block at this stage

    void EOS();             // Call this on End of stream

    void SendAnyway();      // Send batched samples anyway (if bBatchExact set)

    void NewSegment(
            REFERENCE_TIME tStart,
            REFERENCE_TIME tStop,
            double dRate);

    HRESULT Receive(IMediaSample *pSample);

    // do something with these media samples
    HRESULT ReceiveMultiple (
        IMediaSample **pSamples,
        long nSamples,
        long *nSamplesProcessed);

    void Reset();           // Reset m_hr ready for more data

    //  See if its idle or not
    BOOL IsIdle();

    // give the class an event to fire after everything removed from the queue
    void SetPopEvent(HANDLE hEvent);

protected:
    static DWORD WINAPI InitialThreadProc(LPVOID pv);
    DWORD ThreadProc();
    BOOL  IsQueued()
    {
        return m_List != NULL;
    }

    //  The critical section MUST be held when this is called
    void QueueSample(IMediaSample *pSample);

    BOOL IsSpecialSample(IMediaSample *pSample)
    {
        return (DWORD_PTR)pSample > (DWORD_PTR)(LONG_PTR)(-16);
    }

    //  Remove and Release() batched and queued samples
    void FreeSamples();

    //  Notify the thread there is something to do
    void NotifyThread();


protected:
    //  Queue 'messages'
    #define SEND_PACKET      ((IMediaSample *)(LONG_PTR)(-2))  // Send batch
    #define EOS_PACKET       ((IMediaSample *)(LONG_PTR)(-3))  // End of stream
    #define RESET_PACKET     ((IMediaSample *)(LONG_PTR)(-4))  // Reset m_hr
    #define NEW_SEGMENT      ((IMediaSample *)(LONG_PTR)(-5))  // send NewSegment

    // new segment packet is always followed by one of these
    struct NewSegmentPacket {
        REFERENCE_TIME tStart;
        REFERENCE_TIME tStop;
        double dRate;
    };

    // Remember input stuff
    IPin          * const m_pPin;
    IMemInputPin  *       m_pInputPin;
    BOOL            const m_bBatchExact;
    LONG            const m_lBatchSize;

    CSampleList   *       m_List;
    HANDLE                m_hSem;
    CAMEvent                m_evFlushComplete;
    HANDLE                m_hThread;
    IMediaSample  **      m_ppSamples;
    LONG                  m_nBatched;

    //  Wait optimization
    LONG                  m_lWaiting;
    //  Flush synchronization
    BOOL                  m_bFlushing;

    // flushing optimization. some downstream filters have trouble
    // with the queue's flushing optimization. other rely on it
    BOOL                  m_bFlushed;
    bool                  m_bFlushingOpt;

    //  Terminate now
    BOOL                  m_bTerminate;

    //  Send anyway flag for batching
    BOOL                  m_bSendAnyway;

    //  Deferred 'return code'
    BOOL volatile         m_hr;

    // an event that can be fired after every deliver
    HANDLE m_hEventPop;
};

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久美女艺术照精彩视频福利播放| 日本最新不卡在线| 欧美精品一区二区三区久久久| 欧美视频一二三区| 色成人在线视频| 欧美性猛片aaaaaaa做受| 色狠狠综合天天综合综合| 成人综合婷婷国产精品久久免费| 国产精品乡下勾搭老头1| 国产福利电影一区二区三区| 国产乱码一区二区三区| 成人午夜又粗又硬又大| 成人97人人超碰人人99| 九九在线精品视频| 国产曰批免费观看久久久| 成人av网址在线观看| 色婷婷激情综合| 欧美精品1区2区| 久久综合色婷婷| 亚洲丝袜精品丝袜在线| 亚洲gay无套男同| 91女人视频在线观看| 日韩一区二区三区免费观看| 国产精品久久久久四虎| 国产精品白丝jk黑袜喷水| 国产精品一区二区三区网站| 高清免费成人av| 色中色一区二区| 日韩亚洲欧美中文三级| 久久久国产午夜精品| 亚洲欧美激情视频在线观看一区二区三区 | 国产盗摄一区二区三区| 成人18视频在线播放| 欧美日韩亚洲高清一区二区| 精品黑人一区二区三区久久 | 国产成人啪午夜精品网站男同| 成人av免费在线播放| 欧美日韩精品是欧美日韩精品| 日韩精品在线一区| 自拍偷拍亚洲激情| 激情成人午夜视频| 欧美性三三影院| 国产精品日产欧美久久久久| 三级影片在线观看欧美日韩一区二区 | 在线中文字幕一区二区| 精品国产一区二区三区久久久蜜月 | 91小视频免费看| 日韩欧美一级片| 一区二区三区在线观看视频 | 日本一区二区三区高清不卡| 亚洲激情在线播放| 福利电影一区二区| 欧美一区二区三区日韩视频| 一区二区三区在线高清| 成人网在线免费视频| 日韩欧美国产一二三区| 亚洲成av人片www| 99re免费视频精品全部| 久久精品视频在线看| 三级在线观看一区二区| 日本二三区不卡| 亚洲三级电影全部在线观看高清| 国产成人亚洲综合色影视| 精品国产91亚洲一区二区三区婷婷| 亚洲大片免费看| 欧美性色综合网| 成人免费小视频| 成人性生交大片免费看中文| 久久免费视频色| 久久精品国产亚洲aⅴ| 制服丝袜日韩国产| 午夜欧美视频在线观看| 欧美日精品一区视频| 一区二区三区精品视频| 91精品久久久久久久99蜜桃 | 在线免费不卡视频| 国产精品久久夜| 国产99久久久久| 国产亚洲一二三区| 国产精品一二三四五| 2023国产精品自拍| 国内成+人亚洲+欧美+综合在线| 精品国产伦理网| 国产激情一区二区三区四区 | 777xxx欧美| 日韩高清不卡一区二区三区| 欧美人狂配大交3d怪物一区| 亚洲国产综合在线| 91精品国产综合久久久久久久久久| 亚洲国产va精品久久久不卡综合| 欧美日韩高清一区二区不卡 | 狠狠色狠狠色综合日日91app| 日韩精品中文字幕一区| 国产成人av电影在线| 国产精品久久国产精麻豆99网站| 国产jizzjizz一区二区| 亚洲美女视频在线| 欧美裸体一区二区三区| 极品少妇xxxx偷拍精品少妇| 欧美激情一区在线观看| 色噜噜狠狠成人中文综合| 日本免费新一区视频| 欧美激情综合在线| 欧美亚洲国产一区二区三区 | 国产精品久久久久久亚洲伦| 91一区二区三区在线播放| 亚洲成人免费观看| 久久久久国产精品厨房| 色噜噜夜夜夜综合网| 久久99精品国产麻豆婷婷| 中文字幕不卡三区| 91麻豆精品国产91| 成人av网在线| 九九国产精品视频| 亚洲欧美日韩中文字幕一区二区三区| 欧美日韩国产精选| 成人久久久精品乱码一区二区三区| 亚洲综合在线五月| 国产视频视频一区| 91麻豆精品久久久久蜜臀| av在线不卡电影| 久久国产视频网| 一区二区三区免费网站| 久久久午夜精品| 91精品在线观看入口| av不卡在线观看| 狠狠色丁香婷综合久久| 五月激情综合色| 成人免费视频在线观看| wwwwww.欧美系列| 欧美人xxxx| 日本道在线观看一区二区| 成人性视频免费网站| 国产精品一区二区在线观看网站| 天天综合网天天综合色| 亚洲精品高清视频在线观看| 国产欧美日韩视频一区二区| 在线不卡的av| 欧美主播一区二区三区| 一本大道综合伊人精品热热| 成人h精品动漫一区二区三区| 久热成人在线视频| 免费一级欧美片在线观看| 香蕉加勒比综合久久| 亚洲精品国产第一综合99久久 | 久久亚洲二区三区| 日韩精品一区二区三区中文精品| 欧美日韩一级视频| 欧美一a一片一级一片| 色综合久久天天| 91福利社在线观看| 在线观看区一区二| 欧美性色黄大片手机版| 欧美日韩一区二区三区在线| 欧美日韩精品欧美日韩精品一综合| 一本大道久久a久久综合婷婷 | 亚洲黄色av一区| 成人欧美一区二区三区| 亚洲色图视频免费播放| 亚洲三级在线播放| 亚洲午夜免费视频| 亚洲mv在线观看| 蜜臀av一区二区在线观看 | 国产精品免费人成网站| 国产精品嫩草影院av蜜臀| 国产精品精品国产色婷婷| 亚洲免费在线看| 亚洲午夜激情网页| 美女mm1313爽爽久久久蜜臀| 国产一区二区在线影院| 国产精品一二二区| 99国产精品久久| 欧美夫妻性生活| 久久久久久久久一| 综合色天天鬼久久鬼色| 午夜久久久久久电影| 国产一区二区免费看| 97精品电影院| 欧美精品18+| 国产欧美日韩三区| 亚洲国产成人porn| 国产成人午夜片在线观看高清观看| av午夜一区麻豆| 欧美一区三区二区| 国产精品麻豆欧美日韩ww| 午夜电影网亚洲视频| 国产mv日韩mv欧美| 欧美日韩精品是欧美日韩精品| 精品伦理精品一区| 亚洲美女视频在线观看| 狠狠久久亚洲欧美| 色94色欧美sute亚洲线路一ni| 欧美一区二区成人| 亚洲欧美福利一区二区| 久久爱www久久做| 欧美午夜一区二区三区| 国产偷国产偷亚洲高清人白洁| 亚洲一区二区三区四区不卡| 狠狠色丁香婷综合久久| 欧美少妇bbb|