Changeset 5d8058951fb5a4848d7638701a6a073865437556
- Timestamp:
- 17/05/07 00:00:59
(2 years ago)
- Author:
- Ken Self <kenself@videolan.org>
- git-committer:
- Ken Self <kenself@videolan.org> 1179352859 +0000
- git-parent:
[9b071a166b6aae1968976fc54855af6e31a389d9]
- git-author:
- Ken Self <kenself@videolan.org> 1179352859 +0000
- Message:
BDA - additional DVB-S parameters added
-
Files:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
| r3cf4ef1 |
r5d80589 |
|
| 89 | 89 | |
|---|
| 90 | 90 | #define LNB_LOF1_TEXT N_("Antenna lnb_lof1 (kHz)") |
|---|
| 91 | | #define LNB_LOF1_LONGTEXT "" |
|---|
| | 91 | #define LNB_LOF1_LONGTEXT N_("Low Band Local Osc Freq in kHz usually 9.75GHz") |
|---|
| 92 | 92 | |
|---|
| 93 | 93 | #define LNB_LOF2_TEXT N_("Antenna lnb_lof2 (kHz)") |
|---|
| 94 | | #define LNB_LOF2_LONGTEXT "" |
|---|
| | 94 | #define LNB_LOF2_LONGTEXT N_("High Band Local Osc Freq in kHz usually 10.6GHz") |
|---|
| 95 | 95 | |
|---|
| 96 | 96 | #define LNB_SLOF_TEXT N_("Antenna lnb_slof (kHz)") |
|---|
| 97 | | #define LNB_SLOF_LONGTEXT "" |
|---|
| | 97 | #define LNB_SLOF_LONGTEXT N_( \ |
|---|
| | 98 | "Low Noise Block switch freq in kHz usually 11.7GHz") |
|---|
| 98 | 99 | |
|---|
| 99 | 100 | /* Cable */ |
|---|
| … | … | |
| 167 | 168 | # if defined(WIN32) || defined(WINCE) |
|---|
| 168 | 169 | add_integer( "dvb-azimuth", 0, NULL, AZIMUTH_TEXT, AZIMUTH_LONGTEXT, |
|---|
| 169 | | VLC_FALSE ); |
|---|
| | 170 | VLC_TRUE ); |
|---|
| 170 | 171 | add_integer( "dvb-elevation", 0, NULL, ELEVATION_TEXT, |
|---|
| 171 | | ELEVATION_LONGTEXT, VLC_FALSE ); |
|---|
| | 172 | ELEVATION_LONGTEXT, VLC_TRUE ); |
|---|
| 172 | 173 | add_integer( "dvb-longitude", 0, NULL, LONGITUDE_TEXT, |
|---|
| 173 | | LONGITUDE_LONGTEXT, VLC_FALSE ); |
|---|
| | 174 | LONGITUDE_LONGTEXT, VLC_TRUE ); |
|---|
| 174 | 175 | add_string( "dvb-polarisation", NULL, NULL, POLARISATION_TEXT, |
|---|
| 175 | | POLARISATION_LONGTEXT, VLC_FALSE ); |
|---|
| | 176 | POLARISATION_LONGTEXT, VLC_TRUE ); |
|---|
| 176 | 177 | change_string_list( ppsz_polar_list, ppsz_polar_text, 0 ); |
|---|
| 177 | 178 | /* Note: Polaristion H = voltage 18; V = voltage 13; */ |
|---|
| … | … | |
| 185 | 186 | add_integer( "dvb-tone", -1, NULL, TONE_TEXT, TONE_LONGTEXT, |
|---|
| 186 | 187 | VLC_TRUE ); |
|---|
| 187 | | add_integer( "dvb-lnb-lof1", 0, NULL, LNB_LOF1_TEXT, |
|---|
| 188 | | LNB_LOF1_LONGTEXT, VLC_TRUE ); |
|---|
| 189 | | add_integer( "dvb-lnb-lof2", 0, NULL, LNB_LOF2_TEXT, |
|---|
| 190 | | LNB_LOF2_LONGTEXT, VLC_TRUE ); |
|---|
| 191 | | add_integer( "dvb-lnb-slof", 0, NULL, LNB_SLOF_TEXT, |
|---|
| 192 | | LNB_SLOF_LONGTEXT, VLC_TRUE ); |
|---|
| 193 | 188 | # endif |
|---|
| | 189 | add_integer( "dvb-lnb-lof1", 0, NULL, LNB_LOF1_TEXT, |
|---|
| | 190 | LNB_LOF1_LONGTEXT, VLC_TRUE ); |
|---|
| | 191 | add_integer( "dvb-lnb-lof2", 0, NULL, LNB_LOF2_TEXT, |
|---|
| | 192 | LNB_LOF2_LONGTEXT, VLC_TRUE ); |
|---|
| | 193 | add_integer( "dvb-lnb-slof", 0, NULL, LNB_SLOF_TEXT, |
|---|
| | 194 | LNB_SLOF_LONGTEXT, VLC_TRUE ); |
|---|
| | 195 | |
|---|
| 194 | 196 | add_integer( "dvb-fec", 9, NULL, FEC_TEXT, FEC_LONGTEXT, VLC_TRUE ); |
|---|
| 195 | 197 | add_integer( "dvb-srate", 27500000, NULL, SRATE_TEXT, SRATE_LONGTEXT, |
|---|
| … | … | |
| 243 | 245 | access_sys_t *p_sys; |
|---|
| 244 | 246 | const char* psz_module = "dvb"; |
|---|
| 245 | | const int i_param_count = 9; |
|---|
| | 247 | const int i_param_count = 12; |
|---|
| 246 | 248 | const char* psz_param[] = { "frequency", "bandwidth", |
|---|
| 247 | 249 | "srate", "azimuth", "elevation", "longitude", "polarisation", |
|---|
| 248 | | "modulation", "caching" }; |
|---|
| | 250 | "modulation", "caching", "lnb-lof1", "lnb-lof2", "lnb-slof" }; |
|---|
| 249 | 251 | |
|---|
| 250 | 252 | const int i_type[] = { VLC_VAR_INTEGER, VLC_VAR_INTEGER, |
|---|
| 251 | 253 | VLC_VAR_INTEGER, VLC_VAR_INTEGER, VLC_VAR_INTEGER, VLC_VAR_INTEGER, |
|---|
| 252 | | VLC_VAR_STRING, VLC_VAR_INTEGER, VLC_VAR_INTEGER }; |
|---|
| | 254 | VLC_VAR_STRING, VLC_VAR_INTEGER, VLC_VAR_INTEGER, VLC_VAR_INTEGER, |
|---|
| | 255 | VLC_VAR_INTEGER, VLC_VAR_INTEGER }; |
|---|
| 253 | 256 | |
|---|
| 254 | 257 | char psz_full_name[128]; |
|---|
| r3ed4adb |
r5d80589 |
|
| 30 | 30 | class IDVBCLocator; |
|---|
| 31 | 31 | class IDVBSLocator; |
|---|
| | 32 | class IDVBSTuningSpace; |
|---|
| 32 | 33 | class IDVBTLocator; |
|---|
| 33 | 34 | class IDVBTuneRequest; |
|---|
| | 35 | class IDVBTuningSpace; |
|---|
| | 36 | class IDVBTuningSpace2; |
|---|
| 34 | 37 | class IEnumComponents; |
|---|
| 35 | 38 | class IEnumComponentTypes; |
|---|
| … | … | |
| 76 | 79 | StatusUnavailable, |
|---|
| 77 | 80 | } ComponentStatus; |
|---|
| | 81 | |
|---|
| | 82 | typedef enum DVBSystemType |
|---|
| | 83 | { |
|---|
| | 84 | DVB_Cable, |
|---|
| | 85 | DVB_Terrestrial, |
|---|
| | 86 | DVB_Satellite, |
|---|
| | 87 | } DVBSystemType; |
|---|
| 78 | 88 | |
|---|
| 79 | 89 | typedef enum FECMethod |
|---|
| … | … | |
| 151 | 161 | } Polarisation; |
|---|
| 152 | 162 | |
|---|
| | 163 | typedef enum SpectralInversion |
|---|
| | 164 | { |
|---|
| | 165 | BDA_SPECTRAL_INVERSION_NOT_SET = -1, |
|---|
| | 166 | BDA_SPECTRAL_INVERSION_NOT_DEFINED = 0, |
|---|
| | 167 | BDA_SPECTRAL_INVERSION_AUTOMATIC = 1, |
|---|
| | 168 | BDA_SPECTRAL_INVERSION_NORMAL, |
|---|
| | 169 | BDA_SPECTRAL_INVERSION_INVERTED, |
|---|
| | 170 | BDA_SPECTRAL_INVERSION_MAX |
|---|
| | 171 | } SpectralInversion; |
|---|
| | 172 | |
|---|
| 153 | 173 | typedef enum TransmissionMode |
|---|
| 154 | 174 | { |
|---|
| … | … | |
| 454 | 474 | }; |
|---|
| 455 | 475 | |
|---|
| | 476 | class IDVBTuningSpace : public ITuningSpace |
|---|
| | 477 | { |
|---|
| | 478 | public: |
|---|
| | 479 | virtual HRESULT __stdcall get_SystemType( DVBSystemType* p_sys_type )=0; |
|---|
| | 480 | virtual HRESULT __stdcall put_SystemType( DVBSystemType sys_type )=0; |
|---|
| | 481 | }; |
|---|
| | 482 | |
|---|
| | 483 | class IDVBTuningSpace2 : public IDVBTuningSpace |
|---|
| | 484 | { |
|---|
| | 485 | public: |
|---|
| | 486 | virtual HRESULT __stdcall get_NetworkID( long* p_l_network_id )=0; |
|---|
| | 487 | virtual HRESULT __stdcall put_NetworkID( long l_network_id )=0; |
|---|
| | 488 | }; |
|---|
| | 489 | |
|---|
| | 490 | class IDVBSTuningSpace : public IDVBTuningSpace2 |
|---|
| | 491 | { |
|---|
| | 492 | public: |
|---|
| | 493 | virtual HRESULT __stdcall get_LowOscillator( long* p_l_low_osc )=0; |
|---|
| | 494 | virtual HRESULT __stdcall put_LowOscillator( long l_low_osc )=0; |
|---|
| | 495 | virtual HRESULT __stdcall get_HighOscillator( long* p_l_high_osc )=0; |
|---|
| | 496 | virtual HRESULT __stdcall put_HighOscillator( long l_high_osc )=0; |
|---|
| | 497 | virtual HRESULT __stdcall get_LNBSwitch( long* p_l_lnb_switch )=0; |
|---|
| | 498 | virtual HRESULT __stdcall put_LNBSwitch( long l_lnb_switch )=0; |
|---|
| | 499 | virtual HRESULT __stdcall get_InputRange( BSTR* p_bstr_input_range )=0; |
|---|
| | 500 | virtual HRESULT __stdcall put_InputRange( BSTR bstr_input_range )=0; |
|---|
| | 501 | virtual HRESULT __stdcall get_SpectralInversion( |
|---|
| | 502 | SpectralInversion* p_spectral_inv )=0; |
|---|
| | 503 | virtual HRESULT __stdcall put_SpectralInversion( |
|---|
| | 504 | SpectralInversion spectral_inv )=0; |
|---|
| | 505 | }; |
|---|
| | 506 | |
|---|
| 456 | 507 | class ITuningSpaceContainer : public IDispatch |
|---|
| 457 | 508 | { |
|---|
| … | … | |
| 518 | 569 | extern const GUID IID_IDVBSTuningSpace; |
|---|
| 519 | 570 | extern const GUID IID_IDVBTuneRequest; |
|---|
| | 571 | extern const GUID IID_IDVBTuningSpace; |
|---|
| | 572 | extern const GUID IID_IDVBTuningSpace2; |
|---|
| 520 | 573 | extern const GUID IID_IGraphBuilder; |
|---|
| 521 | 574 | extern const GUID IID_IMediaControl; |
|---|
| r3cf4ef1 |
r5d80589 |
|
| 436 | 436 | IDVBTuneRequest* p_dvbs_tune_request; |
|---|
| 437 | 437 | IDVBSLocator* p_dvbs_locator; |
|---|
| 438 | | localComPtr(): p_dvbs_tune_request(NULL), p_dvbs_locator(NULL) {}; |
|---|
| | 438 | IDVBSTuningSpace* p_dvbs_tuning_space; |
|---|
| | 439 | localComPtr(): p_dvbs_tune_request(NULL), p_dvbs_locator(NULL), |
|---|
| | 440 | p_dvbs_tuning_space(NULL) {}; |
|---|
| 439 | 441 | ~localComPtr() |
|---|
| 440 | 442 | { |
|---|
| | 443 | if( p_dvbs_tuning_space ) |
|---|
| | 444 | p_dvbs_tuning_space->Release(); |
|---|
| 441 | 445 | if( p_dvbs_tune_request ) |
|---|
| 442 | 446 | p_dvbs_tune_request->Release(); |
|---|
| … | … | |
| 446 | 450 | } l; |
|---|
| 447 | 451 | long l_frequency, l_symbolrate, l_azimuth, l_elevation, l_longitude; |
|---|
| | 452 | long l_lnb_lof1, l_lnb_lof2, l_lnb_slof; |
|---|
| 448 | 453 | char* psz_polarisation; |
|---|
| 449 | 454 | Polarisation i_polar; |
|---|
| … | … | |
| 451 | 456 | |
|---|
| 452 | 457 | l_frequency = l_symbolrate = l_azimuth = l_elevation = l_longitude = -1; |
|---|
| | 458 | l_lnb_lof1 = l_lnb_lof2 = l_lnb_slof = -1; |
|---|
| 453 | 459 | l_frequency = var_GetInteger( p_access, "dvb-frequency" ); |
|---|
| 454 | 460 | l_symbolrate = var_GetInteger( p_access, "dvb-srate" ); |
|---|
| … | … | |
| 456 | 462 | l_elevation = var_GetInteger( p_access, "dvb-elevation" ); |
|---|
| 457 | 463 | l_longitude = var_GetInteger( p_access, "dvb-longitude" ); |
|---|
| | 464 | l_lnb_lof1 = var_GetInteger( p_access, "dvb-lnb-lof1" ); |
|---|
| | 465 | l_lnb_lof2 = var_GetInteger( p_access, "dvb-lnb-lof2" ); |
|---|
| | 466 | l_lnb_slof = var_GetInteger( p_access, "dvb-lnb-slof" ); |
|---|
| 458 | 467 | psz_polarisation = var_GetString( p_access, "dvb-polarisation" ); |
|---|
| 459 | 468 | |
|---|
| … | … | |
| 497 | 506 | msg_Warn( p_access, "SubmitDVBSTuneRequest: "\ |
|---|
| 498 | 507 | "Cannot create the DVBS Locator: hr=0x%8lx", hr ); |
|---|
| | 508 | return VLC_EGENERIC; |
|---|
| | 509 | } |
|---|
| | 510 | |
|---|
| | 511 | hr = p_tuning_space->QueryInterface( IID_IDVBSTuningSpace, |
|---|
| | 512 | (void**)&l.p_dvbs_tuning_space ); |
|---|
| | 513 | if( FAILED( hr ) ) |
|---|
| | 514 | { |
|---|
| | 515 | msg_Warn( p_access, "SubmitDVBSTuneRequest: "\ |
|---|
| | 516 | "Cannot QI for IDVBSTuningSpace: hr=0x%8lx", hr ); |
|---|
| 499 | 517 | return VLC_EGENERIC; |
|---|
| 500 | 518 | } |
|---|
| … | … | |
| 515 | 533 | if( SUCCEEDED( hr ) && i_polar != BDA_POLARISATION_NOT_SET ) |
|---|
| 516 | 534 | hr = l.p_dvbs_locator->put_SignalPolarisation( i_polar ); |
|---|
| | 535 | if( SUCCEEDED( hr ) && l_lnb_lof1 > 0 ) |
|---|
| | 536 | hr = l.p_dvbs_tuning_space->put_LowOscillator( l_lnb_lof1 ); |
|---|
| | 537 | if( SUCCEEDED( hr ) && l_lnb_lof2 > 0 ) |
|---|
| | 538 | hr = l.p_dvbs_tuning_space->put_HighOscillator( l_lnb_lof2 ); |
|---|
| | 539 | if( SUCCEEDED( hr ) && l_lnb_slof > 0 ) |
|---|
| | 540 | hr = l.p_dvbs_tuning_space->put_HighOscillator( l_lnb_slof ); |
|---|
| 517 | 541 | if( FAILED( hr ) ) |
|---|
| 518 | 542 | { |
|---|