~ubuntu-branches/ubuntu/maverick/vlc/maverick

« back to all changes in this revision

Viewing changes to modules/access/bda/bdadefs.h

  • Committer: Bazaar Package Importer
  • Author(s): Reinhard Tartler
  • Date: 2008-09-17 21:56:14 UTC
  • mfrom: (1.1.17 upstream)
  • Revision ID: james.westby@ubuntu.com-20080917215614-tj0vx8xzd57e52t8
Tags: 0.9.2-1ubuntu1
* New Upstream Release, exception granted by
    - dktrkranz, norsetto, Hobbsee (via irc). LP: #270404

Changes done in ubuntu:

* add libxul-dev to build-depends
* make sure that vlc is build against libxul in configure. This doesn't
  change anything in the package, but makes it more robust if building
  in an 'unclean' chroot or when modifying the package.
* debian/control: make Vcs-* fields point to the motumedia branch
* add libx264-dev and libass-dev to build-depends
  LP: #210354, #199870
* actually enable libass support by passing --enable-libass to configure
* enable libdca: add libdca-dev to build depends and --enable-libdca
* install the x264 plugin.

Changes already in the pkg-multimedia branch in debian:

* don't install usr/share/vlc/mozilla in debian/mozilla-plugin-vlc.install  
* new upstream .desktop file now registers flash video mimetype LP: #261567
* add Xb-Npp-Applications to mozilla-plugin-vlc
* remove duplicate entries in debian/vlc-nox.install

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*****************************************************************************
 
2
 * bdadefs.h : DirectShow BDA headers for vlc
 
3
 *****************************************************************************
 
4
 * Copyright (C) 2007 the VideoLAN team
 
5
 *
 
6
 * Author: Ken Self <kens@campoz.fslife.co.uk>
 
7
 *
 
8
 * This program is free software; you can redistribute it and/or modify
 
9
 * it under the terms of the GNU General Public License as published by
 
10
 * the Free Software Foundation; either version 2 of the License, or
 
11
 * (at your option) any later version.
 
12
 *
 
13
 * This program is distributed in the hope that it will be useful,
 
14
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
15
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
16
 * GNU General Public License for more details.
 
17
 *
 
18
 * You should have received a copy of the GNU General Public License
 
19
 * along with this program; if not, write to the Free Software
 
20
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
 
21
 *****************************************************************************/
 
22
 
 
23
class IATSCChannelTuneRequest;
 
24
class IATSCLocator;
 
25
class IChannelTuneRequest;
 
26
class IComponent;
 
27
class IComponents;
 
28
class IComponentType;
 
29
class IComponentTypes;
 
30
class IDVBCLocator;
 
31
class IDVBSLocator;
 
32
class IDVBSTuningSpace;
 
33
class IDVBTLocator;
 
34
class IDVBTuneRequest;
 
35
class IDVBTuningSpace;
 
36
class IDVBTuningSpace2;
 
37
class IEnumComponents;
 
38
class IEnumComponentTypes;
 
39
class IEnumTuningSpaces;
 
40
class ILocator;
 
41
class ISampleGrabber;
 
42
class ISampleGrabberCB;
 
43
class IScanningTuner;
 
44
class ITuner;
 
45
class ITuneRequest;
 
46
class ITuningSpace;
 
47
class ITuningSpaceContainer;
 
48
class ITuningSpaces;
 
49
 
 
50
typedef enum BinaryConvolutionCodeRate
 
51
{
 
52
    BDA_BCC_RATE_NOT_SET = -1,
 
53
    BDA_BCC_RATE_NOT_DEFINED=0,
 
54
    BDA_BCC_RATE_1_2 = 1,
 
55
    BDA_BCC_RATE_2_3,
 
56
    BDA_BCC_RATE_3_4,
 
57
    BDA_BCC_RATE_3_5,
 
58
    BDA_BCC_RATE_4_5,
 
59
    BDA_BCC_RATE_5_6,
 
60
    BDA_BCC_RATE_5_11,
 
61
    BDA_BCC_RATE_7_8,
 
62
    BDA_BCC_RATE_MAX,
 
63
} BinaryConvolutionCodeRate;
 
64
 
 
65
typedef enum ComponentCategory
 
66
{
 
67
    CategoryNotSet = -1,
 
68
    CategoryOther=0,
 
69
    CategoryVideo,
 
70
    CategoryAudio,
 
71
    CategoryText,
 
72
    CategoryData,
 
73
} ComponentCategory;
 
74
 
 
75
typedef enum ComponentStatus
 
76
{
 
77
    StatusActive,
 
78
    StatusInactive,
 
79
    StatusUnavailable,
 
80
} ComponentStatus;
 
81
 
 
82
typedef enum DVBSystemType
 
83
{
 
84
    DVB_Cable,
 
85
    DVB_Terrestrial,
 
86
    DVB_Satellite,
 
87
} DVBSystemType;
 
88
 
 
89
typedef enum FECMethod
 
90
{
 
91
    BDA_FEC_METHOD_NOT_SET = -1,
 
92
    BDA_FEC_METHOD_NOT_DEFINED=0,
 
93
    BDA_FEC_VITERBI = 1,
 
94
    BDA_FEC_RS_204_188,
 
95
    BDA_FEC_MAX,
 
96
} FECMethod;
 
97
 
 
98
typedef enum GuardInterval
 
99
{
 
100
    BDA_GUARD_NOT_SET = -1,
 
101
    BDA_GUARD_NOT_DEFINED=0,
 
102
    BDA_GUARD_1_32 = 1,
 
103
    BDA_GUARD_1_16,
 
104
    BDA_GUARD_1_8,
 
105
    BDA_GUARD_1_4,
 
106
    BDA_GUARD_MAX,
 
107
} GuardInterval;
 
108
 
 
109
typedef enum HierarchyAlpha
 
110
{
 
111
    BDA_HALPHA_NOT_SET = -1,
 
112
    BDA_HALPHA_NOT_DEFINED=0,
 
113
    BDA_HALPHA_1 = 1,
 
114
    BDA_HALPHA_2,
 
115
    BDA_HALPHA_4,
 
116
    BDA_HALPHA_MAX,
 
117
} HierarchyAlpha;
 
118
 
 
119
typedef enum ModulationType
 
120
{
 
121
    BDA_MOD_NOT_SET = -1,
 
122
    BDA_MOD_NOT_DEFINED=0,
 
123
    BDA_MOD_16QAM = 1,
 
124
    BDA_MOD_32QAM,
 
125
    BDA_MOD_64QAM,
 
126
    BDA_MOD_80QAM,
 
127
    BDA_MOD_96QAM,
 
128
    BDA_MOD_112QAM,
 
129
    BDA_MOD_128QAM,
 
130
    BDA_MOD_160QAM,
 
131
    BDA_MOD_192QAM,
 
132
    BDA_MOD_224QAM,
 
133
    BDA_MOD_256QAM,
 
134
    BDA_MOD_320QAM,
 
135
    BDA_MOD_384QAM,
 
136
    BDA_MOD_448QAM,
 
137
    BDA_MOD_512QAM,
 
138
    BDA_MOD_640QAM,
 
139
    BDA_MOD_768QAM,
 
140
    BDA_MOD_896QAM,
 
141
    BDA_MOD_1024QAM,
 
142
    BDA_MOD_QPSK,
 
143
    BDA_MOD_BPSK,
 
144
    BDA_MOD_OQPSK,
 
145
    BDA_MOD_8VSB,
 
146
    BDA_MOD_16VSB,
 
147
    BDA_MOD_ANALOG_AMPLITUDE,
 
148
    BDA_MOD_ANALOG_FREQUENCY,
 
149
    BDA_MOD_MAX,
 
150
} ModulationType;
 
151
 
 
152
typedef enum Polarisation
 
153
{
 
154
    BDA_POLARISATION_NOT_SET     = -1,
 
155
    BDA_POLARISATION_NOT_DEFINED = 0,
 
156
    BDA_POLARISATION_LINEAR_H    = 1,
 
157
    BDA_POLARISATION_LINEAR_V    = 2,
 
158
    BDA_POLARISATION_CIRCULAR_L  = 3,
 
159
    BDA_POLARISATION_CIRCULAR_R  = 4,
 
160
    BDA_POLARISATION_MAX         = 5
 
161
} Polarisation;
 
162
 
 
163
typedef enum SpectralInversion
 
164
{
 
165
    BDA_SPECTRAL_INVERSION_NOT_SET = -1,
 
166
    BDA_SPECTRAL_INVERSION_NOT_DEFINED = 0,
 
167
    BDA_SPECTRAL_INVERSION_AUTOMATIC = 1,
 
168
    BDA_SPECTRAL_INVERSION_NORMAL,
 
169
    BDA_SPECTRAL_INVERSION_INVERTED,
 
170
    BDA_SPECTRAL_INVERSION_MAX
 
171
} SpectralInversion;
 
172
 
 
173
typedef enum TransmissionMode
 
174
{
 
175
    BDA_XMIT_MODE_NOT_SET = -1,
 
176
    BDA_XMIT_MODE_NOT_DEFINED=0,
 
177
    BDA_XMIT_MODE_2K = 1,
 
178
    BDA_XMIT_MODE_8K,
 
179
    BDA_XMIT_MODE_MAX,
 
180
} TransmissionMode;
 
181
 
 
182
class IComponent : public IDispatch
 
183
{
 
184
public:
 
185
    virtual HRESULT __stdcall get_Type( IComponentType** p_p_cpt_type )=0;
 
186
    virtual HRESULT __stdcall put_Type( IComponentType* p_cpt_type )=0;
 
187
    virtual HRESULT __stdcall get_DescLangID( long* p_l_language )=0;
 
188
    virtual HRESULT __stdcall put_DescLangID( long l_language )=0;
 
189
    virtual HRESULT __stdcall get_Status( ComponentStatus* p_status )=0;
 
190
    virtual HRESULT __stdcall put_Status( ComponentStatus status )=0;
 
191
    virtual HRESULT __stdcall get_Description( BSTR* p_bstr_desc )=0;
 
192
    virtual HRESULT __stdcall put_Description( BSTR bstr_desc )=0;
 
193
    virtual HRESULT __stdcall Clone( IComponent** p_p_component )=0;
 
194
};
 
195
 
 
196
class IComponents : public IDispatch
 
197
{
 
198
public:
 
199
    virtual HRESULT __stdcall get_Count( long* pl_count )=0;
 
200
    virtual HRESULT __stdcall get__NewEnum( IEnumVARIANT** p_p_enum )=0;
 
201
    virtual HRESULT __stdcall EnumComponents( IEnumComponents** p_p_enum )=0;
 
202
    virtual HRESULT __stdcall get_Item( VARIANT Index,
 
203
        IComponent** p_p_component )=0;
 
204
    virtual HRESULT __stdcall Add( IComponent* p_component,
 
205
        VARIANT* v_index )=0;
 
206
    virtual HRESULT __stdcall Remove( VARIANT v_index )=0;
 
207
    virtual HRESULT __stdcall Clone( IComponents** p_p_cpts )=0;
 
208
};
 
209
 
 
210
class IComponentType : public IDispatch
 
211
{
 
212
public:
 
213
    virtual HRESULT __stdcall get_Category( ComponentCategory* p_category )=0;
 
214
    virtual HRESULT __stdcall put_Category( ComponentCategory category )=0;
 
215
    virtual HRESULT __stdcall get_MediaMajorType( BSTR* p_bstr_major_type )=0;
 
216
    virtual HRESULT __stdcall put_MediaMajorType( BSTR bstr_major_type )=0;
 
217
    virtual HRESULT __stdcall get__MediaMajorType( GUID* p_guid_major_type )=0;
 
218
    virtual HRESULT __stdcall put__MediaMajorType( REFCLSID guid_major_type )=0;
 
219
    virtual HRESULT __stdcall get_MediaSubType( BSTR* p_bstr_sub_type )=0;
 
220
    virtual HRESULT __stdcall put_MediaSubType( BSTR bstr_sub_type )=0;
 
221
    virtual HRESULT __stdcall get__MediaSubType( GUID* p_guid_sub_type )=0;
 
222
    virtual HRESULT __stdcall put__MediaSubType( REFCLSID guid_sub_type )=0;
 
223
    virtual HRESULT __stdcall get_MediaFormatType( BSTR* p_bstr_format_type )=0;
 
224
    virtual HRESULT __stdcall put_MediaFormatType( BSTR bstr_format_type )=0;
 
225
    virtual HRESULT __stdcall get__MediaFormatType(
 
226
        GUID* p_guid_format_type )=0;
 
227
    virtual HRESULT __stdcall put__MediaFormatType(
 
228
        REFCLSID guid_format_type )=0;
 
229
    virtual HRESULT __stdcall get_MediaType( AM_MEDIA_TYPE* p_media_type )=0;
 
230
    virtual HRESULT __stdcall put_MediaType( AM_MEDIA_TYPE* p_media_type )=0;
 
231
    virtual HRESULT __stdcall Clone( IComponentType** p_p_cpt_type )=0;
 
232
};
 
233
 
 
234
class IComponentTypes : public IDispatch
 
235
{
 
236
public:
 
237
    virtual HRESULT __stdcall get_Count( long* l_count )=0;
 
238
    virtual HRESULT __stdcall get__NewEnum( IEnumVARIANT** p_p_enum )=0;
 
239
    virtual HRESULT __stdcall EnumComponentTypes(
 
240
        IEnumComponentTypes** p_p_enum )=0;
 
241
    virtual HRESULT __stdcall get_Item( VARIANT v_index,
 
242
        IComponentType** p_p_cpt_type )=0;
 
243
    virtual HRESULT __stdcall put_Item( VARIANT v_index,
 
244
        IComponentType* p_cpt_type )=0;
 
245
    virtual HRESULT __stdcall Add( IComponentType* p_cpt_type,
 
246
        VARIANT* v_index )=0;
 
247
    virtual HRESULT __stdcall Remove( VARIANT v_index )=0;
 
248
    virtual HRESULT __stdcall Clone( IComponentTypes** p_p_cpt_types )=0;
 
249
};
 
250
 
 
251
class IEnumComponents : public IUnknown
 
252
{
 
253
public:
 
254
    virtual HRESULT __stdcall Next( ULONG num_elem, IComponent** p_p_elem,
 
255
        ULONG* p_num_elem_fetch )=0;
 
256
    virtual HRESULT __stdcall Skip( ULONG num_elem )=0;
 
257
    virtual HRESULT __stdcall Reset( void )=0;
 
258
    virtual HRESULT __stdcall Clone( IEnumComponents** p_p_enum )=0;
 
259
};
 
260
 
 
261
class IEnumComponentTypes : public IUnknown
 
262
{
 
263
public:
 
264
    virtual HRESULT __stdcall Next( ULONG num_elem, IComponentType** p_p_elem,
 
265
        ULONG* p_num_elem_fetch )=0;
 
266
    virtual HRESULT __stdcall Skip( ULONG num_elem )=0;
 
267
    virtual HRESULT __stdcall Reset( void )=0;
 
268
    virtual HRESULT __stdcall Clone( IEnumComponentTypes** p_p_enum )=0;
 
269
};
 
270
 
 
271
class IEnumTuningSpaces : public IUnknown
 
272
{
 
273
public:
 
274
    virtual HRESULT __stdcall Next( ULONG l_num_elem,
 
275
        ITuningSpace** p_p_tuning_space, ULONG* pl_num_elem_fetched )=0;
 
276
    virtual HRESULT __stdcall Skip( ULONG l_num_elem )=0;
 
277
    virtual HRESULT __stdcall Reset( void )=0;
 
278
    virtual HRESULT __stdcall Clone( IEnumTuningSpaces** p_p_enum )=0;
 
279
};
 
280
 
 
281
class ITuner : public IUnknown
 
282
{
 
283
public:
 
284
    virtual HRESULT __stdcall get_TuningSpace(
 
285
        ITuningSpace** p_p_tuning_space )=0;
 
286
    virtual HRESULT __stdcall put_TuningSpace( ITuningSpace* p_tuning_space )=0;
 
287
    virtual HRESULT __stdcall EnumTuningSpaces( IEnumTuningSpaces** p_p_enum )=0;
 
288
    virtual HRESULT __stdcall get_TuneRequest(
 
289
        ITuneRequest** p_p_tune_request )=0;
 
290
    virtual HRESULT __stdcall put_TuneRequest( ITuneRequest* p_tune_request )=0;
 
291
    virtual HRESULT __stdcall Validate( ITuneRequest* p_tune_request )=0;
 
292
    virtual HRESULT __stdcall get_PreferredComponentTypes(
 
293
        IComponentTypes** p_p_cpt_types )=0;
 
294
    virtual HRESULT __stdcall put_PreferredComponentTypes(
 
295
        IComponentTypes* p_cpt_types )=0;
 
296
    virtual HRESULT __stdcall get_SignalStrength( long* l_sig_strength )=0;
 
297
    virtual HRESULT __stdcall TriggerSignalEvents( long l_interval )=0;
 
298
};
 
299
 
 
300
class ISampleGrabber : public IUnknown
 
301
{
 
302
public:
 
303
    virtual HRESULT __stdcall SetOneShot( BOOL b_one_shot )=0;
 
304
    virtual HRESULT __stdcall SetMediaType(
 
305
        const AM_MEDIA_TYPE* p_media_type )=0;
 
306
    virtual HRESULT __stdcall GetConnectedMediaType(
 
307
        AM_MEDIA_TYPE* p_media_type )=0;
 
308
    virtual HRESULT __stdcall SetBufferSamples( BOOL b_buffer_samples )=0;
 
309
    virtual HRESULT __stdcall GetCurrentBuffer( long* p_buff_size,
 
310
        long* p_buffer )=0;
 
311
    virtual HRESULT __stdcall GetCurrentSample( IMediaSample** p_p_sample )=0;
 
312
    virtual HRESULT __stdcall SetCallback( ISampleGrabberCB* pf_callback,
 
313
        long l_callback_type )=0;
 
314
};
 
315
 
 
316
class ISampleGrabberCB : public IUnknown
 
317
{
 
318
public:
 
319
    virtual HRESULT __stdcall SampleCB( double d_sample_time,
 
320
        IMediaSample* p_sample )=0;
 
321
    virtual HRESULT __stdcall BufferCB( double d_sample_time, BYTE *p_buffer,
 
322
        long l_bufferLen )=0;
 
323
};
 
324
 
 
325
class IScanningTuner : public ITuner
 
326
{
 
327
public:
 
328
    virtual HRESULT __stdcall SeekUp( void )=0;
 
329
    virtual HRESULT __stdcall SeekDown( void )=0;
 
330
    virtual HRESULT __stdcall ScanDown( long l_pause )=0;
 
331
    virtual HRESULT __stdcall ScanUp( long l_pause )=0;
 
332
    virtual HRESULT __stdcall AutoProgram( void )=0;
 
333
};
 
334
 
 
335
class ITuneRequest : public IDispatch
 
336
{
 
337
public:
 
338
    virtual HRESULT __stdcall get_TuningSpace(
 
339
        ITuningSpace** p_p_tuning_space )=0;
 
340
    virtual HRESULT __stdcall get_Components( IComponents** p_p_components )=0;
 
341
    virtual HRESULT __stdcall Clone( ITuneRequest** p_p_tune_request )=0;
 
342
    virtual HRESULT __stdcall get_Locator( ILocator** p_p_locator )=0;
 
343
    virtual HRESULT __stdcall put_Locator( ILocator* p_locator )=0;
 
344
};
 
345
 
 
346
class IChannelTuneRequest : public ITuneRequest
 
347
{
 
348
public:
 
349
    virtual HRESULT __stdcall get_Channel( long* pl_channel )=0;
 
350
    virtual HRESULT __stdcall put_Channel( long l_channel )=0;
 
351
};
 
352
 
 
353
class IATSCChannelTuneRequest : public IChannelTuneRequest
 
354
{
 
355
public:
 
356
    virtual HRESULT __stdcall get_MinorChannel( long* pl_minor_channel )=0;
 
357
    virtual HRESULT __stdcall put_MinorChannel( long l_minor_channel )=0;
 
358
};
 
359
 
 
360
class IDVBTuneRequest : public ITuneRequest
 
361
{
 
362
public:
 
363
    virtual HRESULT __stdcall get_ONID( long* pl_onid )=0;
 
364
    virtual HRESULT __stdcall put_ONID( long l_onid )=0;
 
365
    virtual HRESULT __stdcall get_TSID( long* pl_tsid )=0;
 
366
    virtual HRESULT __stdcall put_TSID( long l_tsid )=0;
 
367
    virtual HRESULT __stdcall get_SID( long* pl_sid )=0;
 
368
    virtual HRESULT __stdcall put_SID( long l_sid )=0;
 
369
};
 
370
 
 
371
class ILocator : public IDispatch
 
372
{
 
373
public:
 
374
    virtual HRESULT __stdcall get_CarrierFrequency( long* pl_frequency )=0;
 
375
    virtual HRESULT __stdcall put_CarrierFrequency( long l_frequency )=0;
 
376
    virtual HRESULT __stdcall get_InnerFEC( FECMethod* FEC )=0;
 
377
    virtual HRESULT __stdcall put_InnerFEC( FECMethod FEC )=0;
 
378
    virtual HRESULT __stdcall get_InnerFECRate(
 
379
        BinaryConvolutionCodeRate* FEC )=0;
 
380
    virtual HRESULT __stdcall put_InnerFECRate(
 
381
        BinaryConvolutionCodeRate FEC )=0;
 
382
    virtual HRESULT __stdcall get_OuterFEC( FECMethod* FEC )=0;
 
383
    virtual HRESULT __stdcall put_OuterFEC( FECMethod FEC )=0;
 
384
    virtual HRESULT __stdcall get_OuterFECRate(
 
385
        BinaryConvolutionCodeRate* FEC )=0;
 
386
    virtual HRESULT __stdcall put_OuterFECRate(
 
387
        BinaryConvolutionCodeRate FEC )=0;
 
388
    virtual HRESULT __stdcall get_Modulation( ModulationType* p_modulation )=0;
 
389
    virtual HRESULT __stdcall put_Modulation( ModulationType modulation )=0;
 
390
    virtual HRESULT __stdcall get_SymbolRate( long* pl_rate )=0;
 
391
    virtual HRESULT __stdcall put_SymbolRate( long l_rate )=0;
 
392
    virtual HRESULT __stdcall Clone( ILocator** p_p_locator )=0;
 
393
};
 
394
 
 
395
class IATSCLocator : public ILocator
 
396
{
 
397
public:
 
398
    virtual HRESULT __stdcall get_PhysicalChannel( long* pl_phys_channel )=0;
 
399
    virtual HRESULT __stdcall put_PhysicalChannel( long l_phys_channel )=0;
 
400
    virtual HRESULT __stdcall get_TSID( long* pl_tsid )=0;
 
401
    virtual HRESULT __stdcall put_TSID( long l_tsid )=0;
 
402
};
 
403
 
 
404
class IDVBCLocator : public ILocator
 
405
{
 
406
public:
 
407
};
 
408
 
 
409
class IDVBSLocator : public ILocator
 
410
{
 
411
public:
 
412
    virtual HRESULT __stdcall get_SignalPolarisation(
 
413
        Polarisation* p_polarisation )=0;
 
414
    virtual HRESULT __stdcall put_SignalPolarisation(
 
415
        Polarisation polarisation )=0;
 
416
    virtual HRESULT __stdcall get_WestPosition( VARIANT_BOOL* pb_west )=0;
 
417
    virtual HRESULT __stdcall put_WestPosition( VARIANT_BOOL b_west )=0;
 
418
    virtual HRESULT __stdcall get_OrbitalPosition( long* pl_longitude )=0;
 
419
    virtual HRESULT __stdcall put_OrbitalPosition( long l_longitude )=0;
 
420
    virtual HRESULT __stdcall get_Azimuth( long* pl_azimuth )=0;
 
421
    virtual HRESULT __stdcall put_Azimuth( long l_azimuth )=0;
 
422
    virtual HRESULT __stdcall get_Elevation( long* pl_elevation )=0;
 
423
    virtual HRESULT __stdcall put_Elevation( long l_elevation )=0;
 
424
};
 
425
 
 
426
class IDVBTLocator : public ILocator
 
427
{
 
428
public:
 
429
    virtual HRESULT __stdcall get_Bandwidth( long* pl_bandwidth )=0;
 
430
    virtual HRESULT __stdcall put_Bandwidth( long l_bandwidth )=0;
 
431
    virtual HRESULT __stdcall get_LPInnerFEC( FECMethod* FEC )=0;
 
432
    virtual HRESULT __stdcall put_LPInnerFEC( FECMethod FEC )=0;
 
433
    virtual HRESULT __stdcall get_LPInnerFECRate(
 
434
        BinaryConvolutionCodeRate* FEC )=0;
 
435
    virtual HRESULT __stdcall put_LPInnerFECRate(
 
436
        BinaryConvolutionCodeRate FEC )=0;
 
437
    virtual HRESULT __stdcall get_HAlpha( HierarchyAlpha* Alpha )=0;
 
438
    virtual HRESULT __stdcall put_HAlpha( HierarchyAlpha Alpha )=0;
 
439
    virtual HRESULT __stdcall get_Guard( GuardInterval* GI )=0;
 
440
    virtual HRESULT __stdcall put_Guard( GuardInterval GI )=0;
 
441
    virtual HRESULT __stdcall get_Mode( TransmissionMode* mode )=0;
 
442
    virtual HRESULT __stdcall put_Mode( TransmissionMode mode )=0;
 
443
    virtual HRESULT __stdcall get_OtherFrequencyInUse(
 
444
        VARIANT_BOOL* OtherFrequencyInUseVal )=0;
 
445
    virtual HRESULT __stdcall put_OtherFrequencyInUse(
 
446
        VARIANT_BOOL OtherFrequencyInUseVal )=0;
 
447
};
 
448
 
 
449
class ITuningSpace : public IDispatch
 
450
{
 
451
public:
 
452
    virtual HRESULT __stdcall get_UniqueName( BSTR* p_bstr_name )=0;
 
453
    virtual HRESULT __stdcall put_UniqueName( BSTR Name )=0;
 
454
    virtual HRESULT __stdcall get_FriendlyName( BSTR* p_bstr_name )=0;
 
455
    virtual HRESULT __stdcall put_FriendlyName( BSTR bstr_name )=0;
 
456
    virtual HRESULT __stdcall get_CLSID( BSTR* bstr_clsid )=0;
 
457
    virtual HRESULT __stdcall get_NetworkType( BSTR* p_bstr_network_guid )=0;
 
458
    virtual HRESULT __stdcall put_NetworkType( BSTR bstr_network_guid )=0;
 
459
    virtual HRESULT __stdcall get__NetworkType( GUID* p_guid_network_guid )=0;
 
460
    virtual HRESULT __stdcall put__NetworkType( REFCLSID clsid_network_guid )=0;
 
461
    virtual HRESULT __stdcall CreateTuneRequest(
 
462
        ITuneRequest** p_p_tune_request )=0;
 
463
    virtual HRESULT __stdcall EnumCategoryGUIDs( IEnumGUID** p_p_enum )=0;
 
464
    virtual HRESULT __stdcall EnumDeviceMonikers( IEnumMoniker** p_p_enum )=0;
 
465
    virtual HRESULT __stdcall get_DefaultPreferredComponentTypes(
 
466
        IComponentTypes** p_p_cpt_types )=0;
 
467
    virtual HRESULT __stdcall put_DefaultPreferredComponentTypes(
 
468
        IComponentTypes* p_cpt_types )=0;
 
469
    virtual HRESULT __stdcall get_FrequencyMapping( BSTR* p_bstr_mapping )=0;
 
470
    virtual HRESULT __stdcall put_FrequencyMapping( BSTR bstr_mapping )=0;
 
471
    virtual HRESULT __stdcall get_DefaultLocator( ILocator** p_p_locator )=0;
 
472
    virtual HRESULT __stdcall put_DefaultLocator( ILocator* p_locator )=0;
 
473
    virtual HRESULT __stdcall Clone( ITuningSpace** p_p_tuning_space )=0;
 
474
};
 
475
 
 
476
class IDVBTuningSpace : public ITuningSpace
 
477
{
 
478
public:
 
479
    virtual HRESULT __stdcall get_SystemType( DVBSystemType* p_sys_type )=0;
 
480
    virtual HRESULT __stdcall put_SystemType( DVBSystemType sys_type )=0;
 
481
};
 
482
 
 
483
class IDVBTuningSpace2 : public IDVBTuningSpace
 
484
{
 
485
public:
 
486
    virtual HRESULT __stdcall get_NetworkID( long* p_l_network_id )=0;
 
487
    virtual HRESULT __stdcall put_NetworkID( long l_network_id )=0;
 
488
};
 
489
 
 
490
class IDVBSTuningSpace : public IDVBTuningSpace2
 
491
{
 
492
public:
 
493
    virtual HRESULT __stdcall get_LowOscillator( long* p_l_low_osc )=0;
 
494
    virtual HRESULT __stdcall put_LowOscillator( long l_low_osc )=0;
 
495
    virtual HRESULT __stdcall get_HighOscillator( long* p_l_high_osc )=0;
 
496
    virtual HRESULT __stdcall put_HighOscillator( long l_high_osc )=0;
 
497
    virtual HRESULT __stdcall get_LNBSwitch( long* p_l_lnb_switch )=0;
 
498
    virtual HRESULT __stdcall put_LNBSwitch( long l_lnb_switch )=0;
 
499
    virtual HRESULT __stdcall get_InputRange( BSTR* p_bstr_input_range )=0;
 
500
    virtual HRESULT __stdcall put_InputRange( BSTR bstr_input_range )=0;
 
501
    virtual HRESULT __stdcall get_SpectralInversion(
 
502
        SpectralInversion* p_spectral_inv )=0;
 
503
    virtual HRESULT __stdcall put_SpectralInversion(
 
504
        SpectralInversion spectral_inv )=0;
 
505
};
 
506
 
 
507
class ITuningSpaceContainer : public IDispatch
 
508
{
 
509
public:
 
510
    virtual HRESULT __stdcall get_Count( long* l_count )=0;
 
511
    virtual HRESULT __stdcall get__NewEnum( IEnumVARIANT** p_p_enum )=0;
 
512
    virtual HRESULT __stdcall get_Item( VARIANT v_index,
 
513
        ITuningSpace** p_p_tuning_space )=0;
 
514
    virtual HRESULT __stdcall put_Item( VARIANT v_index,
 
515
        ITuningSpace* p_tuning_space )=0;
 
516
    virtual HRESULT __stdcall TuningSpacesForCLSID( BSTR bstr_clsid,
 
517
        ITuningSpaces** p_p_tuning_spaces )=0;
 
518
    virtual HRESULT __stdcall _TuningSpacesForCLSID( REFCLSID clsid,
 
519
        ITuningSpaces** p_p_tuning_spaces )=0;
 
520
    virtual HRESULT __stdcall TuningSpacesForName( BSTR bstr_name,
 
521
        ITuningSpaces** p_p_tuning_spaces )=0;
 
522
    virtual HRESULT __stdcall FindID( ITuningSpace* p_tuning_space,
 
523
        long* l_id )=0;
 
524
    virtual HRESULT __stdcall Add( ITuningSpace* p_tuning_space,
 
525
        VARIANT* v_index )=0;
 
526
    virtual HRESULT __stdcall get_EnumTuningSpaces(
 
527
        IEnumTuningSpaces** p_p_enum )=0;
 
528
    virtual HRESULT __stdcall Remove( VARIANT v_index )=0;
 
529
    virtual HRESULT __stdcall get_MaxCount( long* l_maxcount )=0;
 
530
    virtual HRESULT __stdcall put_MaxCount( long l_maxcount )=0;
 
531
};
 
532
 
 
533
class ITuningSpaces : public IDispatch
 
534
{
 
535
public:
 
536
    virtual HRESULT __stdcall get_Count( long* l_count )=0;
 
537
    virtual HRESULT __stdcall get__NewEnum( IEnumVARIANT** p_p_enum )=0;
 
538
    virtual HRESULT __stdcall get_Item( VARIANT v_index,
 
539
        ITuningSpace** p_p_tuning_space )=0;
 
540
    virtual HRESULT __stdcall get_EnumTuningSpaces(
 
541
        IEnumTuningSpaces** p_p_enum )=0;
 
542
};
 
543
 
 
544
extern "C" {
 
545
extern const GUID CLSID_ATSCLocator;
 
546
extern const GUID CLSID_ATSCNetworkProvider;
 
547
extern const GUID CLSID_DVBCLocator;
 
548
extern const GUID CLSID_DVBCNetworkProvider;
 
549
extern const GUID CLSID_DVBSLocator;
 
550
extern const GUID CLSID_DVBSNetworkProvider;
 
551
extern const GUID CLSID_DVBSTuningSpace;
 
552
extern const GUID CLSID_DVBTLocator;
 
553
extern const GUID CLSID_DVBTNetworkProvider;
 
554
extern const GUID CLSID_FilterGraph;
 
555
extern const GUID CLSID_InfTee;
 
556
extern const GUID CLSID_MPEG2Demultiplexer;
 
557
extern const GUID CLSID_NullRenderer;
 
558
extern const GUID CLSID_SampleGrabber;
 
559
extern const GUID CLSID_SystemDeviceEnum;
 
560
extern const GUID CLSID_SystemTuningSpaces;
 
561
 
 
562
extern const GUID IID_IATSCChannelTuneRequest;
 
563
extern const GUID IID_IATSCLocator;
 
564
extern const GUID IID_IBaseFilter;
 
565
extern const GUID IID_ICreateDevEnum;
 
566
extern const GUID IID_IDVBTLocator;
 
567
extern const GUID IID_IDVBCLocator;
 
568
extern const GUID IID_IDVBSLocator;
 
569
extern const GUID IID_IDVBSTuningSpace;
 
570
extern const GUID IID_IDVBTuneRequest;
 
571
extern const GUID IID_IDVBTuningSpace;
 
572
extern const GUID IID_IDVBTuningSpace2;
 
573
extern const GUID IID_IGraphBuilder;
 
574
extern const GUID IID_IMediaControl;
 
575
extern const GUID IID_IMpeg2Demultiplexer;
 
576
extern const GUID IID_ISampleGrabber;
 
577
extern const GUID IID_IScanningTuner;
 
578
extern const GUID IID_ITuner;
 
579
extern const GUID IID_ITuningSpace;
 
580
extern const GUID IID_ITuningSpaceContainer;
 
581
 
 
582
extern const GUID MEDIATYPE_MPEG2_SECTIONS;
 
583
extern const GUID MEDIASUBTYPE_None;
 
584
extern const GUID FORMAT_None;
 
585
 
 
586
const GUID KSCATEGORY_BDA_TRANSPORT_INFORMATION =
 
587
    {0xa2e3074f,0x6c3d,0x11d3,{0xb6,0x53,0x00,0xc0,0x4f,0x79,0x49,0x8e}};
 
588
const GUID KSCATEGORY_BDA_RECEIVER_COMPONENT    =
 
589
    {0xFD0A5AF4,0xB41D,0x11d2,{0x9c,0x95,0x00,0xc0,0x4f,0x79,0x71,0xe0}};
 
590
const GUID KSCATEGORY_BDA_NETWORK_TUNER         =
 
591
    {0x71985f48,0x1ca1,0x11d3,{0x9c,0xc8,0x00,0xc0,0x4f,0x79,0x71,0xe0}};
 
592
};