97 lines
2.5 KiB
C++
97 lines
2.5 KiB
C++
/*++
|
|
|
|
Copyright (c) 1999 - 2000 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
sampcall.h
|
|
|
|
Abstract:
|
|
|
|
Declaration of the CSampleMSPCall
|
|
|
|
--*/
|
|
|
|
#ifndef __SAMPCALL_H_
|
|
#define __SAMPCALL_H_
|
|
|
|
#if _MSC_VER >= 1000
|
|
#pragma once
|
|
#endif // _MSC_VER >= 1000
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CSampleMSPCall
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
class CSampleMSPCall : public CMSPCallMultiGraph
|
|
// if you want to allow your object to be used in scripting apps
|
|
// it has to expose IObjectSafety interface. if your object is safe for
|
|
// scripting on all of its interfaces, you can use the implementation
|
|
// of IObjectSafety from MSPUtils.h
|
|
//, public CMSPObjectSafetyImpl
|
|
|
|
{
|
|
public:
|
|
// DECLARE_POLY_AGGREGATABLE(CSampleMSP)
|
|
|
|
// To add extra interfaces to this class, use the following:
|
|
// BEGIN_COM_MAP(CSampleMSPCall)
|
|
// COM_INTERFACE_ENTRY( YOUR_INTERFACE_HERE )
|
|
// // if you want to allow your object to be used in scripting apps
|
|
// // it has to expose IObjectSafety interface
|
|
// // COM_INTERFACE_ENTRY( IObjectSafety )
|
|
// COM_INTERFACE_ENTRY_CHAIN(CMSPCallMultiGraph)
|
|
// END_COM_MAP()
|
|
|
|
public:
|
|
CSampleMSPCall();
|
|
virtual ~CSampleMSPCall();
|
|
virtual ULONG MSPCallAddRef(void);
|
|
virtual ULONG MSPCallRelease(void);
|
|
|
|
virtual HRESULT Init(
|
|
IN CMSPAddress * pMSPAddress,
|
|
IN MSP_HANDLE htCall,
|
|
IN DWORD dwReserved,
|
|
IN DWORD dwMediaType
|
|
);
|
|
|
|
virtual HRESULT CreateStreamObject(
|
|
IN DWORD dwMediaType,
|
|
IN TERMINAL_DIRECTION Direction,
|
|
IN IMediaEvent * pGraph,
|
|
IN ITStream ** ppStream
|
|
);
|
|
|
|
virtual HRESULT ReceiveTSPCallData(
|
|
IN PBYTE pBuffer,
|
|
IN DWORD dwSize
|
|
);
|
|
|
|
//
|
|
// We override these to make sure the number of
|
|
// streams we have is constant.
|
|
//
|
|
|
|
STDMETHOD (CreateStream) (
|
|
IN DWORD dwMediaType,
|
|
IN TERMINAL_DIRECTION Direction,
|
|
IN OUT ITStream ** ppStream
|
|
);
|
|
|
|
STDMETHOD (RemoveStream) (
|
|
IN ITStream * pStream
|
|
);
|
|
|
|
protected:
|
|
//
|
|
// Protected data members.
|
|
//
|
|
|
|
CSampleMSPStream * m_pRenderStream;
|
|
CSampleMSPStream * m_pCaptureStream;
|
|
};
|
|
|
|
#endif //__SAMPCALL_H_
|