20#pragma makedep install
25interface IAMAnalogVideoDecoder;
26interface IAMAnalogVideoEncoder;
27interface IAMAudioInputMixer;
28interface IAMAudioRendererStats;
32interface IAMClockSlave;
35interface IAMDevMemoryAllocator;
36interface IAMDevMemoryControl;
38interface IAMExtDevice;
39interface IAMExtTransport;
40interface IAMGraphStreams;
42interface IAMOpenProgress;
43interface IAMOverlayFX;
44interface IAMPhysicalPinInfo;
46interface IAMStreamConfig;
47interface IAMTimecodeDisplay;
48interface IAMTimecodeGenerator;
49interface IAMTimecodeReader;
52interface IAMVfwCompressDialogs;
54interface IAMVideoDecimationProperties;
61interface IDecimateVideoImage;
62interface IDrawVideoImage;
64interface IEnumStreamIdMap;
68interface IFilterMapper;
73interface IMpeg2Demultiplexer;
74interface IMPEG2StreamIdMap;
89uuid(56a868a4-0ad4-11ce-b03a-0020af0ba770),
116uuid(56a868a3-0ad4-11ce-b03a-0020af0ba770),
121 enum { MERIT_PREFERRED = 0x800000,
122 MERIT_NORMAL = 0x600000,
123 MERIT_UNLIKELY = 0x400000,
125 MERIT_SW_COMPRESSOR = 0x100000,
126 MERIT_HW_COMPRESSOR = 0x100050
192 const CLSID * clsMajorType;
265uuid(b79bb0b0-33c1-11d1-abe1-00a0c905f375),
277 ( [
in]
const CLSID *pclsidCategory,
278 [
in] LPCOLESTR szInstance,
286 [
in]
const CLSID *pclsidCategory,
287 [
in] LPCOLESTR szInstance,
298 [size_is(cInputTypes*2)]
const GUID *pInputTypes,
300 [
in]
const CLSID *pPinCategoryIn,
304 [size_is(cOutputTypes*2)]
const GUID *pOutputTypes,
306 [
in]
const CLSID *pPinCategoryOut
312uuid(b79bb0b1-33c1-11d1-abe1-00a0c905f375),
320typedef enum tagQualityMessageType
338uuid(56a868a5-0ad4-11ce-b03a-0020af0ba770),
410uuid(56a868a0-0ad4-11ce-b03a-0020af0ba770),
420 [
in]
const RECT *pSourceRect,
421 [
in]
const RECT *pDestinationRect,
427 [
in]
const RECT *pDestinationRect);
439uuid(680EFA10-D535-11D1-87C8-00A0C9223196),
440pointer_default(unique)
442interface IOverlayNotify2 : IOverlayNotify
444 HRESULT OnDisplayChange(
448typedef IOverlayNotify2 *POVERLAYNOTIFY2;
453uuid(56a868a1-0ad4-11ce-b03a-0020af0ba770),
454pointer_default(unique)
456interface IOverlay : IUnknown
459 [out] DWORD *pdwColors,
460 [out] PALETTEENTRY **ppPalette);
464 [in] PALETTEENTRY *pPalette);
466 HRESULT GetDefaultColorKey([out] COLORKEY *pColorKey);
468 HRESULT GetColorKey([out] COLORKEY *pColorKey);
470 HRESULT SetColorKey([in,out] COLORKEY *pColorKey);
472 HRESULT GetWindowHandle([out] HWND *pHwnd);
474 HRESULT GetClipList([out] RECT *pSourceRect,
475 [out] RECT *pDestinationRect,
476 [out] RGNDATA **ppRgnData);
478 HRESULT GetVideoPosition([out] RECT *pSourceRect,
479 [out] RECT *pDestinationRect);
482 [in] IOverlayNotify *pOverlayNotify,
483 [in] DWORD dwInterests);
488typedef IOverlay *POVERLAY;
492uuid(56a868a2-0ad4-11ce-b03a-0020af0ba770),
493pointer_default(unique)
495interface IMediaEventSink : IUnknown
499 [in] LONG_PTR EventParam1,
500 [in] LONG_PTR EventParam2
504typedef IMediaEventSink *PMEDIAEVENTSINK;
508uuid(56a868a6-0ad4-11ce-b03a-0020af0ba770),
509pointer_default(unique)
511interface IFileSourceFilter : IUnknown
514 [in] LPCOLESTR pszFileName,
515 [in, unique] const AM_MEDIA_TYPE *pmt
519 [out] LPOLESTR *ppszFileName,
520 [out] AM_MEDIA_TYPE *pmt
524typedef IFileSourceFilter *PFILTERFILESOURCE;
528uuid(a2104830-7c70-11cf-8bce-00aa00a3f1a6),
529pointer_default(unique)
531interface IFileSinkFilter : IUnknown
534 [in] LPCOLESTR pszFileName,
535 [in, unique] const AM_MEDIA_TYPE *pmt
539 [out] LPOLESTR *ppszFileName,
540 [out] AM_MEDIA_TYPE *pmt
544typedef IFileSinkFilter *PFILTERFILESINK;
548 uuid(00855B90-CE1B-11d0-BD4F-00A0C911CE86),
549 pointer_default(unique)
551interface IFileSinkFilter2 : IFileSinkFilter
558 [out] DWORD *pdwFlags
562typedef IFileSinkFilter2 *PFILESINKFILTER2;
566 AM_FILE_OVERWRITE = 0x00000001,
571uuid(56a868a9-0ad4-11ce-b03a-0020af0ba770),
572pointer_default(unique)
574interface IGraphBuilder : IFilterGraph
577 ( [in] IPin * ppinOut,
582 ( [in] IPin * ppinOut
586 ( [in] LPCWSTR lpcwstrFile,
587 [in, unique] LPCWSTR lpcwstrPlayList
590 HRESULT AddSourceFilter
591 ( [in] LPCWSTR lpcwstrFileName,
592 [in, unique] LPCWSTR lpcwstrFilterName,
593 [out] IBaseFilter* *ppFilter
597 ( [in] DWORD_PTR hFile
602 HRESULT ShouldOperationContinue();
608 uuid(bf87b6e0-8c27-11d0-b3f0-00aa003761c5),
609 pointer_default(unique)
611interface ICaptureGraphBuilder : IUnknown {
613 HRESULT SetFiltergraph(
614 [in] IGraphBuilder *pfg);
616 HRESULT GetFiltergraph(
617 [out] IGraphBuilder **ppfg);
619 HRESULT SetOutputFileName(
620 [in] const GUID *pType,
621 [in] LPCOLESTR lpstrFile,
622 [out] IBaseFilter **ppf,
623 [out] IFileSinkFilter **ppSink);
625 [local] HRESULT FindInterface(
626 [in, unique] const GUID *pCategory,
627 [in] IBaseFilter *pf,
631 [call_as(FindInterface)] HRESULT RemoteFindInterface(
632 [in, unique] const GUID *pCategory,
633 [in] IBaseFilter *pf,
635 [out] IUnknown **ppint);
637 HRESULT RenderStream(
638 [in] const GUID *pCategory,
639 [in] IUnknown *pSource,
640 [in] IBaseFilter *pfCompressor,
641 [in] IBaseFilter *pfRenderer);
643 HRESULT ControlStream(
644 [in] const GUID *pCategory,
645 [in] IBaseFilter *pFilter,
646 [in] REFERENCE_TIME *pstart,
647 [in] REFERENCE_TIME *pstop,
648 [in] WORD wStartCookie,
649 [in] WORD wStopCookie);
651 HRESULT AllocCapFile(
652 [in] LPCOLESTR lpstr,
653 [in] DWORDLONG dwlSize);
655 HRESULT CopyCaptureFile(
656 [in] LPOLESTR lpwstrOld,
657 [in] LPOLESTR lpwstrNew,
658 [in] int fAllowEscAbort,
659 [in] IAMCopyCaptureFileProgress *pCallback);
664uuid(670d1d20-a068-11d0-b3f0-00aa003761c5),
665pointer_default(unique)
667interface IAMCopyCaptureFileProgress : IUnknown
675 uuid(93E5A4E0-2D50-11d2-ABFA-00A0C9C6E38D),
676 pointer_default(unique)
678interface ICaptureGraphBuilder2 : IUnknown
680 HRESULT SetFiltergraph(
681 [in] IGraphBuilder *pfg);
683 HRESULT GetFiltergraph(
684 [out] IGraphBuilder **ppfg);
686 HRESULT SetOutputFileName(
687 [in] const GUID *pType,
688 [in] LPCOLESTR lpstrFile,
689 [out] IBaseFilter **ppf,
690 [out] IFileSinkFilter **ppSink);
692 [local] HRESULT FindInterface(
693 [in] const GUID *pCategory,
694 [in] const GUID *pType,
695 [in] IBaseFilter *pf,
699 [call_as(FindInterface)] HRESULT RemoteFindInterface(
700 [in] const GUID *pCategory,
701 [in] const GUID *pType,
702 [in] IBaseFilter *pf,
704 [out] IUnknown **ppint);
706 HRESULT RenderStream(
707 [in] const GUID *pCategory,
708 [in] const GUID *pType,
709 [in] IUnknown *pSource,
710 [in] IBaseFilter *pfCompressor,
711 [in] IBaseFilter *pfRenderer);
713 HRESULT ControlStream(
714 [in] const GUID *pCategory,
715 [in] const GUID *pType,
716 [in] IBaseFilter *pFilter,
717 [in] REFERENCE_TIME *pstart,
718 [in] REFERENCE_TIME *pstop,
719 [in] WORD wStartCookie,
720 [in] WORD wStopCookie);
722 HRESULT AllocCapFile(
723 [in] LPCOLESTR lpstr,
724 [in] DWORDLONG dwlSize);
726 HRESULT CopyCaptureFile(
727 [in] LPOLESTR lpwstrOld,
728 [in] LPOLESTR lpwstrNew,
729 [in] int fAllowEscAbort,
730 [in] IAMCopyCaptureFileProgress *pCallback);
733 [in] IUnknown *pSource,
734 [in] PIN_DIRECTION pindir,
735 [in] const GUID *pCategory,
736 [in] const GUID *pType,
737 [in] BOOL fUnconnected,
745 uuid(5acd6aa0-f482-11ce-8b67-00aa00a3f1a6),
746 pointer_default(unique)
748interface IConfigAviMux : IUnknown
750 HRESULT SetMasterStream(
753 HRESULT GetMasterStream(
754 [out] LONG *pStream);
756 HRESULT SetOutputCompatibilityIndex(
757 [in] BOOL fOldIndex);
759 HRESULT GetOutputCompatibilityIndex(
760 [out] BOOL *pfOldIndex);
766 uuid(bee3d220-157b-11d0-bd23-00a0c911ce86),
767 pointer_default(unique)
769interface IConfigInterleaving : IUnknown
771 typedef enum InterleavingMode {
775 INTERLEAVE_NONE_BUFFERED
779 [in] InterleavingMode mode);
782 [out] InterleavingMode *pMode);
784 HRESULT put_Interleaving(
785 [in] const REFERENCE_TIME *prtInterleave,
786 [in] const REFERENCE_TIME *prtPreroll);
788 HRESULT get_Interleaving(
789 [out] REFERENCE_TIME *prtInterleave,
790 [out] REFERENCE_TIME *prtPreroll);
796 uuid(9fd52741-176d-4b36-8f51-ca8f933223be),
797 pointer_default(unique)
799interface IAMClockSlave : IUnknown
801 HRESULT SetErrorTolerance(
802 [in] DWORD dwTolerance);
804 HRESULT GetErrorTolerance(
805 [out] DWORD *pdwTolerance);
808typedef struct _AMCOPPSignature {
812typedef struct _AMCOPPCommand {
817 BYTE CommandData[4056];
818} AMCOPPCommand, *LPAMCOPPCommand;
820typedef struct _AMCOPPStatusInput {
822 GUID guidStatusRequestID;
825 BYTE StatusData[4056];
826} AMCOPPStatusInput, *LPAMCOPPStatusInput;
828typedef struct _AMCOPPStatusOutput {
831 BYTE COPPStatus[4076];
832} AMCOPPStatusOutput, *LPAMCOPPStatusOutput;
837 uuid(6feded3e-0ff1-4901-a2f1-43f7012c8515),
838 pointer_default(unique)
840interface IAMCertifiedOutputProtection : IUnknown
842 HRESULT KeyExchange (
844 [out] BYTE** VarLenCertGH,
845 [out] DWORD* pdwLengthCertGH);
847 HRESULT SessionSequenceStart(
848 [in] AMCOPPSignature* pSig);
850 HRESULT ProtectionCommand(
851 [in] const AMCOPPCommand* cmd);
853 HRESULT ProtectionStatus(
854 [in] const AMCOPPStatusInput* pStatusInput,
855 [out] AMCOPPStatusOutput* pStatusOutput);
858enum _AM_RENSDEREXFLAGS
860 AM_RENDEREX_RENDERTOEXISTINGRENDERERS = 0x01
865 uuid(36b73882-c2c8-11cf-8b46-00805f6cef60),
866 pointer_default(unique)
868interface IFilterGraph2: IGraphBuilder
870 HRESULT AddSourceFilterForMoniker(
871 [in] IMoniker *pMoniker,
873 [in, unique] LPCWSTR lpcwstrFilterName,
874 [out] IBaseFilter **ppFilter
879 [in, unique] const AM_MEDIA_TYPE *pmt
882 HRESULT RenderEx( [in] IPin *pPinOut,
884 [in, out] DWORD *pvContext
891 uuid(56a868bf-0ad4-11ce-b03a-0020af0ba770),
892 pointer_default(unique)
894interface IStreamBuilder : IUnknown
897 ( [in] IPin * ppinOut,
898 [in] IGraphBuilder * pGraph
902 ( [in] IPin * ppinOut,
903 [in] IGraphBuilder * pGraph
913 uuid(c6e13340-30ac-11d0-a18c-00a0c9118956),
914 pointer_default(unique)
916interface IAMStreamConfig : IUnknown
918 typedef struct _VIDEO_STREAM_CONFIG_CAPS {
922 SIZE MinCroppingSize;
923 SIZE MaxCroppingSize;
924 int CropGranularityX;
925 int CropGranularityY;
930 int OutputGranularityX;
931 int OutputGranularityY;
936 LONGLONG MinFrameInterval;
937 LONGLONG MaxFrameInterval;
938 LONG MinBitsPerSecond;
939 LONG MaxBitsPerSecond;
940 } VIDEO_STREAM_CONFIG_CAPS;
942 typedef struct _AUDIO_STREAM_CONFIG_CAPS {
944 ULONG MinimumChannels;
945 ULONG MaximumChannels;
946 ULONG ChannelsGranularity;
947 ULONG MinimumBitsPerSample;
948 ULONG MaximumBitsPerSample;
949 ULONG BitsPerSampleGranularity;
950 ULONG MinimumSampleFrequency;
951 ULONG MaximumSampleFrequency;
952 ULONG SampleFrequencyGranularity;
953 } AUDIO_STREAM_CONFIG_CAPS;
955 HRESULT SetFormat( [in] AM_MEDIA_TYPE *pmt);
956 HRESULT GetFormat( [in] AM_MEDIA_TYPE **pmt);
957 HRESULT GetNumberOfCapabilities( [out] int *piCount, [out] int *piSize);
958 HRESULT GetStreamCaps( [in] int iIndex, [out] AM_MEDIA_TYPE **pmt,
963typedef enum tagVideoProcAmpProperty
965 VideoProcAmp_Brightness,
966 VideoProcAmp_Contrast,
968 VideoProcAmp_Saturation,
969 VideoProcAmp_Sharpness,
971 VideoProcAmp_ColorEnable,
972 VideoProcAmp_WhiteBalance,
973 VideoProcAmp_BacklightCompensation,
975} VideoProcAmpProperty;
977typedef enum tagVideoProcAmpFlags
979 VideoProcAmp_Flags_Auto = 0x0001,
980 VideoProcAmp_Flags_Manual = 0x0002,
988 uuid(c6e13360-30ac-11d0-a18c-00a0c9118956),
989 pointer_default(unique)
991interface IAMVideoProcAmp : IUnknown
993 HRESULT GetRange( [in] LONG Property, [out] LONG *pMin, [out] LONG *pMax,
994 [out] LONG *pSteppingDelta, [out] LONG *pDefault,
995 [out] LONG *pCapsFlags);
996 HRESULT Set( [in] LONG Property, [in] LONG lValue, [in] LONG Flags);
997 HRESULT Get( [in] LONG Property, [out] LONG *lValue, [out] LONG *Flags);
1003 uuid(56a868aa-0ad4-11ce-b03a-0020af0ba770),
1004 pointer_default(unique)
1006interface IAsyncReader : IUnknown
1008 HRESULT RequestAllocator(
1009 [in] IMemAllocator* pPreferred,
1010 [in] ALLOCATOR_PROPERTIES* pProps,
1011 [out] IMemAllocator ** ppActual);
1014 [in] IMediaSample* pSample,
1015 [in] DWORD_PTR dwUser);
1017 HRESULT WaitForNext(
1018 [in] DWORD dwTimeout,
1019 [out] IMediaSample** ppSample,
1020 [out] DWORD_PTR * pdwUser);
1022 HRESULT SyncReadAligned(
1023 [in] IMediaSample* pSample);
1026 [in] LONGLONG llPosition,
1028 [out, size_is(lLength)]
1032 [out] LONGLONG* pTotal,
1033 [out] LONGLONG* pAvailable);
1035 HRESULT BeginFlush(void);
1037 HRESULT EndFlush(void);
1043 uuid(56a868ab-0ad4-11ce-b03a-0020af0ba770),
1044 pointer_default(unique)
1046interface IGraphVersion : IUnknown
1048 HRESULT QueryVersion(LONG* pVersion);
1053 uuid(56a868ad-0ad4-11ce-b03a-0020af0ba770),
1054 pointer_default(unique)
1056interface IResourceConsumer : IUnknown
1058 HRESULT AcquireResource(
1059 [in] LONG idResource);
1061 HRESULT ReleaseResource(
1062 [in] LONG idResource);
1068 uuid(56a868ac-0ad4-11ce-b03a-0020af0ba770),
1069 pointer_default(unique)
1071interface IResourceManager : IUnknown
1075 [in] LONG cResource,
1079 HRESULT RegisterGroup(
1081 [in] LONG cResource,
1082 [in, size_is(cResource)]
1087 HRESULT RequestResource(
1088 [in] LONG idResource,
1089 [in] IUnknown* pFocusObject,
1090 [in] IResourceConsumer* pConsumer
1093 HRESULT NotifyAcquire(
1094 [in] LONG idResource,
1095 [in] IResourceConsumer* pConsumer,
1098 HRESULT NotifyRelease(
1099 [in] LONG idResource,
1100 [in] IResourceConsumer* pConsumer,
1101 [in] BOOL bStillWant);
1103 HRESULT CancelRequest(
1104 [in] LONG idResource,
1105 [in] IResourceConsumer* pConsumer);
1108 [in] IUnknown* pFocusObject);
1110 HRESULT ReleaseFocus(
1111 [in] IUnknown* pFocusObject);
1115typedef enum AM_STREAM_INFO_FLAGS
1117 AM_STREAM_INFO_START_DEFINED = 0x01,
1118 AM_STREAM_INFO_STOP_DEFINED = 0x02,
1119 AM_STREAM_INFO_DISCARDING = 0x04,
1120 AM_STREAM_INFO_STOP_SEND_EXTRA = 0x10
1121} AM_STREAM_INFO_FLAGS;
1123typedef struct AM_STREAM_INFO
1125 REFERENCE_TIME tStart;
1126 REFERENCE_TIME tStop;
1127 DWORD dwStartCookie;
1135 uuid(36b73881-c2c8-11cf-8b46-00805f6cef60),
1136 pointer_default(unique)
1138interface IAMStreamControl : IUnknown
1141 [in] const REFERENCE_TIME *ptStart,
1142 [in] DWORD dwCookie);
1145 [in] const REFERENCE_TIME *ptStop,
1146 [in] BOOL bSendExtra,
1147 [in] DWORD dwCookie);
1150 [out] AM_STREAM_INFO *pInfo);
1153cpp_quote("#ifndef _IKsPropertySet_")
1154cpp_quote("#define _IKsPropertySet_")
1155cpp_quote("#define KSPROPERTY_SUPPORT_GET 1")
1156cpp_quote("#define KSPROPERTY_SUPPORT_SET 2")
1158typedef enum AMPROPERTY_PIN
1160 AMPROPERTY_PIN_CATEGORY,
1161 AMPROPERTY_PIN_MEDIUM,
1166 uuid(31efac30-515c-11d0-a9aa-00aa0061be93),
1167 pointer_default(unique),
1170interface IKsPropertySet : IUnknown
1172 HRESULT Set( [in] REFGUID guidPropSet,
1173 [in] DWORD dwPropID,
1174 [in, size_is(cbInstanceData)] LPVOID pInstanceData,
1175 [in] DWORD cbInstanceData,
1176 [in, size_is(cbPropData)] LPVOID pPropData,
1177 [in] DWORD cbPropData );
1179 HRESULT Get( [in] REFGUID guidPropSet,
1180 [in] DWORD dwPropID,
1181 [in, size_is(cbInstanceData)] LPVOID pInstanceData,
1182 [in] DWORD cbInstanceData,
1183 [out, size_is(cbPropData)] LPVOID pPropData,
1184 [in] DWORD cbPropData,
1185 [out] DWORD *pcbReturned );
1187 HRESULT QuerySupported( [in] REFGUID guidPropSet,
1188 [in] DWORD dwPropID,
1189 [out] DWORD *pTypeSupport);
1196 uuid(6025a880-c0d5-11d0-bd4e-00a0c911ce86),
1197 pointer_default(unique)
1199interface IMediaPropertyBag : IPropertyBag
1201 typedef IMediaPropertyBag *LPMEDIAPROPERTYBAG;
1203 HRESULT EnumProperty(
1204 [in] ULONG iProperty,
1205 [in, out] VARIANT *pvarPropertyName,
1206 [in, out] VARIANT *pvarPropertyValue);
1213 uuid(5738e040-b67f-11d0-bd4d-00a0c911ce86),
1214 pointer_default(unique)
1216interface IPersistMediaPropertyBag : IPersist
1218 HRESULT InitNew(void);
1221 [in] IMediaPropertyBag *pPropBag,
1222 [in] IErrorLog *pErrorLog);
1225 [in] IMediaPropertyBag *pPropBag,
1226 [in] BOOL fClearDirty,
1227 [in] BOOL fSaveAllProperties);
1229 typedef IPersistMediaPropertyBag *LPPERSISTMEDIAPROPERTYBAG;
1234 uuid(36b73883-c2c8-11cf-8b46-00805f6cef60),
1235 pointer_default(unique)
1237interface ISeekingPassThru : IUnknown
1239 HRESULT Init( [in] BOOL bSupportRendering, [in] IPin *pPin);
1242enum _AM_FILTER_MISC_FLAGS
1244 AM_FILTER_MISC_FLAGS_IS_RENDERER = 0x1,
1245 AM_FILTER_MISC_FLAGS_IS_SOURCE = 0x2
1251 uuid(2dd74950-a890-11d1-abe8-00a0c905f375),
1252 pointer_default(unique)
1254interface IAMFilterMiscFlags : IUnknown
1256 ULONG GetMiscFlags();
1262 uuid(4995f511-9ddb-4f12-bd3b-f04611807b79),
1263 pointer_default(unique)
1265interface IAMGraphBuilderCallback : IUnknown
1267 HRESULT SelectedFilter(
1268 [in] IMoniker *pMon);
1270 HRESULT CreatedFilter(
1271 [in] IBaseFilter *pFil);
1277 uuid(d8d715a0-6e5e-11d0-b3f0-00aa003761c5),
1278 pointer_default(unique)
1280interface IAMVfwCaptureDialogs : IUnknown
1287 HRESULT SendDriverMessage(
1297 uuid(c6e13370-30ac-11d0-a18c-00a0c9118956),
1298 pointer_default(unique)
1300interface IAMCameraControl : IUnknown
1302 HRESULT GetRange([in] long property, [out] long *min, [out] long *max,
1303 [out] long *stepping_delta, [out] long *default_value, [out] long *flags);
1304 HRESULT Set([in] long property, [in] long property_value, [in] long flags);
1305 HRESULT Get([in] long property, [out] long *property_value, [out] long *flags);
1311 uuid(6a2e0670-28e4-11d0-a18c-00a0c9118956),
1312 pointer_default(unique)
1314interface IAMVideoControl : IUnknown
1316 HRESULT GetCaps([in] IPin *pin, [out] long *flags);
1317 HRESULT SetMode([in] IPin *pin, long mode);
1318 HRESULT GetMode([in] IPin *pin, [out] long *mode);
1319 HRESULT GetCurrentActualFrameRate([in] IPin *pin, [out] LONGLONG *frame_rate);
1320 HRESULT GetMaxAvailableFrameRate([in] IPin *pin, [in] long index,
1321 [in] SIZE dimensions, [out] LONGLONG *frame_rate);
1322 HRESULT GetFrameRateList([in] IPin *pin, [in] long index, [in] SIZE dimensions,
1323 [out] long *list_size, [out] LONGLONG **frame_rate);
1329 uuid(56ed71a0-af5f-11d0-b3f0-00aa003761c5),
1330 pointer_default(unique)
1332interface IAMBufferNegotiation : IUnknown
1334 HRESULT SuggestAllocatorProperties([in] const ALLOCATOR_PROPERTIES *prop);
1335 HRESULT GetAllocatorProperties([out] ALLOCATOR_PROPERTIES *prop);
1341 uuid(c6e13344-30ac-11d0-a18c-00a0c9118956),
1342 pointer_default(unique)
1344interface IAMDroppedFrames : IUnknown
1346 HRESULT GetNumDropped([out] long *number);
1347 HRESULT GetNumNotDropped([out] long *number);
1348 HRESULT GetDroppedInfo([in] long size, [out] long *array, [out] long *copied);
1349 HRESULT GetAverageFrameSize([out] long *size);
1355 uuid(62ea93ba-ec62-11d2-b770-00c04fb6bd3d),
1356 pointer_default(unique)
1358interface IAMLatency : IUnknown
1360 HRESULT GetLatency([in, out] REFERENCE_TIME *latency);
1366 uuid(f185fe76-e64e-11d2-b76e-00c04fb6bd3d),
1367 pointer_default(unique)
1369interface IAMPushSource : IAMLatency
1371 HRESULT GetPushSourceFlags([out] ULONG *flags);
1372 HRESULT SetPushSourceFlags([in] ULONG flags);
1373 HRESULT SetStreamOffset([in] REFERENCE_TIME offset);
1374 HRESULT GetStreamOffset([out] REFERENCE_TIME *offset);
1375 HRESULT GetMaxStreamOffset([out] REFERENCE_TIME *offset);
1376 HRESULT SetMaxStreamOffset([in] REFERENCE_TIME offset);
1382 uuid(c6e13343-30ac-11d0-a18c-00a0c9118956),
1383 pointer_default(unique)
1385interface IAMVideoCompression : IUnknown
1387 HRESULT put_KeyFrameRate([in] long frame_rate);
1388 HRESULT get_KeyFrameRate([out] long *frame_rate);
1389 HRESULT put_PFramesPerKeyFrame([in] long frame);
1390 HRESULT get_PFramesPerKeyFrame([out] long *frame);
1391 HRESULT put_Quality([in] double quality);
1392 HRESULT get_Quality([out] double *quality);
1393 HRESULT put_WindowSize([in] DWORDLONG size);
1394 HRESULT get_WindowSize([out] DWORDLONG *size);
1395 HRESULT GetInfo([out, size_is(*version_size)] LPWSTR version, [in, out] int *version_size,
1396 [out, size_is(*description_size)] LPWSTR description, [in, out] int *description_size,
1397 [out] long *frame_rate, [out] long *key, [out] double *quality, [out] long *capabilities);
1398 HRESULT OverrideKeyFrame([in] long number);
1399 HRESULT OverrideFrameSize([in] long number, [in] long size);
1405 uuid(c6e13380-30ac-11d0-a18c-00a0c9118956),
1406 pointer_default(unique)
1408interface IAMCrossbar : IUnknown
1410 HRESULT get_PinCounts([out] long *output, [out] long *intput);
1411 HRESULT CanRoute([in] long output, [in] long input);
1412 HRESULT Route([in] long output, [in] long input);
1413 HRESULT get_IsRoutedTo([in] long output, [out] long *input);
1414 HRESULT get_CrossbarPinInfo([in] BOOL is_input, [in] long index,
1415 [out] long *related, [out] long *type);
1418typedef enum tagAMTunerEventType
1420 AMTUNER_EVENT_CHANGED = 0x0001,
1426 uuid(211a8760-03ac-11d1-8d13-00aa00bd8339),
1427 pointer_default(unique)
1429interface IAMTunerNotification : IUnknown
1431 HRESULT OnEvent([in] AMTunerEventType event);
1434typedef enum tagAMTunerModeType
1436 AMTUNER_MODE_DEFAULT = 0x0000,
1437 AMTUNER_MODE_TV = 0x0001,
1438 AMTUNER_MODE_FM_RADIO = 0x0002,
1439 AMTUNER_MODE_AM_RADIO = 0x0004,
1440 AMTUNER_MODE_DSS = 0x0008,
1446 uuid(211a8761-03ac-11d1-8d13-00aa00bd8339),
1447 pointer_default(unique)
1449interface IAMTuner : IUnknown
1451 HRESULT put_Channel([in] long channel, [in] long video, [in] long audio);
1452 HRESULT get_Channel([out] long *channel, [out] long *video, [out] long *audio);
1453 HRESULT ChannelMinMax([out] long *min, [out] long *max);
1454 HRESULT put_CountryCode([in] long country);
1455 HRESULT get_CountryCode([out] long *country);
1456 HRESULT put_TuningSpace([in] long tuning_space);
1457 HRESULT get_TuningSpace([out] long *tuning_space);
1458 [local] HRESULT Logon([in] HANDLE user);
1460 HRESULT SignalPresent([out] long *signal_strength);
1461 HRESULT put_Mode([in] AMTunerModeType mode);
1462 HRESULT get_Mode([out] AMTunerModeType *mode);
1463 HRESULT GetAvailableModes([out] long *modes);
1464 HRESULT RegisterNotificationCallBack([in] IAMTunerNotification *notify, [in] long events);
1465 HRESULT UnRegisterNotificationCallBack([in] IAMTunerNotification *notify);
1471 uuid(211a8766-03ac-11d1-8d13-00aa00bd8339),
1472 pointer_default(unique)
1474interface IAMTVTuner : IAMTuner
1476 HRESULT get_AvailableTVFormats([out] long *standard);
1477 HRESULT get_TVFormat([out] long *standard);
1478 HRESULT AutoTune([in] long channel, [out] long *signal);
1479 HRESULT StoreAutoTune();
1480 HRESULT get_NumInputConnections([out] long *number);
1481 HRESULT put_InputType([in] long index, [in] TunerInputType type);
1482 HRESULT get_InputType([in] long index, [out] TunerInputType *type);
1483 HRESULT put_ConnectInput([in] long index);
1484 HRESULT get_ConnectInput([out] long *index);
1485 HRESULT get_VideoFrequency([out] long *freq);
1486 HRESULT get_AudioFrequency([out] long *freq);
1492 uuid(e46a9787-2b71-444d-a4b5-1fab7b708d6a),
1493 pointer_default(unique),
1495interface IVideoFrameStep : IUnknown
1497 HRESULT Step(DWORD frame_count, [in] IUnknown *filter);
1498 HRESULT CanStep(long multiple, [in] IUnknown *filter);
1499 HRESULT CancelStep();
1503typedef enum tagTVAudioMode
1505 AMTVAUDIO_MODE_MONO = 0x0001,
1506 AMTVAUDIO_MODE_STEREO = 0x0002,
1507 AMTVAUDIO_MODE_LANG_A = 0x0010,
1508 AMTVAUDIO_MODE_LANG_B = 0x0020,
1509 AMTVAUDIO_MODE_LANG_C = 0x0040,
1510 AMTVAUDIO_PRESET_STEREO = 0x0200,
1511 AMTVAUDIO_PRESET_LANG_A = 0x1000,
1512 AMTVAUDIO_PRESET_LANG_B = 0x2000,
1513 AMTVAUDIO_PRESET_LANG_C = 0x4000,
const CLSID * clsMinorType
struct tagQuality Quality
IQualityControl * PQUALITYCONTROL
struct tagCOLORKEY COLORKEY
struct _RGNDATAHEADER RGNDATAHEADER
CD3D10_BUFFER_DESC D3D10_BUFFER_DESC cpp_quote(" ~CD3D10_BUFFER_DESC() {}") operator const D3D10_BUFFER_DESC &() const
_Must_inspect_result_ _In_opt_ PFLT_FILTER Filter
GLdouble GLdouble GLdouble GLdouble q
HRESULT Skip([in] ULONG cFilters)
HRESULT Clone([out] IEnumRegFilters **ppEnum)
HRESULT Next([in] ULONG cFilters, [out] REGFILTER **apRegFilter, [out] ULONG *pcFetched)
HRESULT EnumMatchingFilters([out] IEnumMoniker **ppEnum, [in] DWORD dwFlags, [in] BOOL bExactMatch, [in] DWORD dwMerit, [in] BOOL bInputNeeded, [in] DWORD cInputTypes, [size_is(cInputTypes *2)] const GUID *pInputTypes, [in] const REGPINMEDIUM *pMedIn, [in] const CLSID *pPinCategoryIn, [in] BOOL bRender, [in] BOOL bOutputNeeded, [in] DWORD cOutputTypes, [size_is(cOutputTypes *2)] const GUID *pOutputTypes, [in] const REGPINMEDIUM *pMedOut, [in] const CLSID *pPinCategoryOut)
HRESULT RegisterFilter([in] REFCLSID clsidFilter, [in] LPCWSTR Name, [in, out] IMoniker **ppMoniker, [in] const CLSID *pclsidCategory, [in] LPCOLESTR szInstance, [in] const REGFILTER2 *prf2)
HRESULT UnregisterFilter([in] const CLSID *pclsidCategory, [in] LPCOLESTR szInstance, [in] REFCLSID Filter)
HRESULT CreateCategory([in] REFCLSID clsidCategory, [in] DWORD dwCategoryMerit, [in] LPCWSTR Description)
HRESULT OnClipChange([in] const RECT *pSourceRect, [in] const RECT *pDestinationRect, [in] const RGNDATA *pRgnData)
HRESULT OnColorKeyChange([in] const COLORKEY *pColorKey)
HRESULT OnPaletteChange([in] DWORD dwColors, [in] const PALETTEENTRY *pPalette)
HRESULT OnPositionChange([in] const RECT *pSourceRect, [in] const RECT *pDestinationRect)
HRESULT Notify([in] IBaseFilter *pSelf, [in] Quality q)
HRESULT SetSink([in] IQualityControl *piqc)
HRESULT GetICreateDevEnum([out] ICreateDevEnum **ppEnum)
HRESULT UnregisterFilter([in] CLSID Filter)
HRESULT RegisterPin([in] CLSID Filter, [in] LPCWSTR Name, [in] BOOL bRendered, [in] BOOL bOutput, [in] BOOL bZero, [in] BOOL bMany, [in] CLSID ConnectsToFilter, [in] LPCWSTR ConnectsToPin)
HRESULT UnregisterFilterInstance([in] CLSID MRId)
HRESULT RegisterPinType([in] CLSID clsFilter, [in] LPCWSTR strName, [in] CLSID clsMajorType, [in] CLSID clsSubType)
HRESULT EnumMatchingFilters([out] IEnumRegFilters **ppEnum, [in] DWORD dwMerit, [in] BOOL bInputNeeded, [in] CLSID clsInMaj, [in] CLSID clsInSub, [in] BOOL bRender, [in] BOOL bOutputNeeded, [in] CLSID clsOutMaj, [in] CLSID clsOutSub)
HRESULT RegisterFilterInstance([in] CLSID clsid, [in] LPCWSTR Name, [out] CLSID *MRId)
HRESULT RegisterFilter([in] CLSID clsid, [in] LPCWSTR Name, [in] DWORD dwMerit)
HRESULT UnregisterPin([in] CLSID Filter, [in] LPCWSTR Name)
_In_ LPWSTR _In_ DWORD _In_ DWORD _In_ DWORD dwFlags
_Must_inspect_result_ _In_ ACCESS_MASK _In_opt_ POBJECT_ATTRIBUTES _In_opt_ LPGUID _In_opt_ HANDLE _In_opt_ ULONG _In_opt_ ULONG _In_opt_ ULONG _In_opt_ PLARGE_INTEGER _In_opt_ PUNICODE_STRING Description
const REGFILTERPINS * rgPins
const REGFILTERPINS2 * rgPins2
const CLSID * clsPinCategory
const REGPINMEDIUM * lpMedium
const REGPINTYPES * lpMediaType
const CLSID * clsConnectsToFilter
const REGPINTYPES * lpMediaType
const WCHAR * strConnectsToPin
wchar_t tm const _CrtWcstime_Writes_and_advances_ptr_ count wchar_t ** out
ncacn_np pointer_default(unique)] interface winspool