summaryrefslogtreecommitdiff
path: root/third_party/BaseClasses/amextra.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/BaseClasses/amextra.cpp')
-rw-r--r--third_party/BaseClasses/amextra.cpp111
1 files changed, 0 insertions, 111 deletions
diff --git a/third_party/BaseClasses/amextra.cpp b/third_party/BaseClasses/amextra.cpp
deleted file mode 100644
index af0de96d..00000000
--- a/third_party/BaseClasses/amextra.cpp
+++ /dev/null
@@ -1,111 +0,0 @@
-//------------------------------------------------------------------------------
-// File: AMExtra.cpp
-//
-// Desc: DirectShow base classes - implements CRenderedInputPin class.
-//
-// Copyright (c) 1992-2001 Microsoft Corporation. All rights reserved.
-//------------------------------------------------------------------------------
-
-
-#include <streams.h> // DirectShow base class definitions
-#include <mmsystem.h> // Needed for definition of timeGetTime
-#include <limits.h> // Standard data type limit definitions
-#include <measure.h> // 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);
- if (!m_bCompleteNotified) {
- m_bCompleteNotified = TRUE;
- m_pFilter->NotifyEvent(EC_COMPLETE, S_OK, (LONG_PTR)(IBaseFilter *)m_pFilter);
- }
-}
-