windows-nt/Source/XPSP1/NT/net/tapi/skywalker/rcamsp/rcacall.h
2020-09-26 16:20:57 +08:00

99 lines
2.1 KiB
C++

/*++
Copyright (c) 1998-1999 Microsoft Corporation
Module Name:
rcacall.h
Abstract:
Declaration of the CRCAMSPCall
Author:
Zoltan Szilagyi September 7th, 1998
--*/
#ifndef __RCACALL_H_
#define __RCACALL_H_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
/////////////////////////////////////////////////////////////////////////////
// CRCAMSPCall
/////////////////////////////////////////////////////////////////////////////
class CRCAMSPCall : public CMSPCallMultiGraph, public CMSPObjectSafetyImpl
{
public:
// DECLARE_POLY_AGGREGATABLE(CRCAMSP)
// To add extra interfaces to this class, use the following:
BEGIN_COM_MAP(CRCAMSPCall)
COM_INTERFACE_ENTRY( IObjectSafety )
COM_INTERFACE_ENTRY_CHAIN(CMSPCallMultiGraph)
END_COM_MAP()
public:
CRCAMSPCall();
virtual ~CRCAMSPCall();
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 long lMediaType,
IN TERMINAL_DIRECTION Direction,
IN OUT ITStream ** ppStream
);
STDMETHOD (RemoveStream) (
IN ITStream * pStream
);
//
// Public methods called by the RCAMSPStream
//
BOOL UseMulaw( void );
protected:
//
// Protected data members.
//
CRCAMSPStream * m_pRenderStream;
CRCAMSPStream * m_pCaptureStream;
};
#endif //__RCAADDR_H_