• 大小: 11.98MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-06-19
  • 语言: 其他
  • 标签: 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\ticker\bitmap.cpp

     文件       2309  2010-04-19 20:46  vmr9\ticker\bitmap.h

     文件       1327  2010-04-19 20:46  vmr9\ticker\resource.h

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

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

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

     文件       5794  2010-04-19 20:46  vmr9\ticker\Ticker.rc

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

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

     文件      10607  2010-04-19 20:46  vmr9\vmr9allocator\Allocator.cpp

     文件       3798  2010-04-19 20:46  vmr9\vmr9allocator\Allocator.h

     文件      10266  2010-04-19 20:46  vmr9\vmr9allocator\PlaneScene.cpp

     文件       1668  2010-04-19 20:46  vmr9\vmr9allocator\PlaneScene.h

     文件        995  2010-04-19 20:46  vmr9\vmr9allocator\resource.h

     文件        591  2010-04-19 20:46  vmr9\vmr9allocator\StdAfx.cpp

     文件       1371  2010-04-19 20:46  vmr9\vmr9allocator\StdAfx.h

     文件        457  2010-04-19 20:46  vmr9\vmr9allocator\util.h

     文件      13069  2010-04-19 20:46  vmr9\vmr9allocator\vmr9allocator.cpp

     文件        666  2010-04-19 20:46  vmr9\vmr9allocator\vmr9allocator.h

     文件       4681  2010-04-19 20:46  vmr9\vmr9allocator\vmr9allocator.rc

     文件       1244  2010-04-19 20:46  vmr9\vmr9allocator\vmr9allocator.sln

     文件       8514  2010-04-19 20:46  vmr9\vmr9allocator\vmr9allocator.vcproj

     文件       2567  2010-04-19 20:46  vmr9\vmr9compositor\ControlDlg.cpp

     文件       7005  2010-04-19 20:46  vmr9\vmr9compositor\MultiSelectFileList.h

     文件      13855  2010-04-19 20:46  vmr9\vmr9compositor\MyCompositor9.cpp

     文件       2965  2010-04-19 20:46  vmr9\vmr9compositor\MyCompositor9.h

     文件       1131  2010-04-19 20:46  vmr9\vmr9compositor\resource.h

     文件      12869  2010-04-19 20:46  vmr9\vmr9compositor\vmr9compositor.cpp

     文件        912  2010-04-19 20:46  vmr9\vmr9compositor\vmr9compositor.h

     文件       3742  2010-04-19 20:46  vmr9\vmr9compositor\vmr9compositor.rc

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

评论

共有 条评论

相关资源