annotate stream/tvi_dshow.h @ 30251:fbb33d643fe6

Remove hackish and not actually working code to make vidix compile with compilers without inline assembly. Almost no OS provides inb() etc. in its libraries, and removing the broken fallback code makes it compile on Solaris with Sun C compiler.
author reimar
date Tue, 12 Jan 2010 20:20:49 +0000
parents 774aa6f7399e
children ce0122361a39
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25607
diff changeset
1 #ifndef MPLAYER_TVI_DSHOW_H
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25607
diff changeset
2 #define MPLAYER_TVI_DSHOW_H
24744
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
3
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
4 /// \defgroup tvi_dshow TV driver (Directshow)
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
5
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
6 #define INITGUID
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
7 #include <inttypes.h>
27846
87da3db93a44 vfw.h needs a windows.h include before on MinGW64.
reimar
parents: 26029
diff changeset
8 #include <windows.h>
24744
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
9 //#include <ole2.h>
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
10 #include <vfw.h>
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
11 #include "loader/dshow/mediatype.h"
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
12 #include "loader/dshow/guids.h"
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
13
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
14 #define wtoa(strW,strA,lenA) WideCharToMultiByte(0,0,strW,-1,strA,lenA,NULL,NULL)
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
15 #define atow(strA,strW,lenW) MultiByteToWideChar(0,0,strA,strlen(strA),strW,lenW)
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
16
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
17 typedef struct DISPPARAMS *LPDISPPARAMS;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
18 typedef struct IFileSinkFilter *LPFILESINKFILTER;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
19 typedef struct IAMCopyCaptureFileProgress *LPAMCOPYCAPTUREFILEPROGRESS;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
20 typedef struct IErrorLog *LPERRORLOG;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
21 typedef struct IAMTunerNotification *LPAMTUNERNOTIFICATION;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
22 typedef struct IFilterGraph *LPFILTERGRAPH;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
23 typedef struct IBaseFilter *LPBASEFILTER;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
24 typedef struct IPin *LPPIN;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
25 typedef struct IEnumPins *LPENUMPINS;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
26 typedef struct IEnumFilters *LPENUMFILTERS;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
27 typedef struct IEnumMediaTypes *LPENUMMEDIATYPES;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
28 typedef struct IReferenceClock *LPREFERENCECLOCK;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
29 typedef struct IMediaSample *LPMEDIASAMPLE;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
30 typedef struct IVideoWindow *LPVIDEOWINDOW;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
31
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 27846
diff changeset
32 typedef struct
24744
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
33 {
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
34 long cBuffers;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
35 long cbBuffer;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
36 long cbAlign;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
37 long cbPrefix;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
38 }ALLOCATOR_PROPERTIES;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
39
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
40 typedef
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
41 enum tagTunerInputType { TunerInputCable = 0,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
42 TunerInputAntenna = TunerInputCable + 1
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
43 } TunerInputType;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
44 typedef enum tagAMTunerModeType {
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
45 AMTUNER_MODE_DEFAULT = 0x0000,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
46 AMTUNER_MODE_TV = 0x0001,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
47 AMTUNER_MODE_FM_RADIO = 0x0002,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
48 AMTUNER_MODE_AM_RADIO = 0x0004,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
49 AMTUNER_MODE_DSS = 0x0008
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
50 } AMTunerModeType;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
51 enum tagAMTunerSubChannel { AMTUNER_SUBCHAN_NO_TUNE = -2,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
52 AMTUNER_SUBCHAN_DEFAULT = -1
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
53 } AMTunerSubChannel;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
54 typedef enum tagVideoProcAmpProperty {
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
55 VideoProcAmp_Brightness,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
56 VideoProcAmp_Contrast,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
57 VideoProcAmp_Hue,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
58 VideoProcAmp_Saturation,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
59 VideoProcAmp_Sharpness,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
60 VideoProcAmp_Gamma,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
61 VideoProcAmp_ColorEnable,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
62 VideoProcAmp_WhiteBalance,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
63 VideoProcAmp_BacklightCompensation,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
64 VideoProcAmp_Gain
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
65 } VideoProcAmpProperty;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
66
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
67 typedef long OAFilterState;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
68 typedef
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
69 enum tagAnalogVideoStandard { AnalogVideo_None = 0,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
70 AnalogVideo_NTSC_M = 0x1,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
71 AnalogVideo_NTSC_M_J = 0x2,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
72 AnalogVideo_NTSC_433 = 0x4,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
73 AnalogVideo_PAL_B = 0x10,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
74 AnalogVideo_PAL_D = 0x20,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
75 AnalogVideo_PAL_G = 0x40,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
76 AnalogVideo_PAL_H = 0x80,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
77 AnalogVideo_PAL_I = 0x100,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
78 AnalogVideo_PAL_M = 0x200,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
79 AnalogVideo_PAL_N = 0x400,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
80 AnalogVideo_PAL_60 = 0x800,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
81 AnalogVideo_SECAM_B = 0x1000,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
82 AnalogVideo_SECAM_D = 0x2000,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
83 AnalogVideo_SECAM_G = 0x4000,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
84 AnalogVideo_SECAM_H = 0x8000,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
85 AnalogVideo_SECAM_K = 0x10000,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
86 AnalogVideo_SECAM_K1 = 0x20000,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
87 AnalogVideo_SECAM_L = 0x40000,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
88 AnalogVideo_SECAM_L1 = 0x80000
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
89 } AnalogVideoStandard;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
90
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
91
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
92 typedef LONG_PTR OAHWND;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
93 typedef enum tagPhysicalConnectorType { PhysConn_Video_Tuner = 1,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
94 PhysConn_Video_Composite = PhysConn_Video_Tuner + 1,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
95 PhysConn_Video_SVideo = PhysConn_Video_Composite + 1,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
96 PhysConn_Video_RGB = PhysConn_Video_SVideo + 1,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
97 PhysConn_Video_YRYBY = PhysConn_Video_RGB + 1,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
98 PhysConn_Video_SerialDigital = PhysConn_Video_YRYBY + 1,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
99 PhysConn_Video_ParallelDigital = PhysConn_Video_SerialDigital + 1,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
100 PhysConn_Video_SCSI = PhysConn_Video_ParallelDigital + 1,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
101 PhysConn_Video_AUX = PhysConn_Video_SCSI + 1,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
102 PhysConn_Video_1394 = PhysConn_Video_AUX + 1,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
103 PhysConn_Video_USB = PhysConn_Video_1394 + 1,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
104 PhysConn_Video_VideoDecoder = PhysConn_Video_USB + 1,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
105 PhysConn_Video_VideoEncoder = PhysConn_Video_VideoDecoder + 1,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
106 PhysConn_Video_SCART = PhysConn_Video_VideoEncoder + 1,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
107 PhysConn_Video_Black = PhysConn_Video_SCART + 1,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
108 PhysConn_Audio_Tuner = 0x1000,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
109 PhysConn_Audio_Line = PhysConn_Audio_Tuner + 1,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
110 PhysConn_Audio_Mic = PhysConn_Audio_Line + 1,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
111 PhysConn_Audio_AESDigital = PhysConn_Audio_Mic + 1,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
112 PhysConn_Audio_SPDIFDigital = PhysConn_Audio_AESDigital + 1,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
113 PhysConn_Audio_SCSI = PhysConn_Audio_SPDIFDigital + 1,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
114 PhysConn_Audio_AUX = PhysConn_Audio_SCSI + 1,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
115 PhysConn_Audio_1394 = PhysConn_Audio_AUX + 1,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
116 PhysConn_Audio_USB = PhysConn_Audio_1394 + 1,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
117 PhysConn_Audio_AudioDecoder = PhysConn_Audio_USB + 1
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
118 } PhysicalConnectorType;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
119
25607
9d0b189ce1b2 Fix illegal identifiers: Names starting with __ or _ and uppercase are reserved
diego
parents: 24744
diff changeset
120 typedef struct VIDEO_STREAM_CONFIG_CAPS {
24744
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
121 GUID guid; // will be MEDIATYPE_Video
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
122 ULONG VideoStandard; // logical OR of all AnalogVideoStandards
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
123 // supported
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
124 SIZE InputSize; // the inherent size of the incoming signal
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
125 // (every pixel unique)
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
126 SIZE MinCroppingSize; // smallest rcSrc cropping rect allowed
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
127 SIZE MaxCroppingSize; // largest rcSrc cropping rect allowed
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
128 int CropGranularityX; // granularity of cropping size
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
129 int CropGranularityY;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
130 int CropAlignX; // alignment of cropping rect
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
131 int CropAlignY;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
132 SIZE MinOutputSize; // smallest bitmap stream can produce
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
133 SIZE MaxOutputSize; // largest bitmap stream can produce
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
134 int OutputGranularityX; // granularity of output bitmap size
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
135 int OutputGranularityY;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
136 int StretchTapsX; // 0, no stretch, 1 pix dup, 2 interp, ...
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
137 int StretchTapsY; // Describes quality of hardware scaler
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
138 int ShrinkTapsX; //
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
139 int ShrinkTapsY; //
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
140 LONGLONG MinFrameInterval; // 100 nS units
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
141 LONGLONG MaxFrameInterval;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
142 LONG MinBitsPerSecond;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
143 LONG MaxBitsPerSecond;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
144 } VIDEO_STREAM_CONFIG_CAPS, *PVIDEO_STREAM_CONFIG_CAPS;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
145
25607
9d0b189ce1b2 Fix illegal identifiers: Names starting with __ or _ and uppercase are reserved
diego
parents: 24744
diff changeset
146 typedef struct AUDIO_STREAM_CONFIG_CAPS {
24744
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
147 GUID guid;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
148 ULONG MinimumChannels;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
149 ULONG MaximumChannels;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
150 ULONG ChannelsGranularity;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
151 ULONG MinimumBitsPerSample;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
152 ULONG MaximumBitsPerSample;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
153 ULONG BitsPerSampleGranularity;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
154 ULONG MinimumSampleFrequency;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
155 ULONG MaximumSampleFrequency;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
156 ULONG SampleFrequencyGranularity;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
157 } AUDIO_STREAM_CONFIG_CAPS;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
158
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
159 typedef enum tagVideoProcAmpFlags {
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
160 VideoProcAmp_Flags_Auto = 0x0001,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
161 VideoProcAmp_Flags_Manual = 0x0002
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
162 } VideoProcAmpFlags;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
163 typedef enum {
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
164 PINDIR_INPUT = 0,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
165 PINDIR_OUTPUT
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
166 } PIN_DIRECTION;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
167
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
168 #define KSPROPERTY_SUPPORT_GET 1
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
169 #define KSPROPERTY_SUPPORT_SET 2
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
170 typedef struct {
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
171 GUID Set;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
172 ULONG Id;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
173 ULONG Flags;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
174 } KSIDENTIFIER;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
175
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
176 typedef KSIDENTIFIER KSPROPERTY;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
177
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
178
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
179 typedef struct {
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
180 KSPROPERTY Property;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
181 ULONG Mode; // IN: KSPROPERTY_TUNER_MODE
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
182 ULONG StandardsSupported; // KS_AnalogVideo_* (if TV or DSS)
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
183 ULONG MinFrequency; // Hz
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
184 ULONG MaxFrequency; // Hz
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
185 ULONG TuningGranularity; // Hz
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
186 ULONG NumberOfInputs; // count of inputs
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
187 ULONG SettlingTime; // milliSeconds
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
188 ULONG Strategy; // KS_TUNER_STRATEGY
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
189 } KSPROPERTY_TUNER_MODE_CAPS_S, *PKSPROPERTY_TUNER_MODE_CAPS_S;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
190
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
191 typedef struct {
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
192 KSPROPERTY Property;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
193 ULONG Mode; // IN: KSPROPERTY_TUNER_MODE
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
194 } KSPROPERTY_TUNER_MODE_S, *PKSPROPERTY_TUNER_MODE_S;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
195
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
196 typedef struct {
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
197 KSPROPERTY Property;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
198 ULONG Frequency; // Hz
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
199 ULONG LastFrequency; // Hz (last known good)
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
200 ULONG TuningFlags; // KS_TUNER_TUNING_FLAGS
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
201 ULONG VideoSubChannel; // DSS
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
202 ULONG AudioSubChannel; // DSS
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
203 ULONG Channel; // VBI decoders
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
204 ULONG Country; // VBI decoders
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
205 } KSPROPERTY_TUNER_FREQUENCY_S, *PKSPROPERTY_TUNER_FREQUENCY_S;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
206 typedef struct {
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
207 KSPROPERTY Property;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
208 ULONG CurrentFrequency;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
209 ULONG PLLOffset;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
210 ULONG SignalStrength;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
211 ULONG Busy;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
212 } KSPROPERTY_TUNER_STATUS_S, *PKSPROPERTY_TUNER_STATUS_S;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
213 typedef enum {
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
214 KS_TUNER_TUNING_EXACT = 1, // No fine tuning
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
215 KS_TUNER_TUNING_FINE, // Fine grained search
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
216 KS_TUNER_TUNING_COARSE, // Coarse search
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
217 } KS_TUNER_TUNING_FLAGS;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
218
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
219 typedef enum {
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
220 KSPROPERTY_TUNER_CAPS, // R -overall device capabilities
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
221 KSPROPERTY_TUNER_MODE_CAPS, // R -capabilities in this mode
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
222 KSPROPERTY_TUNER_MODE, // RW -set a mode (TV, FM, AM, DSS)
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
223 KSPROPERTY_TUNER_STANDARD, // R -get TV standard (only if TV mode)
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
224 KSPROPERTY_TUNER_FREQUENCY, // RW -set/get frequency
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
225 KSPROPERTY_TUNER_INPUT, // RW -select an input
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
226 KSPROPERTY_TUNER_STATUS, // R -tuning status
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
227 KSPROPERTY_TUNER_IF_MEDIUM // R O-Medium for IF or Transport Pin
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
228 } KSPROPERTY_TUNER;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
229 typedef enum {
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
230 KS_TUNER_STRATEGY_PLL = 0X01, // Tune by PLL offset
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
231 KS_TUNER_STRATEGY_SIGNAL_STRENGTH = 0X02, // Tune by signal strength
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
232 KS_TUNER_STRATEGY_DRIVER_TUNES = 0X04, // Driver does fine tuning
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
233 } KS_TUNER_STRATEGY;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
234 typedef enum tagTVAudioMode {
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
235 AMTVAUDIO_MODE_MONO = 0x0001,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
236 AMTVAUDIO_MODE_STEREO = 0x0002,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
237 AMTVAUDIO_MODE_LANG_A = 0x0010,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
238 AMTVAUDIO_MODE_LANG_B = 0x0020,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
239 AMTVAUDIO_MODE_LANG_C = 0x0040,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
240 } TVAudioMode;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
241
25607
9d0b189ce1b2 Fix illegal identifiers: Names starting with __ or _ and uppercase are reserved
diego
parents: 24744
diff changeset
242 typedef struct FilterInfo {
24744
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
243 WCHAR achName[128];
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
244 LPFILTERGRAPH pGraph;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
245 } FILTER_INFO;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
246
25607
9d0b189ce1b2 Fix illegal identifiers: Names starting with __ or _ and uppercase are reserved
diego
parents: 24744
diff changeset
247 typedef struct PinInfo {
24744
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
248 LPBASEFILTER pFilter;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
249 PIN_DIRECTION dir;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
250 unsigned short achName[128];
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
251 } PIN_INFO;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
252 //-----------------------------------
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
253
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
254
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
255 #undef INTERFACE
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
256 #define INTERFACE IPin
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
257 DECLARE_INTERFACE(IPin)
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
258 {
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
259 STDMETHOD(QueryInterface) (THIS_ const GUID *, void **);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
260 STDMETHOD_(long, AddRef) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
261 STDMETHOD_(long, Release) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
262 STDMETHOD(Connect) (THIS_ IPin *, AM_MEDIA_TYPE *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
263 STDMETHOD(ReceiveConnection) (THIS_ IPin *, const AM_MEDIA_TYPE *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
264 STDMETHOD(Disconnect) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
265 STDMETHOD(ConnectedTo) (THIS_ IPin **);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
266 STDMETHOD(ConnectionMediaType) (THIS_ AM_MEDIA_TYPE * pmt);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
267 STDMETHOD(QueryPinInfo) (THIS_ PIN_INFO *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
268 STDMETHOD(QueryDirection) (THIS_ PIN_DIRECTION *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
269 STDMETHOD(QueryId) (THIS_ unsigned short **);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
270 STDMETHOD(QueryAccept) (THIS_ const AM_MEDIA_TYPE *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
271 STDMETHOD(EnumMediaTypes) (THIS_ LPENUMMEDIATYPES *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
272 STDMETHOD(QueryInternalConnections) (THIS_ IPin **, unsigned long *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
273 STDMETHOD(EndOfStream) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
274 STDMETHOD(BeginFlush) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
275 STDMETHOD(EndFlush) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
276 STDMETHOD(NewSegment) (THIS_ REFERENCE_TIME, REFERENCE_TIME, double);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
277 };
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
278
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
279 #undef INTERFACE
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
280 #define INTERFACE IBaseFilter
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
281 DECLARE_INTERFACE(IBaseFilter)
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
282 {
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
283 STDMETHOD(QueryInterface) (THIS_ const GUID *, void **);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
284 STDMETHOD_(long, AddRef) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
285 STDMETHOD_(long, Release) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
286 STDMETHOD(GetClassID) (THIS_ CLSID * pClassID);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
287 STDMETHOD(Stop) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
288 STDMETHOD(Pause) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
289 STDMETHOD(Run) (THIS_ REFERENCE_TIME tStart);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
290 STDMETHOD(GetState) (THIS_ unsigned long, void *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
291 STDMETHOD(SetSyncSource) (THIS_ LPREFERENCECLOCK);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
292 STDMETHOD(GetSyncSource) (THIS_ LPREFERENCECLOCK *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
293 STDMETHOD(EnumPins) (THIS_ LPENUMPINS *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
294 STDMETHOD(FindPin) (THIS_ const unsigned short *, LPPIN *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
295 STDMETHOD(QueryFilterInfo) (THIS_ void *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
296 STDMETHOD(JoinFilterGraph) (THIS_ LPFILTERGRAPH,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
297 const unsigned short *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
298 STDMETHOD(QueryVendorInfo) (THIS_ unsigned short **);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
299 };
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
300
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
301 #undef INTERFACE
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
302 #define INTERFACE IAMTVTuner
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
303 DECLARE_INTERFACE(IAMTVTuner)
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
304 {
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
305 STDMETHOD(QueryInterface) (THIS_ const GUID *, void **);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
306 STDMETHOD_(long, AddRef) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
307 STDMETHOD_(long, Release) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
308 STDMETHOD(put_Channel) (THIS_ long, long, long);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
309 STDMETHOD(get_Channel) (THIS_ long *, long *, long *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
310 STDMETHOD(ChannelMinMax) (THIS_ long *, long *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
311 STDMETHOD(put_CountryCode) (THIS_ long);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
312 STDMETHOD(get_CountryCode) (THIS_ long *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
313 STDMETHOD(put_TuningSpace) (THIS_ long);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
314 STDMETHOD(get_TuningSpace) (THIS_ long *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
315 STDMETHOD(Logon) (THIS_ HANDLE);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
316 STDMETHOD(Logout) (IAMTVTuner *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
317 STDMETHOD(SignalPresen) (THIS_ long *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
318 STDMETHOD(put_Mode) (THIS_ AMTunerModeType);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
319 STDMETHOD(get_Mode) (THIS_ AMTunerModeType *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
320 STDMETHOD(GetAvailableModes) (THIS_ long *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
321 STDMETHOD(RegisterNotificationCallBack) (THIS_ LPAMTUNERNOTIFICATION,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
322 long);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
323 STDMETHOD(UnRegisterNotificationCallBack) (THIS_
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
324 LPAMTUNERNOTIFICATION);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
325 STDMETHOD(get_AvailableTVFormats) (THIS_ long *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
326 STDMETHOD(get_TVFormat) (THIS_ long *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
327 STDMETHOD(AutoTune) (THIS_ long, long *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
328 STDMETHOD(StoreAutoTune) (IAMTVTuner *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
329 STDMETHOD(get_NumInputConnections) (THIS_ long *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
330 STDMETHOD(put_InputType) (THIS_ long, TunerInputType);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
331 STDMETHOD(get_InputType) (THIS_ long, TunerInputType *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
332 STDMETHOD(put_ConnectInput) (THIS_ long);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
333 STDMETHOD(get_ConnectInput) (THIS_ long *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
334 STDMETHOD(get_VideoFrequency) (THIS_ long *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
335 STDMETHOD(get_AudioFrequency) (THIS_ long *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
336 };
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
337
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
338 #undef INTERFACE
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
339 #define INTERFACE IMediaControl
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
340 DECLARE_INTERFACE(IMediaControl)
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
341 {
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
342 STDMETHOD(QueryInterface) (THIS_ const GUID *, void **);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
343 STDMETHOD_(long, AddRef) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
344 STDMETHOD_(long, Release) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
345 STDMETHOD(GetTypeInfoCount) (THIS_ UINT *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
346 STDMETHOD(GetTypeInfo) (THIS_ UINT, LCID, LPTYPEINFO *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
347 STDMETHOD(GetIDsOfNames) (THIS_ REFIID, LPOLESTR *, UINT, LCID,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
348 DISPID *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
349 STDMETHOD(Invoke) (THIS_ DISPID, REFIID, LCID, WORD, LPDISPPARAMS,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
350 VARIANT *, EXCEPINFO *, UINT *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
351 STDMETHOD(Run) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
352 STDMETHOD(Pause) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
353 STDMETHOD(Stop) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
354 STDMETHOD(GetState) (THIS_ LONG, OAFilterState *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
355 STDMETHOD(RenderFile) (THIS_ BSTR);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
356 STDMETHOD(AddSourceFilter) (THIS_ BSTR, LPDISPATCH *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
357 STDMETHOD(get_FilterCollection) (THIS_ LPDISPATCH *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
358 STDMETHOD(get_RegFilterCollection) (THIS_ LPDISPATCH *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
359 STDMETHOD(StopWhenReady) (IMediaControl *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
360 };
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
361
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
362 #undef INTERFACE
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
363 #define INTERFACE IGraphBuilder
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
364 DECLARE_INTERFACE(IGraphBuilder)
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
365 {
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
366 STDMETHOD(QueryInterface) (THIS_ const GUID *, void **);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
367 STDMETHOD_(long, AddRef) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
368 STDMETHOD_(long, Release) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
369 STDMETHOD(AddFilter) (THIS_ IBaseFilter *, LPCWSTR);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
370 STDMETHOD(RemoveFilter) (THIS_ IBaseFilter *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
371 STDMETHOD(EnumFilters) (THIS_ LPENUMFILTERS *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
372 STDMETHOD(FindFilterByName) (THIS_ LPCWSTR, IBaseFilter **);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
373 STDMETHOD(ConnectDirect) (THIS_ IPin *, IPin *, const AM_MEDIA_TYPE *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
374 STDMETHOD(Reconnect) (THIS_ IPin *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
375 STDMETHOD(Disconnect) (THIS_ IPin *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
376 STDMETHOD(SetDefaultSyncSource) (IGraphBuilder *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
377 STDMETHOD(Connect) (THIS_ IPin *, IPin *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
378 STDMETHOD(Render) (THIS_ IPin *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
379 STDMETHOD(RenderFile) (THIS_ LPCWSTR, LPCWSTR);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
380 STDMETHOD(AddSourceFilter) (THIS_ LPCWSTR, LPCWSTR, IBaseFilter **);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
381 STDMETHOD(SetLogFile) (THIS_ DWORD_PTR);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
382 STDMETHOD(Abort) (IGraphBuilder *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
383 STDMETHOD(ShouldOperationContinue) (IGraphBuilder *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
384 };
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
385
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
386
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
387 #undef INTERFACE
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
388 #define INTERFACE ICaptureGraphBuilder2
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
389 DECLARE_INTERFACE(ICaptureGraphBuilder2)
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
390 {
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
391 STDMETHOD(QueryInterface) (THIS_ const GUID *, void **);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
392 STDMETHOD_(long, AddRef) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
393 STDMETHOD_(long, Release) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
394 STDMETHOD(SetFiltergraph) (THIS_ IGraphBuilder *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
395 STDMETHOD(GetFiltergraph) (THIS_ IGraphBuilder **);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
396 STDMETHOD(SetOutputFileName) (THIS_ const GUID *, LPCOLESTR,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
397 IBaseFilter **, LPFILESINKFILTER *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
398 STDMETHOD(FindInterface) (THIS_ const GUID *, const GUID *,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
399 IBaseFilter *, REFIID, void **);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
400 STDMETHOD(RenderStream) (THIS_ const GUID *, const GUID *, IUnknown *,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
401 IBaseFilter *, IBaseFilter *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
402 STDMETHOD(ControlStream) (THIS_ const GUID *, const GUID *,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
403 IBaseFilter *, REFERENCE_TIME *,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
404 REFERENCE_TIME *, WORD, WORD);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
405 STDMETHOD(AllocCapFile) (THIS_ LPCOLESTR, DWORDLONG);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
406 STDMETHOD(CopyCaptureFile) (THIS_ LPOLESTR, LPOLESTR, int,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
407 LPAMCOPYCAPTUREFILEPROGRESS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
408 STDMETHOD(FindPin) (THIS_ IUnknown *, PIN_DIRECTION, const GUID *,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
409 const GUID *, BOOL, int, IPin **);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
410 };
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
411
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
412 #undef INTERFACE
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
413 #define INTERFACE ICreateDevEnum
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
414 DECLARE_INTERFACE(ICreateDevEnum)
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
415 {
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
416 STDMETHOD(QueryInterface) (THIS_ const GUID *, void **);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
417 STDMETHOD_(long, AddRef) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
418 STDMETHOD_(long, Release) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
419 STDMETHOD(CreateClassEnumerator) (THIS_ REFCLSID, IEnumMoniker **,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
420 DWORD);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
421 };
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
422
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
423 #undef INTERFACE
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
424 #define INTERFACE IAMCrossbar
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
425 DECLARE_INTERFACE(IAMCrossbar)
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
426 {
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
427 STDMETHOD(QueryInterface) (THIS_ const GUID *, void **);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
428 STDMETHOD_(long, AddRef) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
429 STDMETHOD_(long, Release) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
430 STDMETHOD(get_PinCounts) (THIS_ long *, long *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
431 STDMETHOD(CanRoute) (THIS_ long, long);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
432 STDMETHOD(Route) (THIS_ long, long);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
433 STDMETHOD(get_IsRoutedTo) (THIS_ long, long *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
434 STDMETHOD(get_CrossbarPinInfo) (THIS_ BOOL, long, long *, long *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
435 };
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
436
30127
774aa6f7399e Several hacks to fix compilation of tvi_dshow on MinGW64.
reimar
parents: 29263
diff changeset
437 #ifndef __IPropertyBag_INTERFACE_DEFINED__
774aa6f7399e Several hacks to fix compilation of tvi_dshow on MinGW64.
reimar
parents: 29263
diff changeset
438 #define __IPropertyBag_INTERFACE_DEFINED__
24744
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
439 #undef INTERFACE
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
440 #define INTERFACE IPropertyBag
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
441 DECLARE_INTERFACE(IPropertyBag)
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
442 {
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
443 STDMETHOD(QueryInterface) (THIS_ const GUID *, void **);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
444 STDMETHOD_(long, AddRef) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
445 STDMETHOD_(long, Release) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
446 STDMETHOD(Read) (THIS_ LPCOLESTR, LPVARIANT, LPERRORLOG);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
447 STDMETHOD(Write) (THIS_ LPCOLESTR, LPVARIANT);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
448 };
30127
774aa6f7399e Several hacks to fix compilation of tvi_dshow on MinGW64.
reimar
parents: 29263
diff changeset
449 #endif
24744
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
450
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
451 #undef INTERFACE
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
452 #define INTERFACE IAMStreamConfig
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
453 DECLARE_INTERFACE(IAMStreamConfig)
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
454 {
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
455 STDMETHOD(QueryInterface) (THIS_ const GUID *, void **);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
456 STDMETHOD_(long, AddRef) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
457 STDMETHOD_(long, Release) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
458 HRESULT(STDMETHODCALLTYPE * SetFormat) (THIS_ AM_MEDIA_TYPE *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
459 HRESULT(STDMETHODCALLTYPE * GetFormat) (THIS_ AM_MEDIA_TYPE **);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
460 HRESULT(STDMETHODCALLTYPE * GetNumberOfCapabilities) (THIS_ int *,int *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
461 HRESULT(STDMETHODCALLTYPE * GetStreamCaps) (THIS_ int,AM_MEDIA_TYPE **, BYTE *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
462 };
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
463
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
464 #undef INTERFACE
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
465 #define INTERFACE IAMVideoProcAmp
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
466 DECLARE_INTERFACE(IAMVideoProcAmp)
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
467 {
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
468 STDMETHOD(QueryInterface) (THIS_ const GUID *, void **);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
469 STDMETHOD_(long, AddRef) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
470 STDMETHOD_(long, Release) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
471 STDMETHOD(GetRange) (THIS_ long, long *, long *, long *, long *,long *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
472 STDMETHOD(Set) (THIS_ long, long, long);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
473 STDMETHOD(Get) (THIS_ long, long *, long *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
474 };
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
475
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
476 #undef INTERFACE
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
477 #define INTERFACE IKsPropertySet
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
478 DECLARE_INTERFACE(IKsPropertySet)
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
479 {
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
480 STDMETHOD(QueryInterface) (THIS_ const GUID *, void **);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
481 STDMETHOD_(long, AddRef) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
482 STDMETHOD_(long, Release) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
483 HRESULT(STDMETHODCALLTYPE * Set) (THIS_ REFGUID, DWORD, LPVOID, DWORD,LPVOID, DWORD);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
484 HRESULT(STDMETHODCALLTYPE * Get) (THIS_ REFGUID, DWORD, LPVOID, DWORD,LPVOID, DWORD, DWORD *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
485 HRESULT(STDMETHODCALLTYPE * QuerySupported) (THIS_ REFGUID, DWORD,DWORD *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
486 };
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
487
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
488 #undef INTERFACE
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
489 #define INTERFACE IAMAnalogVideoDecoder
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
490 DECLARE_INTERFACE(IAMAnalogVideoDecoder)
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
491 {
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
492 STDMETHOD(QueryInterface) (THIS_ const GUID *, void **);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
493 STDMETHOD_(long, AddRef) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
494 STDMETHOD_(long, Release) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
495 STDMETHOD(get_AvailableTVFormats) (THIS_ long *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
496 STDMETHOD(put_TVFormat) (THIS_ long);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
497 STDMETHOD(get_TVFormat) (THIS_ long *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
498 STDMETHOD(get_HorizontalLocked) (THIS_ long *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
499 STDMETHOD(put_VCRHorizontalLocking) (THIS_ long);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
500 STDMETHOD(get_VCRHorizontalLocking) (THIS_ long *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
501 STDMETHOD(get_NumberOfLines) (THIS_ long *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
502 STDMETHOD(put_OutputEnable) (THIS_ long);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
503 STDMETHOD(get_OutputEnable) (THIS_ long *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
504 };
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
505
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
506 #undef INTERFACE
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
507 #define INTERFACE IAMTVAudio
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
508 DECLARE_INTERFACE(IAMTVAudio)
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
509 {
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
510 STDMETHOD(QueryInterface) (THIS_ const GUID *, void **);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
511 STDMETHOD_(long, AddRef) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
512 STDMETHOD_(long, Release) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
513 STDMETHOD(GetHardwareSupportedTVAudioModes) (THIS_ long *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
514 STDMETHOD(GetAvailableTVAudioModes) (THIS_ long *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
515 STDMETHOD(get_TVAudioMode) (THIS_ long *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
516 STDMETHOD(put_TVAudioMode) (THIS_ long);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
517 STDMETHOD(RegisterNotificationCallBack) (THIS_ LPAMTUNERNOTIFICATION,
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
518 long);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
519 STDMETHOD(UnRegisterNotificationCallBack) (THIS_
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
520 LPAMTUNERNOTIFICATION);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
521 };
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
522
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
523
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
524 #undef INTERFACE
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
525 #define INTERFACE ISampleGrabberCB
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
526 DECLARE_INTERFACE(ISampleGrabberCB)
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
527 {
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
528 STDMETHOD(QueryInterface) (THIS_ const GUID *, void **);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
529 STDMETHOD_(long, AddRef) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
530 STDMETHOD_(long, Release) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
531 STDMETHOD(SampleCB) (THIS_ double, LPMEDIASAMPLE);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
532 STDMETHOD(BufferCB) (THIS_ double, BYTE *, long);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
533 };
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
534
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
535 #undef INTERFACE
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
536 #define INTERFACE ISampleGrabber
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
537 DECLARE_INTERFACE(ISampleGrabber)
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
538 {
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
539 STDMETHOD(QueryInterface) (THIS_ const GUID *, void **);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
540 STDMETHOD_(long, AddRef) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
541 STDMETHOD_(long, Release) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
542 STDMETHOD(SetOneShot) (THIS_ BOOL);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
543 STDMETHOD(SetMediaType) (THIS_ const AM_MEDIA_TYPE *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
544 STDMETHOD(GetConnectedMediaType) (THIS_ AM_MEDIA_TYPE *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
545 STDMETHOD(SetBufferSamples) (THIS_ BOOL);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
546 STDMETHOD(GetCurrentBuffer) (THIS_ long *, long *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
547 STDMETHOD(GetCurrentSample) (THIS_ LPMEDIASAMPLE *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
548 STDMETHOD(SetCallback) (THIS_ ISampleGrabberCB *, long);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
549 };
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
550
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
551 #undef INTERFACE
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
552 #define INTERFACE IFilterGraph
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
553 DECLARE_INTERFACE(IFilterGraph)
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
554 {
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
555 STDMETHOD(QueryInterface) (THIS_ const GUID *, void **);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
556 STDMETHOD_(long, AddRef) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
557 STDMETHOD_(long, Release) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
558 STDMETHOD(AddFilter) (THIS_ LPBASEFILTER, LPCWSTR);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
559 STDMETHOD(RemoveFilter) (THIS_ LPBASEFILTER);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
560 STDMETHOD(EnumFilters) (THIS_ LPENUMFILTERS *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
561 STDMETHOD(FindFilterByName) (THIS_ LPCWSTR, LPBASEFILTER *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
562 STDMETHOD(ConnectDirect) (THIS_ IPin *, IPin *, const AM_MEDIA_TYPE *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
563 STDMETHOD(Reconnect) (THIS_ LPPIN);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
564 STDMETHOD(Disconnect) (THIS_ LPPIN);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
565 STDMETHOD(SetDefaultSyncSource) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
566 };
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
567
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
568 #undef INTERFACE
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
569 #define INTERFACE IAMAudioInputMixer
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
570 DECLARE_INTERFACE(IAMAudioInputMixer)
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
571 {
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
572 STDMETHOD(QueryInterface) (THIS_ const GUID *, void **);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
573 STDMETHOD_(long, AddRef) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
574 STDMETHOD_(long, Release) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
575 STDMETHOD(put_Enable) (THIS_ BOOL);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
576 STDMETHOD(get_Enable) (THIS_ BOOL *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
577 STDMETHOD(put_Mono) (THIS_ BOOL);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
578 STDMETHOD(get_Mono) (THIS_ BOOL *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
579 STDMETHOD(put_MixLevel) (THIS_ double);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
580 STDMETHOD(get_MixLevel) (THIS_ double *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
581 STDMETHOD(put_Pan) (THIS_ double);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
582 STDMETHOD(get_Pan) (THIS_ double *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
583 STDMETHOD(put_Loudness) (THIS_ BOOL);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
584 STDMETHOD(get_Loudness) (THIS_ BOOL *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
585 STDMETHOD(put_Treble) (THIS_ double);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
586 STDMETHOD(get_Treble) (THIS_ double *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
587 STDMETHOD(get_TrebleRange) (THIS_ double *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
588 STDMETHOD(put_Bass) (THIS_ double);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
589 STDMETHOD(get_Bass) (THIS_ double *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
590 STDMETHOD(get_BassRange) (THIS_ double *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
591 };
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
592
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
593
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
594 #undef INTERFACE
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
595 #define INTERFACE IMediaSample
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
596 DECLARE_INTERFACE(IMediaSample)
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
597 {
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
598 STDMETHOD(QueryInterface) (THIS_ const GUID *, void **);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
599 STDMETHOD_(long, AddRef) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
600 STDMETHOD_(long, Release) (THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
601 STDMETHOD(GetPointer )(THIS_ unsigned char** );
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
602 STDMETHOD_(LONG,GetSize )(THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
603 STDMETHOD(GetTime )(THIS_ REFERENCE_TIME* ,REFERENCE_TIME* );
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
604 STDMETHOD(SetTime )(THIS_ REFERENCE_TIME* ,REFERENCE_TIME* );
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
605 STDMETHOD(IsSyncPoint )(THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
606 STDMETHOD(SetSyncPoint )(THIS_ long );
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
607 STDMETHOD(IsPreroll )(THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
608 STDMETHOD(SetPreroll )(THIS_ long );
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
609 STDMETHOD_(LONG,GetActualDataLength)(THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
610 STDMETHOD(SetActualDataLength )(THIS_ long );
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
611 STDMETHOD(GetMediaType )(THIS_ AM_MEDIA_TYPE** );
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
612 STDMETHOD(SetMediaType )(THIS_ AM_MEDIA_TYPE* );
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
613 STDMETHOD(IsDiscontinuity )(THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
614 STDMETHOD(SetDiscontinuity )(THIS_ long );
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
615 STDMETHOD(GetMediaTime )(THIS_ long long* ,long long* );
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
616 STDMETHOD(SetMediaTime )(THIS_ long long* ,long long* );
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
617 };
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
618
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 27846
diff changeset
619
24744
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
620 #undef INTERFACE
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
621 #define INTERFACE IAMBufferNegotiation
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
622 DECLARE_INTERFACE(IAMBufferNegotiation)
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
623 {
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
624 STDMETHOD(QueryInterface )(THIS_ REFIID ,void **);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
625 STDMETHOD_(ULONG,AddRef )(THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
626 STDMETHOD_(ULONG,Release )(THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
627 STDMETHOD(SuggestAllocatorProperties )(THIS_ const ALLOCATOR_PROPERTIES *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
628 STDMETHOD(GetAllocatorProperties )(THIS_ ALLOCATOR_PROPERTIES *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
629 };
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
630
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
631
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
632 #undef INTERFACE
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
633 #define INTERFACE IVideoWindow
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
634 DECLARE_INTERFACE(IVideoWindow)
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
635 {
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
636 STDMETHOD(QueryInterface )(THIS_ REFIID ,void **);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
637 STDMETHOD_(ULONG,AddRef )(THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
638 STDMETHOD_(ULONG,Release )(THIS);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
639 STDMETHOD(GetTypeInfoCount) (THIS_ UINT * );
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
640 STDMETHOD(GetTypeInfo) (THIS_ UINT ,LCID , ITypeInfo ** );
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
641 STDMETHOD(GetIDsOfNames) (THIS_ REFIID ,LPOLESTR * , UINT ,LCID , DISPID * );
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
642 STDMETHOD(Invoke) (THIS_ DISPID ,REFIID , LCID , WORD ,void *, VARIANT * ,EXCEPINFO * , UINT * );
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
643 STDMETHOD(put_Caption) (THIS_ BSTR );
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
644 STDMETHOD(get_Caption) (THIS_ BSTR * );
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
645 STDMETHOD(put_WindowStyle) (THIS_ long );
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
646 STDMETHOD(get_WindowStyle) (THIS_ long *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
647 STDMETHOD(put_WindowStyleEx) (THIS_ long );
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
648 STDMETHOD(get_WindowStyleEx) (THIS_ long *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
649 STDMETHOD(put_AutoShow) (THIS_ long );
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
650 STDMETHOD(get_AutoShow) (THIS_ long *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
651 STDMETHOD(put_WindowState) (THIS_ long );
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
652 STDMETHOD(get_WindowState) (THIS_ long *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
653 STDMETHOD(put_BackgroundPalette) (THIS_ long );
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
654 STDMETHOD(get_BackgroundPalette) (THIS_ long *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
655 STDMETHOD(put_Visible) (THIS_ long );
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
656 STDMETHOD(get_Visible) (THIS_ long *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
657 STDMETHOD(put_Left) (THIS_ long );
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
658 STDMETHOD(get_Left) (THIS_ long *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
659 STDMETHOD(put_Width) (THIS_ long );
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
660 STDMETHOD(get_Width) (THIS_ long *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
661 STDMETHOD(put_Top) (THIS_ long );
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
662 STDMETHOD(get_Top) (THIS_ long *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
663 STDMETHOD(put_Height) (THIS_ long );
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
664 STDMETHOD(get_Height) (THIS_ long *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
665 STDMETHOD(put_Owner) (THIS_ OAHWND );
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
666 STDMETHOD(get_Owner) (THIS_ OAHWND * );
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
667 STDMETHOD(put_MessageDrain) (THIS_ OAHWND );
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
668 STDMETHOD(get_MessageDrain) (THIS_ OAHWND * );
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
669 STDMETHOD(get_BorderColor) (THIS_ long *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
670 STDMETHOD(put_BorderColor) (THIS_ long );
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
671 STDMETHOD(get_FullScreenMode) (THIS_ long *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
672 STDMETHOD(put_FullScreenMode) (THIS_ long );
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
673 STDMETHOD(SetWindowForeground) (THIS_ long );
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
674 STDMETHOD(NotifyOwnerMessage) (THIS_ OAHWND ,long , LONG_PTR ,LONG_PTR );
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
675 STDMETHOD(SetWindowPosition) (THIS_ long ,long , long ,long );
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
676 STDMETHOD(GetWindowPosition) (THIS_ long *,long *, long *,long *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
677 STDMETHOD(GetMinIdealImageSize) (THIS_ long *, long *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
678 STDMETHOD(GetMaxIdealImageSize) (THIS_ long *, long *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
679 STDMETHOD(GetRestorePosition) (THIS_ long *,long *, long *,long *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
680 STDMETHOD(HideCursor) (THIS_ long );
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
681 STDMETHOD(IsCursorHidden) (THIS_ long *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
682 };
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
683
30127
774aa6f7399e Several hacks to fix compilation of tvi_dshow on MinGW64.
reimar
parents: 29263
diff changeset
684 #ifndef DECLARE_ENUMERATOR_
774aa6f7399e Several hacks to fix compilation of tvi_dshow on MinGW64.
reimar
parents: 29263
diff changeset
685 #define DECLARE_ENUMERATOR_(I,T) \
774aa6f7399e Several hacks to fix compilation of tvi_dshow on MinGW64.
reimar
parents: 29263
diff changeset
686 DECLARE_INTERFACE_(I,IUnknown) \
774aa6f7399e Several hacks to fix compilation of tvi_dshow on MinGW64.
reimar
parents: 29263
diff changeset
687 { \
774aa6f7399e Several hacks to fix compilation of tvi_dshow on MinGW64.
reimar
parents: 29263
diff changeset
688 STDMETHOD(QueryInterface)(I*, REFIID,PVOID*); \
774aa6f7399e Several hacks to fix compilation of tvi_dshow on MinGW64.
reimar
parents: 29263
diff changeset
689 STDMETHOD_(ULONG,AddRef)(I*); \
774aa6f7399e Several hacks to fix compilation of tvi_dshow on MinGW64.
reimar
parents: 29263
diff changeset
690 STDMETHOD_(ULONG,Release)(I*); \
774aa6f7399e Several hacks to fix compilation of tvi_dshow on MinGW64.
reimar
parents: 29263
diff changeset
691 STDMETHOD(Next)(I*, ULONG,T*,ULONG*); \
774aa6f7399e Several hacks to fix compilation of tvi_dshow on MinGW64.
reimar
parents: 29263
diff changeset
692 STDMETHOD(Skip)(I*, ULONG); \
774aa6f7399e Several hacks to fix compilation of tvi_dshow on MinGW64.
reimar
parents: 29263
diff changeset
693 STDMETHOD(Reset)(I*); \
774aa6f7399e Several hacks to fix compilation of tvi_dshow on MinGW64.
reimar
parents: 29263
diff changeset
694 STDMETHOD(Clone)(I*, I**); \
774aa6f7399e Several hacks to fix compilation of tvi_dshow on MinGW64.
reimar
parents: 29263
diff changeset
695 }
774aa6f7399e Several hacks to fix compilation of tvi_dshow on MinGW64.
reimar
parents: 29263
diff changeset
696 #endif
24744
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
697 DECLARE_ENUMERATOR_(IEnumFilters, LPBASEFILTER);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
698 DECLARE_ENUMERATOR_(IEnumPins, LPPIN);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
699 DECLARE_ENUMERATOR_(IEnumMediaTypes, AM_MEDIA_TYPE *);
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
700
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
701 #define OLE_CALL(p,method) (p)->lpVtbl->method(p)
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
702 #ifdef __GNUC__
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
703 #define OLE_CALL_ARGS(p, method, a1, args...) (p)->lpVtbl->method(p, a1, ##args)
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
704 #else
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
705 #define OLE_CALL_ARGS(p, method, ...) (p)->lpVtbl->method(p, __VA_ARGS__)
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
706 #endif
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
707 #define OLE_RELEASE_SAFE(p) if(p){ OLE_CALL((IUnknown*)p,Release); p=NULL;}
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
708 #define OLE_QUERYINTERFACE(p,iface,ptr) OLE_CALL_ARGS((IUnknown*)p,QueryInterface,&iface,(void*)&ptr)
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents:
diff changeset
709
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25607
diff changeset
710 #endif /* MPLAYER_TVI_DSHOW_H */