directshow9


directshow9 开发头文件和库
资源截图
代码片段和文件信息
//------------------------------------------------------------------------------
// File: AMExtra.cpp
//
// Desc: DirectShow base classes - implements CRenderedInputPin class.
//
// Copyright (c) 1992-2001 Microsoft Corporation.  All rights reserved.
//------------------------------------------------------------------------------


#include         // DirectShow base class definitions
#include        // Needed for definition of timeGetTime
#include          // Standard data type limit definitions
#include         // Used for time critical log functions

#include “amextra.h“

#pragma warning(disable:4355)

//  Implements CRenderedInputPin class

CRenderedInputPin::CRenderedInputPin(__in_opt LPCTSTR pobjectName
                                     __in CbaseFilter *pFilter
                                     __in CCritSec *pLock
                                     __inout HRESULT *phr
                                     __in_opt LPCWSTR pName) :
    CbaseInputPin(pobjectName pFilter pLock phr pName)
    m_bAtEndOfStream(FALSE)
    m_bCompleteNotified(FALSE)
{
}
#ifdef UNICODE
CRenderedInputPin::CRenderedInputPin(__in_opt LPCSTR pobjectName
                                     __in CbaseFilter *pFilter
                                     __in CCritSec *pLock
                                     __inout HRESULT *phr
                                     __in_opt LPCWSTR pName) :
    CbaseInputPin(pobjectName pFilter pLock phr pName)
    m_bAtEndOfStream(FALSE)
    m_bCompleteNotified(FALSE)
{
}
#endif

// Flush end of stream condition - caller should do any
// necessary stream level locking before calling this

STDMETHODIMP CRenderedInputPin::EndOfStream()
{
    HRESULT hr = CheckStreaming();

    //  Do EC_COMPLETE handling for rendered pins
    if (S_OK == hr  && !m_bAtEndOfStream) {
        m_bAtEndOfStream = TRUE;
        FILTER_STATE fs;
        EXECUTE_ASSERT(SUCCEEDED(m_pFilter->GetState(0 &fs)));
        if (fs == State_Running) {
            DoCompleteHandling();
        }
    }
    return hr;
}


// Called to complete the flush

STDMETHODIMP CRenderedInputPin::EndFlush()
{
    CAutoLock lck(m_pLock);

    // Clean up renderer state
    m_bAtEndOfStream = FALSE;
    m_bCompleteNotified = FALSE;

    return CbaseInputPin::EndFlush();
}


// Notify of Run() from filter

HRESULT CRenderedInputPin::Run(REFERENCE_TIME tStart)
{
    UNREFERENCED_PARAMETER(tStart);
    m_bCompleteNotified = FALSE;
    if (m_bAtEndOfStream) {
        DoCompleteHandling();
    }
    return S_OK;
}


//  Clear status on going into paused state

HRESULT CRenderedInputPin::Active()
{
    m_bAtEndOfStream = FALSE;
    m_bCompleteNotified = FALSE;
    return CbaseInputPin::Active();
}


//  Do stuff to deliver end of stream

void CRenderedInputPin::DoCompleteHandling()
{
    ASSERT(m_bAtEndOfStream);
 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      16176  2010-04-19 20:46  vmr9 ickeritmap.cpp

     文件       2309  2010-04-19 20:46  vmr9 ickeritmap.h

     文件       1327  2010-04-19 20:46  vmr9 icker
esource.h

     文件       3814  2010-04-19 20:46  vmr9 icker icker.bmp

     文件      26681  2010-04-19 20:46  vmr9 icker icker.cpp

     文件       3033  2010-04-19 20:46  vmr9 icker icker.h

     文件       5794  2010-04-19 20:46  vmr9 ickerTicker.rc

     文件       1230  2010-04-19 20:46  vmr9 icker icker.sln

     文件       7536  2010-04-19 20:46  vmr9 icker icker.vcproj

     文件      10607  2010-04-19 20:46  vmr9vmr9allocatorAllocator.cpp

     文件       3798  2010-04-19 20:46  vmr9vmr9allocatorAllocator.h

     文件      10266  2010-04-19 20:46  vmr9vmr9allocatorPlaneScene.cpp

     文件       1668  2010-04-19 20:46  vmr9vmr9allocatorPlaneScene.h

     文件        995  2010-04-19 20:46  vmr9vmr9allocator
esource.h

     文件        591  2010-04-19 20:46  vmr9vmr9allocatorStdAfx.cpp

     文件       1371  2010-04-19 20:46  vmr9vmr9allocatorStdAfx.h

     文件        457  2010-04-19 20:46  vmr9vmr9allocatorutil.h

     文件      13069  2010-04-19 20:46  vmr9vmr9allocatorvmr9allocator.cpp

     文件        666  2010-04-19 20:46  vmr9vmr9allocatorvmr9allocator.h

     文件       4681  2010-04-19 20:46  vmr9vmr9allocatorvmr9allocator.rc

     文件       1244  2010-04-19 20:46  vmr9vmr9allocatorvmr9allocator.sln

     文件       8514  2010-04-19 20:46  vmr9vmr9allocatorvmr9allocator.vcproj

     文件       2567  2010-04-19 20:46  vmr9vmr9compositorControlDlg.cpp

     文件       7005  2010-04-19 20:46  vmr9vmr9compositorMultiSelectFileList.h

     文件      13855  2010-04-19 20:46  vmr9vmr9compositorMyCompositor9.cpp

     文件       2965  2010-04-19 20:46  vmr9vmr9compositorMyCompositor9.h

     文件       1131  2010-04-19 20:46  vmr9vmr9compositor
esource.h

     文件      12869  2010-04-19 20:46  vmr9vmr9compositorvmr9compositor.cpp

     文件        912  2010-04-19 20:46  vmr9vmr9compositorvmr9compositor.h

     文件       3742  2010-04-19 20:46  vmr9vmr9compositorvmr9compositor.rc

............此处省略487个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)