Changeset 5d8058951fb5a4848d7638701a6a073865437556

Show
Ignore:
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
  • modules/access/bda/bda.c

    r3cf4ef1 r5d80589  
    8989 
    9090#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") 
    9292 
    9393#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") 
    9595 
    9696#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") 
    9899 
    99100/* Cable */ 
     
    167168#   if defined(WIN32) || defined(WINCE) 
    168169        add_integer( "dvb-azimuth", 0, NULL, AZIMUTH_TEXT, AZIMUTH_LONGTEXT, 
    169             VLC_FALSE ); 
     170            VLC_TRUE ); 
    170171        add_integer( "dvb-elevation", 0, NULL, ELEVATION_TEXT, 
    171             ELEVATION_LONGTEXT, VLC_FALSE ); 
     172            ELEVATION_LONGTEXT, VLC_TRUE ); 
    172173        add_integer( "dvb-longitude", 0, NULL, LONGITUDE_TEXT, 
    173             LONGITUDE_LONGTEXT, VLC_FALSE ); 
     174            LONGITUDE_LONGTEXT, VLC_TRUE ); 
    174175        add_string( "dvb-polarisation", NULL, NULL, POLARISATION_TEXT, 
    175             POLARISATION_LONGTEXT, VLC_FALSE ); 
     176            POLARISATION_LONGTEXT, VLC_TRUE ); 
    176177            change_string_list( ppsz_polar_list, ppsz_polar_text, 0 ); 
    177178            /* Note: Polaristion H = voltage 18; V = voltage 13; */ 
     
    185186        add_integer( "dvb-tone", -1, NULL, TONE_TEXT, TONE_LONGTEXT, 
    186187            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 ); 
    193188#   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 
    194196    add_integer( "dvb-fec", 9, NULL, FEC_TEXT, FEC_LONGTEXT, VLC_TRUE ); 
    195197    add_integer( "dvb-srate", 27500000, NULL, SRATE_TEXT, SRATE_LONGTEXT, 
     
    243245    access_sys_t *p_sys; 
    244246    const char* psz_module  = "dvb"; 
    245     const int   i_param_count = 9
     247    const int   i_param_count = 12
    246248    const char* psz_param[] = { "frequency", "bandwidth", 
    247249        "srate", "azimuth", "elevation", "longitude", "polarisation", 
    248         "modulation", "caching" }; 
     250        "modulation", "caching", "lnb-lof1", "lnb-lof2", "lnb-slof" }; 
    249251 
    250252    const int   i_type[] = { VLC_VAR_INTEGER, VLC_VAR_INTEGER, 
    251253        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 }; 
    253256 
    254257    char  psz_full_name[128]; 
  • modules/access/bda/bdadefs.h

    r3ed4adb r5d80589  
    3030class IDVBCLocator; 
    3131class IDVBSLocator; 
     32class IDVBSTuningSpace; 
    3233class IDVBTLocator; 
    3334class IDVBTuneRequest; 
     35class IDVBTuningSpace; 
     36class IDVBTuningSpace2; 
    3437class IEnumComponents; 
    3538class IEnumComponentTypes; 
     
    7679    StatusUnavailable, 
    7780} ComponentStatus; 
     81 
     82typedef enum DVBSystemType 
     83{ 
     84    DVB_Cable, 
     85    DVB_Terrestrial, 
     86    DVB_Satellite, 
     87} DVBSystemType; 
    7888 
    7989typedef enum FECMethod 
     
    151161} Polarisation; 
    152162 
     163typedef 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 
    153173typedef enum TransmissionMode 
    154174{ 
     
    454474}; 
    455475 
     476class IDVBTuningSpace : public ITuningSpace 
     477{ 
     478public: 
     479    virtual HRESULT __stdcall get_SystemType( DVBSystemType* p_sys_type )=0; 
     480    virtual HRESULT __stdcall put_SystemType( DVBSystemType sys_type )=0; 
     481}; 
     482 
     483class IDVBTuningSpace2 : public IDVBTuningSpace 
     484{ 
     485public: 
     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 
     490class IDVBSTuningSpace : public IDVBTuningSpace2 
     491{ 
     492public: 
     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 
    456507class ITuningSpaceContainer : public IDispatch 
    457508{ 
     
    518569extern const GUID IID_IDVBSTuningSpace; 
    519570extern const GUID IID_IDVBTuneRequest; 
     571extern const GUID IID_IDVBTuningSpace; 
     572extern const GUID IID_IDVBTuningSpace2; 
    520573extern const GUID IID_IGraphBuilder; 
    521574extern const GUID IID_IMediaControl; 
  • modules/access/bda/bdagraph.cpp

    r3cf4ef1 r5d80589  
    436436        IDVBTuneRequest* p_dvbs_tune_request; 
    437437        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) {}; 
    439441        ~localComPtr() 
    440442        { 
     443            if( p_dvbs_tuning_space ) 
     444                p_dvbs_tuning_space->Release(); 
    441445            if( p_dvbs_tune_request ) 
    442446                p_dvbs_tune_request->Release(); 
     
    446450    } l; 
    447451    long l_frequency, l_symbolrate, l_azimuth, l_elevation, l_longitude; 
     452    long l_lnb_lof1, l_lnb_lof2, l_lnb_slof; 
    448453    char* psz_polarisation; 
    449454    Polarisation i_polar; 
     
    451456 
    452457    l_frequency = l_symbolrate = l_azimuth = l_elevation = l_longitude = -1; 
     458    l_lnb_lof1 = l_lnb_lof2 = l_lnb_slof = -1; 
    453459    l_frequency = var_GetInteger( p_access, "dvb-frequency" ); 
    454460    l_symbolrate = var_GetInteger( p_access, "dvb-srate" ); 
     
    456462    l_elevation = var_GetInteger( p_access, "dvb-elevation" ); 
    457463    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" ); 
    458467    psz_polarisation = var_GetString( p_access, "dvb-polarisation" ); 
    459468 
     
    497506        msg_Warn( p_access, "SubmitDVBSTuneRequest: "\ 
    498507            "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 ); 
    499517        return VLC_EGENERIC; 
    500518    } 
     
    515533    if( SUCCEEDED( hr ) && i_polar != BDA_POLARISATION_NOT_SET ) 
    516534        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 ); 
    517541    if( FAILED( hr ) ) 
    518542    {