annotate stream/tvi_dshow.h @ 35013:4d94558867d6

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