00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
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
00943
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
00963
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 };