1 /*****************************************************************************
2 * bdadefs.h : DirectShow BDA headers for vlc
3 *****************************************************************************
4 * Copyright (C) 2007 the VideoLAN team
6 * Author: Ken Self <kens@campoz.fslife.co.uk>
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.
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.
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 *****************************************************************************/
23 class IATSCChannelTuneRequest;
25 class IChannelTuneRequest;
29 class IComponentTypes;
32 class IDVBSTuningSpace;
34 class IDVBTuneRequest;
35 class IDVBTuningSpace;
36 class IDVBTuningSpace2;
37 class IEnumComponents;
38 class IEnumComponentTypes;
39 class IEnumTuningSpaces;
42 class ISampleGrabberCB;
47 class ITuningSpaceContainer;
50 typedef enum BinaryConvolutionCodeRate
52 BDA_BCC_RATE_NOT_SET = -1,
53 BDA_BCC_RATE_NOT_DEFINED=0,
63 } BinaryConvolutionCodeRate;
65 typedef enum ComponentCategory
75 typedef enum ComponentStatus
82 typedef enum DVBSystemType
89 typedef enum FECMethod
91 BDA_FEC_METHOD_NOT_SET = -1,
92 BDA_FEC_METHOD_NOT_DEFINED=0,
98 typedef enum GuardInterval
100 BDA_GUARD_NOT_SET = -1,
101 BDA_GUARD_NOT_DEFINED=0,
109 typedef enum HierarchyAlpha
111 BDA_HALPHA_NOT_SET = -1,
112 BDA_HALPHA_NOT_DEFINED=0,
119 typedef enum ModulationType
121 BDA_MOD_NOT_SET = -1,
122 BDA_MOD_NOT_DEFINED=0,
147 BDA_MOD_ANALOG_AMPLITUDE,
148 BDA_MOD_ANALOG_FREQUENCY,
152 typedef enum Polarisation
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
163 typedef enum SpectralInversion
165 BDA_SPECTRAL_INVERSION_NOT_SET = -1,
\r
166 BDA_SPECTRAL_INVERSION_NOT_DEFINED = 0,
\r
167 BDA_SPECTRAL_INVERSION_AUTOMATIC = 1,
\r
168 BDA_SPECTRAL_INVERSION_NORMAL,
\r
169 BDA_SPECTRAL_INVERSION_INVERTED,
\r
170 BDA_SPECTRAL_INVERSION_MAX
\r
173 typedef enum TransmissionMode
175 BDA_XMIT_MODE_NOT_SET = -1,
176 BDA_XMIT_MODE_NOT_DEFINED=0,
177 BDA_XMIT_MODE_2K = 1,
182 class IComponent : public IDispatch
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;
196 class IComponents : public IDispatch
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;
210 class IComponentType : public IDispatch
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;
234 class IComponentTypes : public IDispatch
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;
251 class IEnumComponents : public IUnknown
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;
261 class IEnumComponentTypes : public IUnknown
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;
271 class IEnumTuningSpaces : public IUnknown
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;
281 class ITuner : public IUnknown
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;
300 class ISampleGrabber : public IUnknown
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,
311 virtual HRESULT __stdcall GetCurrentSample( IMediaSample** p_p_sample )=0;
312 virtual HRESULT __stdcall SetCallback( ISampleGrabberCB* pf_callback,
313 long l_callback_type )=0;
316 class ISampleGrabberCB : public IUnknown
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;
325 class IScanningTuner : public ITuner
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;
335 class ITuneRequest : public IDispatch
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;
346 class IChannelTuneRequest : public ITuneRequest
349 virtual HRESULT __stdcall get_Channel( long* pl_channel )=0;
350 virtual HRESULT __stdcall put_Channel( long l_channel )=0;
353 class IATSCChannelTuneRequest : public IChannelTuneRequest
356 virtual HRESULT __stdcall get_MinorChannel( long* pl_minor_channel )=0;
357 virtual HRESULT __stdcall put_MinorChannel( long l_minor_channel )=0;
360 class IDVBTuneRequest : public ITuneRequest
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;
371 class ILocator : public IDispatch
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;
395 class IATSCLocator : public ILocator
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;
404 class IDVBCLocator : public ILocator
409 class IDVBSLocator : public ILocator
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;
426 class IDVBTLocator : public ILocator
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;
449 class ITuningSpace : public IDispatch
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;
476 class IDVBTuningSpace : public ITuningSpace
\r
479 virtual HRESULT __stdcall get_SystemType( DVBSystemType* p_sys_type )=0;
\r
480 virtual HRESULT __stdcall put_SystemType( DVBSystemType sys_type )=0;
\r
483 class IDVBTuningSpace2 : public IDVBTuningSpace
\r
486 virtual HRESULT __stdcall get_NetworkID( long* p_l_network_id )=0;
\r
487 virtual HRESULT __stdcall put_NetworkID( long l_network_id )=0;
\r
490 class IDVBSTuningSpace : public IDVBTuningSpace2
\r
493 virtual HRESULT __stdcall get_LowOscillator( long* p_l_low_osc )=0;
\r
494 virtual HRESULT __stdcall put_LowOscillator( long l_low_osc )=0;
\r
495 virtual HRESULT __stdcall get_HighOscillator( long* p_l_high_osc )=0;
\r
496 virtual HRESULT __stdcall put_HighOscillator( long l_high_osc )=0;
\r
497 virtual HRESULT __stdcall get_LNBSwitch( long* p_l_lnb_switch )=0;
\r
498 virtual HRESULT __stdcall put_LNBSwitch( long l_lnb_switch )=0;
\r
499 virtual HRESULT __stdcall get_InputRange( BSTR* p_bstr_input_range )=0;
\r
500 virtual HRESULT __stdcall put_InputRange( BSTR bstr_input_range )=0;
\r
501 virtual HRESULT __stdcall get_SpectralInversion(
502 SpectralInversion* p_spectral_inv )=0;
\r
503 virtual HRESULT __stdcall put_SpectralInversion(
504 SpectralInversion spectral_inv )=0;
\r
507 class ITuningSpaceContainer : public IDispatch
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,
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;
533 class ITuningSpaces : public IDispatch
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;
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;
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;
582 extern const GUID MEDIATYPE_MPEG2_SECTIONS;
583 extern const GUID MEDIASUBTYPE_None;
584 extern const GUID FORMAT_None;
586 const GUID KSCATEGORY_BDA_TRANSPORT_INFORMATION =
\r
587 {0xa2e3074f,0x6c3d,0x11d3,{0xb6,0x53,0x00,0xc0,0x4f,0x79,0x49,0x8e}};
\r
588 const GUID KSCATEGORY_BDA_RECEIVER_COMPONENT =
\r
589 {0xFD0A5AF4,0xB41D,0x11d2,{0x9c,0x95,0x00,0xc0,0x4f,0x79,0x71,0xe0}};
\r
590 const GUID KSCATEGORY_BDA_NETWORK_TUNER =
\r
591 {0x71985f48,0x1ca1,0x11d3,{0x9c,0xc8,0x00,0xc0,0x4f,0x79,0x71,0xe0}};