annotate stream/tvi_dshow.h @ 27409:e2de11109139

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