- KSM_PIN is defined in bdasup.h not bdatypes.h
- Add IReferenceClockTimerControl, IAMDeviceRemoval. IDistributorNotify, IAMClockAdjust, IAMStreamControl, IDeferredCommand interface
- Add AM_STREAM_INFO_FLAGS, AM_STREAM_INFO struct
- Modify VMRGUID struct so that gnu compilers can digest it too
- Remove useless KSINTERFACESETID_Standard define from ks.h
- Define LOCALE_INVARIANT macro


svn path=/trunk/; revision=45607
This commit is contained in:
Johannes Anderwald 2010-02-18 15:04:54 +00:00
parent 3874d4ff4e
commit aeb669a3de
8 changed files with 123 additions and 16 deletions

View file

@ -26,6 +26,18 @@ typedef struct _BDA_FILTER_TEMPLATE
const BDA_PIN_PAIRING *pPinPairs;
} BDA_FILTER_TEMPLATE, *PBDA_FILTER_TEMPLATE;
typedef struct _KSM_PIN
{
KSMETHOD Method;
union
{
ULONG PinId;
ULONG PinType;
};
ULONG Reserved;
} KSM_PIN, * PKSM_PIN;
/* Functions */
STDMETHODIMP_(NTSTATUS) BdaCheckChanges(IN PIRP Irp);

View file

@ -348,6 +348,22 @@ interface IReferenceClock : IUnknown
typedef IReferenceClock *PREFERENCECLOCK;
[
local,
object,
uuid(ebec459c-2eca-4d42-a8af-30df557614b8),
pointer_default(unique)
]
interface IReferenceClockTimerControl : IUnknown {
HRESULT SetDefaultTimerResolution(
REFERENCE_TIME timerResolution);
HRESULT GetDefaultTimerResolution(
[out] REFERENCE_TIME* pTimerResolution);
}
/*
[
object,

View file

@ -548,6 +548,21 @@ interface IFileSinkFilter2 : IFileSinkFilter
typedef IFileSinkFilter2 *PFILESINKFILTER2;
[
object,
uuid(f90a6130-b658-11d2-ae49-0000f8754b99),
pointer_default(unique)
]
interface IAMDeviceRemoval : IUnknown
{
HRESULT DeviceInfo(
[out] CLSID *pclsidInterfaceClass,
[out] LPWSTR *pwszSymbolicLink);
HRESULT Reassociate();
HRESULT Disassociate();
}
typedef enum
{
AM_FILE_OVERWRITE = 0x00000001,
@ -775,6 +790,37 @@ interface IStreamBuilder : IUnknown
);
}
[
object,
uuid(56a868af-0ad4-11ce-b03a-0020af0ba770),
pointer_default(unique)
]
interface IDistributorNotify : IUnknown
{
HRESULT Stop(void);
HRESULT Pause(void);
HRESULT Run(REFERENCE_TIME tStart);
HRESULT SetSyncSource([in] IReferenceClock * pClock);
HRESULT NotifyGraphChange(void);
}
typedef enum
{
AM_STREAM_INFO_START_DEFINED = 0x01,
AM_STREAM_INFO_STOP_DEFINED = 0x02,
AM_STREAM_INFO_DISCARDING = 0x04,
AM_STREAM_INFO_STOP_SEND_EXTRA = 0x10
} AM_STREAM_INFO_FLAGS;
typedef struct
{
REFERENCE_TIME tStart;
REFERENCE_TIME tStop;
DWORD dwStartCookie;
DWORD dwStopCookie;
DWORD dwFlags;
}AM_STREAM_INFO;
/*****************************************************************************
* IAMStreamConfig interface
@ -990,6 +1036,19 @@ interface ISeekingPassThru : IUnknown
HRESULT Init( [in] BOOL bSupportRendering, [in] IPin *pPin);
}
[
local,
object,
uuid(4d5466b0-a49c-11d1-abe8-00a0c905f375),
pointer_default(unique)
]
interface IAMClockAdjust : IUnknown
{
HRESULT SetClockDelta([in] REFERENCE_TIME rtDelta);
};
enum _AM_FILTER_MISC_FLAGS
{
AM_FILTER_MISC_FLAGS_IS_RENDERER = 0x1,
@ -1006,3 +1065,19 @@ interface IAMFilterMiscFlags : IUnknown
{
ULONG GetMiscFlags();
};
[
object,
uuid(36b73881-c2c8-11cf-8b46-00805f6cef60),
pointer_default(unique)
]
interface IAMStreamControl : IUnknown
{
HRESULT StartAt( [in] REFERENCE_TIME * ptStart,
[in] DWORD dwCookie );
HRESULT StopAt( [in] REFERENCE_TIME * ptStop,
[in] BOOL bSendExtra,
[in] DWORD dwCookie );
HRESULT GetInfo( [out] AM_STREAM_INFO *pInfo);
}

View file

@ -162,19 +162,6 @@ typedef struct
MEDIA_SAMPLE_CONTENT MediaSampleContent ;
} PID_MAP ;
typedef struct _KSM_PIN
{
KSMETHOD Method;
union
{
ULONG PinId;
ULONG PinType;
};
ULONG Reserved;
} KSM_PIN, * PKSM_PIN;
typedef struct _BDA_PID_MAP
{
MEDIA_SAMPLE_CONTENT MediaSampleContent;

View file

@ -168,8 +168,7 @@ typedef struct _NORMALIZEDRECT
typedef struct tagVMRGUID
{
GUID* pGUID;
GUID GUID;
struct _GUID *pGUID, GUID;
} VMRGUID;
typedef struct tagVMRMONITORINFO

View file

@ -244,3 +244,21 @@ interface IMediaPosition : IDispatch
HRESULT CanSeekForward( [out] LONG *pCanSeekForward );
HRESULT CanSeekBackward( [out] LONG *pCanSeekBackward );
}
/*****************************************************************************
* IDeferredCommand interface
*/
[
object,
uuid(56a868b8-0ad4-11ce-b03a-0020af0ba770),
pointer_default(unique)
]
interface IDeferredCommand : IUnknown
{
HRESULT Cancel( void);
HRESULT Confidence([out] LONG *pConfidence);
HRESULT Postpone([in] REFTIME newtime);
HRESULT GetHResult([out] HRESULT *phrResult);
}

View file

@ -290,7 +290,6 @@ typedef struct
#if 0
#define KSINTERFACESETID_Media
#define KSINTERFACESETID_Standard
#define KSINTERFACE_STANDARD_STREAMING
#define KSINTERFACE_STANDARD_LOOPED_STREAMING
#define KSINTERFACE_STANDARD_CONTROL

View file

@ -1124,6 +1124,7 @@ typedef enum {
#define LANG_SYSTEM_DEFAULT MAKELANGID(LANG_NEUTRAL,SUBLANG_SYS_DEFAULT)
#define LANG_USER_DEFAULT MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT)
#define LOCALE_NEUTRAL MAKELCID(MAKELANGID(LANG_NEUTRAL,SUBLANG_NEUTRAL),SORT_DEFAULT)
#define LOCALE_INVARIANT MAKELCID(MAKELANGID(LANG_INVARIANT, SUBLANG_NEUTRAL), SORT_DEFAULT)
#define ACL_REVISION 2
#define ACL_REVISION_DS 4
#define ACL_REVISION1 1