annotate stream/tvi_dshow.h @ 31163:07faae7acdfa

Add support for decoding VP8 through libvpx wrapper in FFmpeg. patch by James Zern, jzern google com
author diego
date Tue, 25 May 2010 23:41:30 +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 */