bdadefs.h

Go to the documentation of this file.
00001 /*****************************************************************************
00002  * bdadefs.h : DirectShow BDA headers for vlc
00003  *****************************************************************************
00004  * Copyright (C) 2007 the VideoLAN team
00005  *
00006  * Author: Ken Self <kenself(at)optusnet(dot)com(dot)au>
00007  *
00008  * This program is free software; you can redistribute it and/or modify
00009  * it under the terms of the GNU General Public License as published by
00010  * the Free Software Foundation; either version 2 of the License, or
00011  * (at your option) any later version.
00012  *
00013  * This program is distributed in the hope that it will be useful,
00014  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00015  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00016  * GNU General Public License for more details.
00017  *
00018  * You should have received a copy of the GNU General Public License
00019  * along with this program; if not, write to the Free Software
00020  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
00021  *****************************************************************************/
00022 
00023 class IATSCChannelTuneRequest;
00024 class IATSCLocator;
00025 class IBDA_DeviceControl;
00026 class IBDA_FrequencyFilter;
00027 class IBDA_SignalStatistics;
00028 class IBDA_Topology;
00029 class IChannelTuneRequest;
00030 class IComponent;
00031 class IComponents;
00032 class IComponentType;
00033 class IComponentTypes;
00034 class IDVBCLocator;
00035 class IDVBSLocator;
00036 class IDVBSTuningSpace;
00037 class IDVBTLocator;
00038 class IDVBTuneRequest;
00039 class IDVBTuningSpace;
00040 class IDVBTuningSpace2;
00041 class IEnumComponents;
00042 class IEnumComponentTypes;
00043 class IEnumTuningSpaces;
00044 class ILocator;
00045 class ISampleGrabber;
00046 class ISampleGrabberCB;
00047 class IScanningTuner;
00048 class ITuner;
00049 class ITuneRequest;
00050 class ITuningSpace;
00051 class ITuningSpaceContainer;
00052 class ITuningSpaces;
00053 class IMpeg2Data;
00054 class IGuideData;
00055 class IGuideDataEvent;
00056 class ISectionList;
00057 class IEnumTuneRequests;
00058 class IEnumGuideDataProperties;
00059 class IGuideDataProperty;
00060 class IMpeg2Stream;
00061 
00062 typedef enum BinaryConvolutionCodeRate
00063 {
00064     BDA_BCC_RATE_NOT_SET = -1,
00065     BDA_BCC_RATE_NOT_DEFINED=0,
00066     BDA_BCC_RATE_1_2 = 1,
00067     BDA_BCC_RATE_2_3,
00068     BDA_BCC_RATE_3_4,
00069     BDA_BCC_RATE_3_5,
00070     BDA_BCC_RATE_4_5,
00071     BDA_BCC_RATE_5_6,
00072     BDA_BCC_RATE_5_11,
00073     BDA_BCC_RATE_7_8,
00074     BDA_BCC_RATE_MAX,
00075 } BinaryConvolutionCodeRate;
00076 
00077 typedef enum ComponentCategory
00078 {
00079     CategoryNotSet = -1,
00080     CategoryOther=0,
00081     CategoryVideo,
00082     CategoryAudio,
00083     CategoryText,
00084     CategoryData,
00085 } ComponentCategory;
00086 
00087 typedef enum ComponentStatus
00088 {
00089     StatusActive,
00090     StatusInactive,
00091     StatusUnavailable,
00092 } ComponentStatus;
00093 
00094 typedef enum DVBSystemType
00095 {
00096     DVB_Cable,
00097     DVB_Terrestrial,
00098     DVB_Satellite,
00099 } DVBSystemType;
00100 
00101 typedef enum FECMethod
00102 {
00103     BDA_FEC_METHOD_NOT_SET = -1,
00104     BDA_FEC_METHOD_NOT_DEFINED=0,
00105     BDA_FEC_VITERBI = 1,
00106     BDA_FEC_RS_204_188,
00107     BDA_FEC_MAX,
00108 } FECMethod;
00109 
00110 typedef enum GuardInterval
00111 {
00112     BDA_GUARD_NOT_SET = -1,
00113     BDA_GUARD_NOT_DEFINED=0,
00114     BDA_GUARD_1_32 = 1,
00115     BDA_GUARD_1_16,
00116     BDA_GUARD_1_8,
00117     BDA_GUARD_1_4,
00118     BDA_GUARD_MAX,
00119 } GuardInterval;
00120 
00121 typedef enum HierarchyAlpha
00122 {
00123     BDA_HALPHA_NOT_SET = -1,
00124     BDA_HALPHA_NOT_DEFINED=0,
00125     BDA_HALPHA_1 = 1,
00126     BDA_HALPHA_2,
00127     BDA_HALPHA_4,
00128     BDA_HALPHA_MAX,
00129 } HierarchyAlpha;
00130 
00131 typedef enum ModulationType
00132 {
00133     BDA_MOD_NOT_SET = -1,
00134     BDA_MOD_NOT_DEFINED=0,
00135     BDA_MOD_16QAM = 1,
00136     BDA_MOD_32QAM,
00137     BDA_MOD_64QAM,
00138     BDA_MOD_80QAM,
00139     BDA_MOD_96QAM,
00140     BDA_MOD_112QAM,
00141     BDA_MOD_128QAM,
00142     BDA_MOD_160QAM,
00143     BDA_MOD_192QAM,
00144     BDA_MOD_224QAM,
00145     BDA_MOD_256QAM,
00146     BDA_MOD_320QAM,
00147     BDA_MOD_384QAM,
00148     BDA_MOD_448QAM,
00149     BDA_MOD_512QAM,
00150     BDA_MOD_640QAM,
00151     BDA_MOD_768QAM,
00152     BDA_MOD_896QAM,
00153     BDA_MOD_1024QAM,
00154     BDA_MOD_QPSK,
00155     BDA_MOD_BPSK,
00156     BDA_MOD_OQPSK,
00157     BDA_MOD_8VSB,
00158     BDA_MOD_16VSB,
00159     BDA_MOD_ANALOG_AMPLITUDE,
00160     BDA_MOD_ANALOG_FREQUENCY,
00161     BDA_MOD_MAX,
00162 } ModulationType;
00163 
00164 typedef enum Polarisation
00165 {
00166     BDA_POLARISATION_NOT_SET     = -1,
00167     BDA_POLARISATION_NOT_DEFINED = 0,
00168     BDA_POLARISATION_LINEAR_H    = 1,
00169     BDA_POLARISATION_LINEAR_V    = 2,
00170     BDA_POLARISATION_CIRCULAR_L  = 3,
00171     BDA_POLARISATION_CIRCULAR_R  = 4,
00172     BDA_POLARISATION_MAX         = 5
00173 } Polarisation;
00174 
00175 typedef enum SpectralInversion
00176 {
00177     BDA_SPECTRAL_INVERSION_NOT_SET = -1,
00178     BDA_SPECTRAL_INVERSION_NOT_DEFINED = 0,
00179     BDA_SPECTRAL_INVERSION_AUTOMATIC = 1,
00180     BDA_SPECTRAL_INVERSION_NORMAL,
00181     BDA_SPECTRAL_INVERSION_INVERTED,
00182     BDA_SPECTRAL_INVERSION_MAX
00183 } SpectralInversion;
00184 
00185 typedef enum TransmissionMode
00186 {
00187     BDA_XMIT_MODE_NOT_SET = -1,
00188     BDA_XMIT_MODE_NOT_DEFINED=0,
00189     BDA_XMIT_MODE_2K = 1,
00190     BDA_XMIT_MODE_8K,
00191     BDA_XMIT_MODE_MAX,
00192 } TransmissionMode;
00193 
00194 typedef struct _BDANODE_DESCRIPTOR
00195 {
00196     ULONG               ulBdaNodeType;
00197     GUID                guidFunction;
00198     GUID                guidName;
00199 } BDANODE_DESCRIPTOR, *PBDANODE_DESCRIPTOR;
00200 
00201 typedef struct _BDA_TEMPLATE_CONNECTION
00202 {
00203     ULONG   FromNodeType;
00204     ULONG   FromNodePinType;
00205     ULONG   ToNodeType;
00206     ULONG   ToNodePinType;
00207 } BDA_TEMPLATE_CONNECTION, *PBDA_TEMPLATE_CONNECTION;
00208 
00209 typedef struct _BDA_TEMPLATE_PIN_JOINT
00210 {
00211     ULONG   uliTemplateConnection;
00212     ULONG   ulcInstancesMax;
00213 } BDA_TEMPLATE_PIN_JOINT, *PBDA_TEMPLATE_PIN_JOINT;
00214 
00215 class IComponent : public IDispatch
00216 {
00217 public:
00218     virtual HRESULT __stdcall get_Type( IComponentType** p_p_cpt_type )=0;
00219     virtual HRESULT __stdcall put_Type( IComponentType* p_cpt_type )=0;
00220     virtual HRESULT __stdcall get_DescLangID( long* p_l_language )=0;
00221     virtual HRESULT __stdcall put_DescLangID( long l_language )=0;
00222     virtual HRESULT __stdcall get_Status( ComponentStatus* p_status )=0;
00223     virtual HRESULT __stdcall put_Status( ComponentStatus status )=0;
00224     virtual HRESULT __stdcall get_Description( BSTR* p_bstr_desc )=0;
00225     virtual HRESULT __stdcall put_Description( BSTR bstr_desc )=0;
00226     virtual HRESULT __stdcall Clone( IComponent** p_p_component )=0;
00227 };
00228 
00229 class IComponents : public IDispatch
00230 {
00231 public:
00232     virtual HRESULT __stdcall get_Count( long* pl_count )=0;
00233     virtual HRESULT __stdcall get__NewEnum( IEnumVARIANT** p_p_enum )=0;
00234     virtual HRESULT __stdcall EnumComponents( IEnumComponents** p_p_enum )=0;
00235     virtual HRESULT __stdcall get_Item( VARIANT Index,
00236         IComponent** p_p_component )=0;
00237     virtual HRESULT __stdcall Add( IComponent* p_component,
00238         VARIANT* v_index )=0;
00239     virtual HRESULT __stdcall Remove( VARIANT v_index )=0;
00240     virtual HRESULT __stdcall Clone( IComponents** p_p_cpts )=0;
00241 };
00242 
00243 class IComponentType : public IDispatch
00244 {
00245 public:
00246     virtual HRESULT __stdcall get_Category( ComponentCategory* p_category )=0;
00247     virtual HRESULT __stdcall put_Category( ComponentCategory category )=0;
00248     virtual HRESULT __stdcall get_MediaMajorType( BSTR* p_bstr_major_type )=0;
00249     virtual HRESULT __stdcall put_MediaMajorType( BSTR bstr_major_type )=0;
00250     virtual HRESULT __stdcall get__MediaMajorType( GUID* p_guid_major_type )=0;
00251     virtual HRESULT __stdcall put__MediaMajorType( REFCLSID guid_major_type )=0;
00252     virtual HRESULT __stdcall get_MediaSubType( BSTR* p_bstr_sub_type )=0;
00253     virtual HRESULT __stdcall put_MediaSubType( BSTR bstr_sub_type )=0;
00254     virtual HRESULT __stdcall get__MediaSubType( GUID* p_guid_sub_type )=0;
00255     virtual HRESULT __stdcall put__MediaSubType( REFCLSID guid_sub_type )=0;
00256     virtual HRESULT __stdcall get_MediaFormatType( BSTR* p_bstr_format_type )=0;
00257     virtual HRESULT __stdcall put_MediaFormatType( BSTR bstr_format_type )=0;
00258     virtual HRESULT __stdcall get__MediaFormatType(
00259         GUID* p_guid_format_type )=0;
00260     virtual HRESULT __stdcall put__MediaFormatType(
00261         REFCLSID guid_format_type )=0;
00262     virtual HRESULT __stdcall get_MediaType( AM_MEDIA_TYPE* p_media_type )=0;
00263     virtual HRESULT __stdcall put_MediaType( AM_MEDIA_TYPE* p_media_type )=0;
00264     virtual HRESULT __stdcall Clone( IComponentType** p_p_cpt_type )=0;
00265 };
00266 
00267 class IComponentTypes : public IDispatch
00268 {
00269 public:
00270     virtual HRESULT __stdcall get_Count( long* l_count )=0;
00271     virtual HRESULT __stdcall get__NewEnum( IEnumVARIANT** p_p_enum )=0;
00272     virtual HRESULT __stdcall EnumComponentTypes(
00273         IEnumComponentTypes** p_p_enum )=0;
00274     virtual HRESULT __stdcall get_Item( VARIANT v_index,
00275         IComponentType** p_p_cpt_type )=0;
00276     virtual HRESULT __stdcall put_Item( VARIANT v_index,
00277         IComponentType* p_cpt_type )=0;
00278     virtual HRESULT __stdcall Add( IComponentType* p_cpt_type,
00279         VARIANT* v_index )=0;
00280     virtual HRESULT __stdcall Remove( VARIANT v_index )=0;
00281     virtual HRESULT __stdcall Clone( IComponentTypes** p_p_cpt_types )=0;
00282 };
00283 
00284 class IEnumComponents : public IUnknown
00285 {
00286 public:
00287     virtual HRESULT __stdcall Next( ULONG num_elem, IComponent** p_p_elem,
00288         ULONG* p_num_elem_fetch )=0;
00289     virtual HRESULT __stdcall Skip( ULONG num_elem )=0;
00290     virtual HRESULT __stdcall Reset( void )=0;
00291     virtual HRESULT __stdcall Clone( IEnumComponents** p_p_enum )=0;
00292 };
00293 
00294 class IEnumComponentTypes : public IUnknown
00295 {
00296 public:
00297     virtual HRESULT __stdcall Next( ULONG num_elem, IComponentType** p_p_elem,
00298         ULONG* p_num_elem_fetch )=0;
00299     virtual HRESULT __stdcall Skip( ULONG num_elem )=0;
00300     virtual HRESULT __stdcall Reset( void )=0;
00301     virtual HRESULT __stdcall Clone( IEnumComponentTypes** p_p_enum )=0;
00302 };
00303 
00304 class IEnumTuningSpaces : public IUnknown
00305 {
00306 public:
00307     virtual HRESULT __stdcall Next( ULONG l_num_elem,
00308         ITuningSpace** p_p_tuning_space, ULONG* pl_num_elem_fetched )=0;
00309     virtual HRESULT __stdcall Skip( ULONG l_num_elem )=0;
00310     virtual HRESULT __stdcall Reset( void )=0;
00311     virtual HRESULT __stdcall Clone( IEnumTuningSpaces** p_p_enum )=0;
00312 };
00313 
00314 class ITuner : public IUnknown
00315 {
00316 public:
00317     virtual HRESULT __stdcall get_TuningSpace(
00318         ITuningSpace** p_p_tuning_space )=0;
00319     virtual HRESULT __stdcall put_TuningSpace( ITuningSpace* p_tuning_space )=0;
00320     virtual HRESULT __stdcall EnumTuningSpaces(
00321        IEnumTuningSpaces** p_p_enum )=0;
00322     virtual HRESULT __stdcall get_TuneRequest(
00323         ITuneRequest** p_p_tune_request )=0;
00324     virtual HRESULT __stdcall put_TuneRequest( ITuneRequest* p_tune_request )=0;
00325     virtual HRESULT __stdcall Validate( ITuneRequest* p_tune_request )=0;
00326     virtual HRESULT __stdcall get_PreferredComponentTypes(
00327         IComponentTypes** p_p_cpt_types )=0;
00328     virtual HRESULT __stdcall put_PreferredComponentTypes(
00329         IComponentTypes* p_cpt_types )=0;
00330     virtual HRESULT __stdcall get_SignalStrength( long* l_sig_strength )=0;
00331     virtual HRESULT __stdcall TriggerSignalEvents( long l_interval )=0;
00332 };
00333 
00334 class ISampleGrabber : public IUnknown
00335 {
00336 public:
00337     virtual HRESULT __stdcall SetOneShot( BOOL b_one_shot )=0;
00338     virtual HRESULT __stdcall SetMediaType(
00339         const AM_MEDIA_TYPE* p_media_type )=0;
00340     virtual HRESULT __stdcall GetConnectedMediaType(
00341         AM_MEDIA_TYPE* p_media_type )=0;
00342     virtual HRESULT __stdcall SetBufferSamples( BOOL b_buffer_samples )=0;
00343     virtual HRESULT __stdcall GetCurrentBuffer( long* p_buff_size,
00344         long* p_buffer )=0;
00345     virtual HRESULT __stdcall GetCurrentSample( IMediaSample** p_p_sample )=0;
00346     virtual HRESULT __stdcall SetCallback( ISampleGrabberCB* pf_callback,
00347         long l_callback_type )=0;
00348 };
00349 
00350 class ISampleGrabberCB : public IUnknown
00351 {
00352 public:
00353     virtual HRESULT __stdcall SampleCB( double d_sample_time,
00354         IMediaSample* p_sample )=0;
00355     virtual HRESULT __stdcall BufferCB( double d_sample_time, BYTE *p_buffer,
00356         long l_bufferLen )=0;
00357 };
00358 
00359 class IScanningTuner : public ITuner
00360 {
00361 public:
00362     virtual HRESULT __stdcall SeekUp( void )=0;
00363     virtual HRESULT __stdcall SeekDown( void )=0;
00364     virtual HRESULT __stdcall ScanDown( long l_pause )=0;
00365     virtual HRESULT __stdcall ScanUp( long l_pause )=0;
00366     virtual HRESULT __stdcall AutoProgram( void )=0;
00367 };
00368 
00369 class ITuneRequest : public IDispatch
00370 {
00371 public:
00372     virtual HRESULT __stdcall get_TuningSpace(
00373         ITuningSpace** p_p_tuning_space )=0;
00374     virtual HRESULT __stdcall get_Components( IComponents** p_p_components )=0;
00375     virtual HRESULT __stdcall Clone( ITuneRequest** p_p_tune_request )=0;
00376     virtual HRESULT __stdcall get_Locator( ILocator** p_p_locator )=0;
00377     virtual HRESULT __stdcall put_Locator( ILocator* p_locator )=0;
00378 };
00379 
00380 class IChannelTuneRequest : public ITuneRequest
00381 {
00382 public:
00383     virtual HRESULT __stdcall get_Channel( long* pl_channel )=0;
00384     virtual HRESULT __stdcall put_Channel( long l_channel )=0;
00385 };
00386 
00387 class IATSCChannelTuneRequest : public IChannelTuneRequest
00388 {
00389 public:
00390     virtual HRESULT __stdcall get_MinorChannel( long* pl_minor_channel )=0;
00391     virtual HRESULT __stdcall put_MinorChannel( long l_minor_channel )=0;
00392 };
00393 
00394 class IDVBTuneRequest : public ITuneRequest
00395 {
00396 public:
00397     virtual HRESULT __stdcall get_ONID( long* pl_onid )=0;
00398     virtual HRESULT __stdcall put_ONID( long l_onid )=0;
00399     virtual HRESULT __stdcall get_TSID( long* pl_tsid )=0;
00400     virtual HRESULT __stdcall put_TSID( long l_tsid )=0;
00401     virtual HRESULT __stdcall get_SID( long* pl_sid )=0;
00402     virtual HRESULT __stdcall put_SID( long l_sid )=0;
00403 };
00404 
00405 class ILocator : public IDispatch
00406 {
00407 public:
00408     virtual HRESULT __stdcall get_CarrierFrequency( long* pl_frequency )=0;
00409     virtual HRESULT __stdcall put_CarrierFrequency( long l_frequency )=0;
00410     virtual HRESULT __stdcall get_InnerFEC( FECMethod* FEC )=0;
00411     virtual HRESULT __stdcall put_InnerFEC( FECMethod FEC )=0;
00412     virtual HRESULT __stdcall get_InnerFECRate(
00413         BinaryConvolutionCodeRate* FEC )=0;
00414     virtual HRESULT __stdcall put_InnerFECRate(
00415         BinaryConvolutionCodeRate FEC )=0;
00416     virtual HRESULT __stdcall get_OuterFEC( FECMethod* FEC )=0;
00417     virtual HRESULT __stdcall put_OuterFEC( FECMethod FEC )=0;
00418     virtual HRESULT __stdcall get_OuterFECRate(
00419         BinaryConvolutionCodeRate* FEC )=0;
00420     virtual HRESULT __stdcall put_OuterFECRate(
00421         BinaryConvolutionCodeRate FEC )=0;
00422     virtual HRESULT __stdcall get_Modulation( ModulationType* p_modulation )=0;
00423     virtual HRESULT __stdcall put_Modulation( ModulationType modulation )=0;
00424     virtual HRESULT __stdcall get_SymbolRate( long* pl_rate )=0;
00425     virtual HRESULT __stdcall put_SymbolRate( long l_rate )=0;
00426     virtual HRESULT __stdcall Clone( ILocator** p_p_locator )=0;
00427 };
00428 
00429 class IATSCLocator : public ILocator
00430 {
00431 public:
00432     virtual HRESULT __stdcall get_PhysicalChannel( long* pl_phys_channel )=0;
00433     virtual HRESULT __stdcall put_PhysicalChannel( long l_phys_channel )=0;
00434     virtual HRESULT __stdcall get_TSID( long* pl_tsid )=0;
00435     virtual HRESULT __stdcall put_TSID( long l_tsid )=0;
00436 };
00437 
00438 class IDVBCLocator : public ILocator
00439 {
00440 public:
00441 };
00442 
00443 class IDVBSLocator : public ILocator
00444 {
00445 public:
00446     virtual HRESULT __stdcall get_SignalPolarisation(
00447         Polarisation* p_polarisation )=0;
00448     virtual HRESULT __stdcall put_SignalPolarisation(
00449         Polarisation polarisation )=0;
00450     virtual HRESULT __stdcall get_WestPosition( VARIANT_BOOL* pb_west )=0;
00451     virtual HRESULT __stdcall put_WestPosition( VARIANT_BOOL b_west )=0;
00452     virtual HRESULT __stdcall get_OrbitalPosition( long* pl_longitude )=0;
00453     virtual HRESULT __stdcall put_OrbitalPosition( long l_longitude )=0;
00454     virtual HRESULT __stdcall get_Azimuth( long* pl_azimuth )=0;
00455     virtual HRESULT __stdcall put_Azimuth( long l_azimuth )=0;
00456     virtual HRESULT __stdcall get_Elevation( long* pl_elevation )=0;
00457     virtual HRESULT __stdcall put_Elevation( long l_elevation )=0;
00458 };
00459 
00460 class IDVBTLocator : public ILocator
00461 {
00462 public:
00463     virtual HRESULT __stdcall get_Bandwidth( long* pl_bandwidth )=0;
00464     virtual HRESULT __stdcall put_Bandwidth( long l_bandwidth )=0;
00465     virtual HRESULT __stdcall get_LPInnerFEC( FECMethod* FEC )=0;
00466     virtual HRESULT __stdcall put_LPInnerFEC( FECMethod FEC )=0;
00467     virtual HRESULT __stdcall get_LPInnerFECRate(
00468         BinaryConvolutionCodeRate* FEC )=0;
00469     virtual HRESULT __stdcall put_LPInnerFECRate(
00470         BinaryConvolutionCodeRate FEC )=0;
00471     virtual HRESULT __stdcall get_HAlpha( HierarchyAlpha* Alpha )=0;
00472     virtual HRESULT __stdcall put_HAlpha( HierarchyAlpha Alpha )=0;
00473     virtual HRESULT __stdcall get_Guard( GuardInterval* GI )=0;
00474     virtual HRESULT __stdcall put_Guard( GuardInterval GI )=0;
00475     virtual HRESULT __stdcall get_Mode( TransmissionMode* mode )=0;
00476     virtual HRESULT __stdcall put_Mode( TransmissionMode mode )=0;
00477     virtual HRESULT __stdcall get_OtherFrequencyInUse(
00478         VARIANT_BOOL* OtherFrequencyInUseVal )=0;
00479     virtual HRESULT __stdcall put_OtherFrequencyInUse(
00480         VARIANT_BOOL OtherFrequencyInUseVal )=0;
00481 };
00482 
00483 class ITuningSpace : public IDispatch
00484 {
00485 public:
00486     virtual HRESULT __stdcall get_UniqueName( BSTR* p_bstr_name )=0;
00487     virtual HRESULT __stdcall put_UniqueName( BSTR Name )=0;
00488     virtual HRESULT __stdcall get_FriendlyName( BSTR* p_bstr_name )=0;
00489     virtual HRESULT __stdcall put_FriendlyName( BSTR bstr_name )=0;
00490     virtual HRESULT __stdcall get_CLSID( BSTR* bstr_clsid )=0;
00491     virtual HRESULT __stdcall get_NetworkType( BSTR* p_bstr_network_guid )=0;
00492     virtual HRESULT __stdcall put_NetworkType( BSTR bstr_network_guid )=0;
00493     virtual HRESULT __stdcall get__NetworkType( GUID* p_guid_network_guid )=0;
00494     virtual HRESULT __stdcall put__NetworkType( REFCLSID clsid_network_guid )=0;
00495     virtual HRESULT __stdcall CreateTuneRequest(
00496         ITuneRequest** p_p_tune_request )=0;
00497     virtual HRESULT __stdcall EnumCategoryGUIDs( IEnumGUID** p_p_enum )=0;
00498     virtual HRESULT __stdcall EnumDeviceMonikers( IEnumMoniker** p_p_enum )=0;
00499     virtual HRESULT __stdcall get_DefaultPreferredComponentTypes(
00500         IComponentTypes** p_p_cpt_types )=0;
00501     virtual HRESULT __stdcall put_DefaultPreferredComponentTypes(
00502         IComponentTypes* p_cpt_types )=0;
00503     virtual HRESULT __stdcall get_FrequencyMapping( BSTR* p_bstr_mapping )=0;
00504     virtual HRESULT __stdcall put_FrequencyMapping( BSTR bstr_mapping )=0;
00505     virtual HRESULT __stdcall get_DefaultLocator( ILocator** p_p_locator )=0;
00506     virtual HRESULT __stdcall put_DefaultLocator( ILocator* p_locator )=0;
00507     virtual HRESULT __stdcall Clone( ITuningSpace** p_p_tuning_space )=0;
00508 };
00509 
00510 class IDVBTuningSpace : public ITuningSpace
00511 {
00512 public:
00513     virtual HRESULT __stdcall get_SystemType( DVBSystemType* p_sys_type )=0;
00514     virtual HRESULT __stdcall put_SystemType( DVBSystemType sys_type )=0;
00515 };
00516 
00517 class IDVBTuningSpace2 : public IDVBTuningSpace
00518 {
00519 public:
00520     virtual HRESULT __stdcall get_NetworkID( long* p_l_network_id )=0;
00521     virtual HRESULT __stdcall put_NetworkID( long l_network_id )=0;
00522 };
00523 
00524 class IDVBSTuningSpace : public IDVBTuningSpace2
00525 {
00526 public:
00527     virtual HRESULT __stdcall get_LowOscillator( long* p_l_low_osc )=0;
00528     virtual HRESULT __stdcall put_LowOscillator( long l_low_osc )=0;
00529     virtual HRESULT __stdcall get_HighOscillator( long* p_l_high_osc )=0;
00530     virtual HRESULT __stdcall put_HighOscillator( long l_high_osc )=0;
00531     virtual HRESULT __stdcall get_LNBSwitch( long* p_l_lnb_switch )=0;
00532     virtual HRESULT __stdcall put_LNBSwitch( long l_lnb_switch )=0;
00533     virtual HRESULT __stdcall get_InputRange( BSTR* p_bstr_input_range )=0;
00534     virtual HRESULT __stdcall put_InputRange( BSTR bstr_input_range )=0;
00535     virtual HRESULT __stdcall get_SpectralInversion(
00536         SpectralInversion* p_spectral_inv )=0;
00537     virtual HRESULT __stdcall put_SpectralInversion(
00538         SpectralInversion spectral_inv )=0;
00539 };
00540 
00541 class ITuningSpaceContainer : public IDispatch
00542 {
00543 public:
00544     virtual HRESULT __stdcall get_Count( long* l_count )=0;
00545     virtual HRESULT __stdcall get__NewEnum( IEnumVARIANT** p_p_enum )=0;
00546     virtual HRESULT __stdcall get_Item( VARIANT v_index,
00547         ITuningSpace** p_p_tuning_space )=0;
00548     virtual HRESULT __stdcall put_Item( VARIANT v_index,
00549         ITuningSpace* p_tuning_space )=0;
00550     virtual HRESULT __stdcall TuningSpacesForCLSID( BSTR bstr_clsid,
00551         ITuningSpaces** p_p_tuning_spaces )=0;
00552     virtual HRESULT __stdcall _TuningSpacesForCLSID( REFCLSID clsid,
00553         ITuningSpaces** p_p_tuning_spaces )=0;
00554     virtual HRESULT __stdcall TuningSpacesForName( BSTR bstr_name,
00555         ITuningSpaces** p_p_tuning_spaces )=0;
00556     virtual HRESULT __stdcall FindID( ITuningSpace* p_tuning_space,
00557         long* l_id )=0;
00558     virtual HRESULT __stdcall Add( ITuningSpace* p_tuning_space,
00559         VARIANT* v_index )=0;
00560     virtual HRESULT __stdcall get_EnumTuningSpaces(
00561         IEnumTuningSpaces** p_p_enum )=0;
00562     virtual HRESULT __stdcall Remove( VARIANT v_index )=0;
00563     virtual HRESULT __stdcall get_MaxCount( long* l_maxcount )=0;
00564     virtual HRESULT __stdcall put_MaxCount( long l_maxcount )=0;
00565 };
00566 
00567 class ITuningSpaces : public IDispatch
00568 {
00569 public:
00570     virtual HRESULT __stdcall get_Count( long* l_count )=0;
00571     virtual HRESULT __stdcall get__NewEnum( IEnumVARIANT** p_p_enum )=0;
00572     virtual HRESULT __stdcall get_Item( VARIANT v_index,
00573         ITuningSpace** p_p_tuning_space )=0;
00574     virtual HRESULT __stdcall get_EnumTuningSpaces(
00575         IEnumTuningSpaces** p_p_enum )=0;
00576 };
00577 
00578 class IBDA_DeviceControl : public IUnknown
00579 {
00580 public:
00581     virtual HRESULT __stdcall StartChanges( void )=0;
00582     virtual HRESULT __stdcall CheckChanges( void )=0;
00583     virtual HRESULT __stdcall CommitChanges( void )=0;
00584     virtual HRESULT __stdcall GetChangeState( ULONG *pState )=0;
00585 };
00586 
00587 class IBDA_FrequencyFilter : public IUnknown
00588 {
00589 public:
00590     virtual HRESULT __stdcall put_Autotune( ULONG ulTransponder )=0;
00591     virtual HRESULT __stdcall get_Autotune( ULONG *pulTransponder )=0;
00592     virtual HRESULT __stdcall put_Frequency( ULONG ulFrequency )=0;
00593     virtual HRESULT __stdcall get_Frequency( ULONG *pulFrequency )=0;
00594     virtual HRESULT __stdcall put_Polarity( Polarisation Polarity )=0;
00595     virtual HRESULT __stdcall get_Polarity( Polarisation *pPolarity )=0;
00596     virtual HRESULT __stdcall put_Range( ULONG ulRange )=0;
00597     virtual HRESULT __stdcall get_Range( ULONG *pulRange )=0;
00598     virtual HRESULT __stdcall put_Bandwidth( ULONG ulBandwidth )=0;
00599     virtual HRESULT __stdcall get_Bandwidth( ULONG *pulBandwidth )=0;
00600     virtual HRESULT __stdcall put_FrequencyMultiplier( ULONG ulMultiplier )=0;
00601     virtual HRESULT __stdcall get_FrequencyMultiplier(
00602         ULONG *pulMultiplier )=0;
00603 };
00604 
00605 class IBDA_SignalStatistics : public IUnknown
00606 {
00607 public:
00608     virtual HRESULT __stdcall put_SignalStrength( LONG lDbStrength )=0;
00609     virtual HRESULT __stdcall get_SignalStrength( LONG *plDbStrength )=0;
00610     virtual HRESULT __stdcall put_SignalQuality( LONG lPercentQuality )=0;
00611     virtual HRESULT __stdcall get_SignalQuality( LONG *plPercentQuality )=0;
00612     virtual HRESULT __stdcall put_SignalPresent( BOOLEAN fPresent )=0;
00613     virtual HRESULT __stdcall get_SignalPresent( BOOLEAN *pfPresent )=0;
00614     virtual HRESULT __stdcall put_SignalLocked( BOOLEAN fLocked )=0;
00615     virtual HRESULT __stdcall get_SignalLocked( BOOLEAN *pfLocked )=0;
00616     virtual HRESULT __stdcall put_SampleTime( LONG lmsSampleTime )=0;
00617     virtual HRESULT __stdcall get_SampleTime( LONG *plmsSampleTime )=0;
00618 };
00619 
00620 class IBDA_Topology : public IUnknown
00621 {
00622 public:
00623     virtual HRESULT __stdcall GetNodeTypes( ULONG *pulcNodeTypes,
00624         ULONG ulcNodeTypesMax, ULONG rgulNodeTypes[] )=0;
00625     virtual HRESULT __stdcall GetNodeDescriptors( ULONG *ulcNodeDescriptors,
00626         ULONG ulcNodeDescriptorsMax,
00627         BDANODE_DESCRIPTOR rgNodeDescriptors[] )=0;
00628     virtual HRESULT __stdcall GetNodeInterfaces( ULONG ulNodeType,
00629         ULONG *pulcInterfaces, ULONG ulcInterfacesMax,
00630         GUID rgguidInterfaces[] )=0;
00631     virtual HRESULT __stdcall GetPinTypes( ULONG *pulcPinTypes,
00632         ULONG ulcPinTypesMax, ULONG rgulPinTypes[] )=0;
00633     virtual HRESULT __stdcall GetTemplateConnections( ULONG *pulcConnections,
00634         ULONG ulcConnectionsMax, BDA_TEMPLATE_CONNECTION rgConnections[] )=0;
00635     virtual HRESULT __stdcall CreatePin( ULONG ulPinType, ULONG *pulPinId )=0;
00636     virtual HRESULT __stdcall DeletePin( ULONG ulPinId )=0;
00637     virtual HRESULT __stdcall SetMediaType( ULONG ulPinId,
00638        AM_MEDIA_TYPE *pMediaType )=0;
00639     virtual HRESULT __stdcall SetMedium( ULONG ulPinId,
00640        REGPINMEDIUM *pMedium )=0;
00641     virtual HRESULT __stdcall CreateTopology( ULONG ulInputPinId,
00642        ULONG ulOutputPinId )=0;
00643     virtual HRESULT __stdcall GetControlNode( ULONG ulInputPinId,
00644         ULONG ulOutputPinId, ULONG ulNodeType, IUnknown **ppControlNode )=0;
00645 };
00646 
00647 typedef struct _MPEG_HEADER_BITS_MIDL
00648 {
00649     WORD Bits;
00650 } MPEG_HEADER_BITS_MIDL;
00651 
00652 typedef struct _MPEG_HEADER_VERSION_BITS_MIDL
00653 {
00654     BYTE Bits;
00655 } MPEG_HEADER_VERSION_BITS_MIDL;
00656 
00657 typedef WORD PID;
00658 
00659 typedef BYTE TID;
00660 
00661 typedef struct _SECTION
00662 {
00663     TID TableId;
00664     union
00665     {
00666         MPEG_HEADER_BITS_MIDL S;
00667         WORD W;
00668     } Header;
00669     BYTE SectionData[ 1 ];
00670 } SECTION, *PSECTION;
00671 
00672 typedef struct _LONG_SECTION
00673 {
00674     TID TableId;
00675     union
00676     {
00677         MPEG_HEADER_BITS_MIDL S;
00678         WORD W;
00679     } Header;
00680     WORD TableIdExtension;
00681     union
00682     {
00683         MPEG_HEADER_VERSION_BITS_MIDL S;
00684         BYTE B;
00685         } Version;
00686     BYTE SectionNumber;
00687     BYTE LastSectionNumber;
00688     BYTE RemainingData[ 1 ];
00689 } LONG_SECTION;
00690 
00691 typedef struct _MPEG_BCS_DEMUX
00692 {
00693     DWORD AVMGraphId;
00694 } MPEG_BCS_DEMUX;
00695 
00696 typedef struct _MPEG_WINSOC
00697 {
00698     DWORD AVMGraphId;
00699 } MPEG_WINSOCK;
00700 
00701 typedef enum
00702 {
00703     MPEG_CONTEXT_BCS_DEMUX = 0,
00704     MPEG_CONTEXT_WINSOCK = MPEG_CONTEXT_BCS_DEMUX + 1
00705 } MPEG_CONTEXT_TYPE;
00706 
00707 typedef struct _MPEG_RQST_PACKET
00708 {
00709     DWORD dwLength;
00710     PSECTION pSection;
00711 } MPEG_RQST_PACKET, *PMPEG_RQST_PACKET;
00712 
00713 typedef struct _MPEG_PACKET_LIST
00714 {
00715     WORD wPacketCount;
00716     PMPEG_RQST_PACKET PacketList[ 1 ];
00717 } MPEG_PACKET_LIST, *PMPEG_PACKET_LIST;
00718 
00719 typedef struct _DSMCC_FILTER_OPTIONS
00720 {
00721     BOOL fSpecifyProtocol;
00722     BYTE Protocol;
00723     BOOL fSpecifyType;
00724     BYTE Type;
00725     BOOL fSpecifyMessageId;
00726     WORD MessageId;
00727     BOOL fSpecifyTransactionId;
00728     BOOL fUseTrxIdMessageIdMask;
00729     DWORD TransactionId;
00730     BOOL fSpecifyModuleVersion;
00731     BYTE ModuleVersion;
00732     BOOL fSpecifyBlockNumber;
00733     WORD BlockNumber;
00734     BOOL fGetModuleCall;
00735     WORD NumberOfBlocksInModule;
00736 } DSMCC_FILTER_OPTIONS;
00737 
00738 typedef struct _ATSC_FILTER_OPTIONS
00739 {
00740     BOOL fSpecifyEtmId;
00741     DWORD EtmId;
00742 } ATSC_FILTER_OPTIONS;
00743 
00744 typedef struct _MPEG_STREAM_BUFFER
00745 {
00746     HRESULT hr;
00747     DWORD dwDataBufferSize;
00748     DWORD dwSizeOfDataRead;
00749     BYTE *pDataBuffer;
00750 } MPEG_STREAM_BUFFER, *PMPEG_STREAM_BUFFER;
00751 
00752 typedef struct _MPEG_CONTEXT
00753 {
00754     MPEG_CONTEXT_TYPE Type;
00755     union
00756     {
00757         MPEG_BCS_DEMUX Demux;
00758         MPEG_WINSOCK Winsock;
00759     } U;
00760 } MPEG_CONTEXT, *PMPEG_CONTEXT;
00761 
00762 typedef enum
00763 {
00764    MPEG_RQST_UNKNOWN = 0,
00765    MPEG_RQST_GET_SECTION = MPEG_RQST_UNKNOWN + 1,
00766    MPEG_RQST_GET_SECTION_ASYNC = MPEG_RQST_GET_SECTION + 1,
00767    MPEG_RQST_GET_TABLE = MPEG_RQST_GET_SECTION_ASYNC + 1,
00768    MPEG_RQST_GET_TABLE_ASYNC = MPEG_RQST_GET_TABLE + 1,
00769    MPEG_RQST_GET_SECTIONS_STREAM = MPEG_RQST_GET_TABLE_ASYNC + 1,
00770    MPEG_RQST_GET_PES_STREAM = MPEG_RQST_GET_SECTIONS_STREAM + 1,
00771    MPEG_RQST_GET_TS_STREAM = MPEG_RQST_GET_PES_STREAM + 1,
00772    MPEG_RQST_START_MPE_STREAM = MPEG_RQST_GET_TS_STREAM + 1
00773 } MPEG_REQUEST_TYPE;
00774 
00775 typedef struct _MPEG2_FILTER
00776 {
00777     BYTE bVersionNumber;
00778     WORD wFilterSize;
00779     BOOL fUseRawFilteringBits;
00780     BYTE Filter[ 16 ];
00781     BYTE Mask[ 16 ];
00782     BOOL fSpecifyTableIdExtension;
00783     WORD TableIdExtension;
00784     BOOL fSpecifyVersion;
00785     BYTE Version;
00786     BOOL fSpecifySectionNumber;
00787     BYTE SectionNumber;
00788     BOOL fSpecifyCurrentNext;
00789     BOOL fNext;
00790     BOOL fSpecifyDsmccOptions;
00791     DSMCC_FILTER_OPTIONS Dsmcc;
00792     BOOL fSpecifyAtscOptions;
00793     ATSC_FILTER_OPTIONS Atsc;
00794 } MPEG2_FILTER, *PMPEG2_FILTER;
00795 
00796 typedef struct _MPEG_HEADER_BITS
00797 {
00798     WORD SectionLength          : 12;
00799     WORD Reserved               :  2;
00800     WORD PrivateIndicator       :  1;
00801     WORD SectionSyntaxIndicator :  1;
00802 } MPEG_HEADER_BITS, *PMPEG_HEADER_BITS;
00803 
00804 typedef struct _MPEG_HEADER_VERSION_BITS
00805 {
00806     BYTE CurrentNextIndicator : 1;
00807     BYTE VersionNumber        : 5;
00808     BYTE Reserved             : 2;
00809 } MPEG_HEADER_VERSION_BITS, *PMPEG_HEADER_VERSION_BITS;
00810 
00811 class IMpeg2Data : public IUnknown
00812 {
00813 public:
00814     virtual HRESULT __stdcall GetSection( PID pid, TID tid,
00815         PMPEG2_FILTER pFilter, DWORD dwTimeout,
00816         ISectionList **ppSectionList )=0;
00817     virtual HRESULT __stdcall GetTable( PID pid, TID tid, PMPEG2_FILTER pFilter,
00818         DWORD dwTimeout, ISectionList **ppSectionList )=0;
00819     virtual HRESULT __stdcall GetStreamOfSections( PID pid, TID tid,
00820         PMPEG2_FILTER pFilter, HANDLE hDataReadyEvent,
00821         IMpeg2Stream **ppMpegStream )=0;
00822 };
00823 
00824 class IGuideData : public IUnknown
00825 {
00826 public:
00827     virtual HRESULT __stdcall GetServices(
00828         IEnumTuneRequests **ppEnumTuneRequestslass )=0;
00829     virtual HRESULT __stdcall GetServiceProperties(
00830         ITuneRequest *pTuneRequest,
00831         IEnumGuideDataProperties **ppEnumProperties )=0;
00832     virtual HRESULT __stdcall GetGuideProgramIDs(
00833         IEnumVARIANT **pEnumPrograms )=0;
00834     virtual HRESULT __stdcall GetProgramProperties(
00835         VARIANT varProgramDescriptionID,
00836         IEnumGuideDataProperties **ppEnumProperties )=0;
00837     virtual HRESULT __stdcall GetScheduleEntryIDs(
00838         IEnumVARIANT **pEnumScheduleEntries )=0;
00839     virtual HRESULT __stdcall GetScheduleEntryProperties(
00840         VARIANT varScheduleEntryDescriptionID,
00841         IEnumGuideDataProperties **ppEnumProperties )=0;
00842 };
00843 
00844 class IGuideDataEvent : public IUnknown
00845 {
00846 public:
00847     virtual HRESULT __stdcall GuideDataAcquired( void )=0;
00848     virtual HRESULT __stdcall ProgramChanged(
00849         VARIANT varProgramDescriptionID )=0;
00850     virtual HRESULT __stdcall ServiceChanged(
00851         VARIANT varServiceDescriptionID )=0;
00852     virtual HRESULT __stdcall ScheduleEntryChanged(
00853         VARIANT varScheduleEntryDescriptionID )=0;
00854     virtual HRESULT __stdcall ProgramDeleted(
00855         VARIANT varProgramDescriptionID )=0;
00856     virtual HRESULT __stdcall ServiceDeleted(
00857         VARIANT varServiceDescriptionID )=0;
00858     virtual HRESULT __stdcall ScheduleDeleted(
00859             VARIANT varScheduleEntryDescriptionID )=0;
00860 };
00861 
00862 class IGuideDataProperty : public IUnknown
00863 {
00864 public:
00865     virtual  HRESULT __stdcall get_Name( BSTR *pbstrName )=0;
00866     virtual  HRESULT __stdcall get_Language( long *idLang )=0;
00867     virtual  HRESULT __stdcall get_Value( VARIANT *pvar )=0;
00868 };
00869 
00870 class IMpeg2Stream : public IUnknown
00871 {
00872 public:
00873     virtual HRESULT __stdcall Initialize( MPEG_REQUEST_TYPE requestType,
00874         IMpeg2Data *pMpeg2Data, PMPEG_CONTEXT pContext, PID pid, TID tid,
00875         PMPEG2_FILTER pFilter, HANDLE hDataReadyEvent )=0;
00876     virtual HRESULT __stdcall SupplyDataBuffer(
00877         PMPEG_STREAM_BUFFER pStreamBuffer )=0;
00878 };
00879 
00880 class ISectionList : public IUnknown
00881 {
00882 public:
00883     virtual HRESULT __stdcall Initialize( MPEG_REQUEST_TYPE requestType,
00884         IMpeg2Data *pMpeg2Data, PMPEG_CONTEXT pContext, PID pid, TID tid,
00885         PMPEG2_FILTER pFilter, DWORD timeout, HANDLE hDoneEvent )=0;
00886     virtual HRESULT __stdcall InitializeWithRawSections(
00887         PMPEG_PACKET_LIST pmplSections )=0;
00888     virtual HRESULT __stdcall CancelPendingRequest( void )=0;
00889     virtual HRESULT __stdcall GetNumberOfSections( WORD *pCount )=0;
00890     virtual HRESULT __stdcall GetSectionData( WORD sectionNumber,
00891         DWORD *pdwRawPacketLength, PSECTION *ppSection )=0;
00892     virtual HRESULT __stdcall GetProgramIdentifier( PID *pPid )=0;
00893     virtual HRESULT __stdcall GetTableIdentifier( TID *pTableId )=0;
00894 };
00895 
00896 class IEnumGuideDataProperties : public IUnknown
00897 {
00898 public:
00899     virtual HRESULT __stdcall Next( unsigned long celt,
00900         IGuideDataProperty **ppprop, unsigned long *pcelt )=0;
00901     virtual HRESULT __stdcall Skip( unsigned long celt )=0;
00902     virtual HRESULT __stdcall Reset( void )=0;
00903     virtual HRESULT __stdcall Clone( IEnumGuideDataProperties **ppenum )=0;
00904 };
00905 
00906 class IEnumTuneRequests : public IUnknown
00907 {
00908 public:
00909     virtual HRESULT __stdcall Next( unsigned long celt, ITuneRequest **ppprop,
00910         unsigned long *pcelt )=0;
00911     virtual HRESULT __stdcall Skip( unsigned long celt )=0;
00912     virtual HRESULT __stdcall Reset( void )=0;
00913     virtual HRESULT __stdcall Clone( IEnumTuneRequests **ppenum )=0;
00914 };
00915 
00916 extern "C" {
00917 extern const GUID CLSID_ATSCLocator;
00918 extern const GUID CLSID_ATSCNetworkProvider;
00919 extern const GUID CLSID_ATSCTuningSpace;
00920 extern const GUID CLSID_DVBCLocator;
00921 extern const GUID CLSID_DVBCNetworkProvider;
00922 extern const GUID CLSID_DVBSLocator;
00923 extern const GUID CLSID_DVBSNetworkProvider;
00924 extern const GUID CLSID_DVBSTuningSpace;
00925 extern const GUID CLSID_DVBTuningSpace;
00926 extern const GUID CLSID_DVBTLocator;
00927 extern const GUID CLSID_DVBTNetworkProvider;
00928 extern const GUID CLSID_FilterGraph;
00929 extern const GUID CLSID_InfTee;
00930 extern const GUID CLSID_MPEG2Demultiplexer;
00931 extern const GUID CLSID_NullRenderer;
00932 extern const GUID CLSID_SampleGrabber;
00933 extern const GUID CLSID_SystemDeviceEnum;
00934 extern const GUID CLSID_SystemTuningSpaces;
00935 
00936 extern const GUID IID_IATSCChannelTuneRequest;
00937 extern const GUID IID_IATSCLocator;
00938 extern const GUID IID_IBaseFilter;
00939 extern const GUID IID_IBDA_DeviceControl;
00940 extern const GUID IID_IBDA_FrequencyFilter;
00941 extern const GUID IID_IBDA_SignalStatistics;
00942 /* Following symbol does not exist in library
00943 extern const GUID IID_IBDA_Topology; */
00944 const GUID IID_IBDA_Topology =
00945     {0x79B56888,0x7FEA,0x4690,{0xB4,0x5D,0x38,0xFD,0x3C,0x78,0x49,0xBE}};
00946 extern const GUID IID_ICreateDevEnum;
00947 extern const GUID IID_IDVBTLocator;
00948 extern const GUID IID_IDVBCLocator;
00949 extern const GUID IID_IDVBSLocator;
00950 extern const GUID IID_IDVBSTuningSpace;
00951 extern const GUID IID_IDVBTuneRequest;
00952 extern const GUID IID_IDVBTuningSpace;
00953 extern const GUID IID_IDVBTuningSpace2;
00954 extern const GUID IID_IGraphBuilder;
00955 extern const GUID IID_IMediaControl;
00956 extern const GUID IID_IMpeg2Demultiplexer;
00957 extern const GUID IID_ISampleGrabber;
00958 extern const GUID IID_IScanningTuner;
00959 extern const GUID IID_ITuner;
00960 extern const GUID IID_ITuningSpace;
00961 extern const GUID IID_ITuningSpaceContainer;
00962 /* Following symbol does not exist in library
00963 extern const GUID IID_IMpeg2Data; */
00964 const GUID IID_IMpeg2Data =
00965     {0x9B396D40,0xF380,0x4e3c,{0xA5,0x14,0x1A,0x82,0xBF,0x6E,0xBF,0xE6}};
00966 extern const GUID IID_IGuideData;
00967 extern const GUID IID_ISectionList;
00968 extern const GUID IID_IEnumTuneRequests;
00969 extern const GUID IID_IEnumGuideDataProperties;
00970 extern const GUID IID_IGuideDataProperty;
00971 extern const GUID IID_IMpeg2Stream;
00972 extern const GUID IID_IGuideDataEvent;
00973 
00974 extern const GUID MEDIATYPE_MPEG2_SECTIONS;
00975 extern const GUID MEDIASUBTYPE_None;
00976 extern const GUID FORMAT_None;
00977 
00978 const GUID KSCATEGORY_BDA_TRANSPORT_INFORMATION =
00979     {0xa2e3074f,0x6c3d,0x11d3,{0xb6,0x53,0x00,0xc0,0x4f,0x79,0x49,0x8e}};
00980 const GUID KSCATEGORY_BDA_RECEIVER_COMPONENT    =
00981     {0xFD0A5AF4,0xB41D,0x11d2,{0x9c,0x95,0x00,0xc0,0x4f,0x79,0x71,0xe0}};
00982 const GUID KSCATEGORY_BDA_NETWORK_TUNER         =
00983     {0x71985f48,0x1ca1,0x11d3,{0x9c,0xc8,0x00,0xc0,0x4f,0x79,0x71,0xe0}};
00984 const GUID KSDATAFORMAT_SUBTYPE_BDA_MPEG2_TRANSPORT =
00985     {0xF4AEB342,0x0329,0x4fdd,{0xA8,0xFD,0x4A,0xFF,0x49,0x26,0xC9,0x78}};
00986 
00987 };

Generated on Tue May 25 08:04:52 2010 for VLC by  doxygen 1.5.6