mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
2.9 KiB
88 lines
2.9 KiB
//
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
|
|
cpp_quote("/* Copyright (c) Microsoft Corporation. All rights reserved. */")
|
|
|
|
#ifndef __TAPI3DS_IDL__
|
|
#define __TAPI3DS_IDL__
|
|
|
|
import "oaidl.idl";
|
|
import "strmif.idl";
|
|
|
|
// this is exposed by the Media Streaming Terminal (MST) samples
|
|
[
|
|
uuid( 0364EB00-4A77-11D1-A671-006097C9A2E8 ),
|
|
helpstring("TAPI 3.0 ITAMMediaFormat interface"),
|
|
]
|
|
interface ITAMMediaFormat : IUnknown
|
|
{
|
|
[propget, id(1), helpstring("property Media Format")]
|
|
HRESULT MediaFormat(
|
|
[out, retval] AM_MEDIA_TYPE **ppmt
|
|
);
|
|
|
|
[propput, id(1), helpstring("property Media Format")]
|
|
HRESULT MediaFormat(
|
|
[in] const AM_MEDIA_TYPE *pmt
|
|
);
|
|
};
|
|
|
|
|
|
// exposes the allocator properties of the Media Streaming Terminal (MST)
|
|
// to a user. A user only needs to use this interface when he needs to
|
|
// use his own buffers or needs to operate with a fixed set of samples
|
|
[
|
|
uuid( C1BC3C90-BCFE-11D1-9745-00C04FD91AC0 ),
|
|
helpstring("TAPI 3.0 ITAllocatorProperties interface"),
|
|
]
|
|
interface ITAllocatorProperties : IUnknown
|
|
{
|
|
// this method may only be called before connection and will
|
|
// force the MST to use these values during filter negotiation
|
|
// if the connecting filter doesn't accept these, the connection
|
|
// shall not be established
|
|
[id(1), helpstring("method SetAllocatorProperties")]
|
|
HRESULT SetAllocatorProperties(
|
|
[in] ALLOCATOR_PROPERTIES *pAllocProperties
|
|
);
|
|
|
|
// gets current values for the allocator properties
|
|
// after connection, this provides the negotiated values
|
|
// it is invalid before connection. The MST will accept
|
|
// any values suggested by the filters it connects to
|
|
[id(2), helpstring("method GetAllocatorProperties")]
|
|
HRESULT GetAllocatorProperties(
|
|
[out] ALLOCATOR_PROPERTIES *pAllocProperties
|
|
);
|
|
|
|
// TRUE by default. when set to FALSE, the sample allocated
|
|
// by the MST don't have any buffers and they must be supplied
|
|
// before Update is called on the samples
|
|
[id(3), helpstring("method SetAllocateBuffers")]
|
|
HRESULT SetAllocateBuffers(
|
|
[in] BOOL bAllocBuffers
|
|
);
|
|
|
|
// returns the current value of this boolean configuration parameter
|
|
[id(4), helpstring("method GetAllocateBuffers")]
|
|
HRESULT GetAllocateBuffers(
|
|
[out] BOOL *pbAllocBuffers
|
|
);
|
|
|
|
// this size is used for allocating buffers when AllocateSample is
|
|
// called. this is only valid when we have been told to allocate buffers
|
|
[id(5), helpstring("method SetBufferSize")]
|
|
HRESULT SetBufferSize(
|
|
[in] DWORD BufferSize
|
|
);
|
|
|
|
// returns the value used to allocate buffers when AllocateSample is
|
|
// called. this is only valid when we have been told to allocate buffers
|
|
[id(6), helpstring("method GetBufferSize")]
|
|
HRESULT GetBufferSize(
|
|
[out] DWORD *pBufferSize
|
|
);
|
|
};
|
|
|
|
#endif
|
|
|