コード例 #1
0
  public List<TPInfoBean> getTpInfoInSearchResult(
      NativeInstallation.Install_Search_Result_t searchResult) {
    Install_Tp_t[] tpList = searchResult.ptTpList;
    List<TPInfoBean> tpInfoBeans = new ArrayList<TPInfoBean>();
    TPInfoBean tpInfoBean = null;

    if (tpList.length != 0) {
      for (int i = 0; i < tpList.length; i++) {
        tpInfoBean = new TPInfoBean();

        int signalSource = tpList[i].eSignalSource;
        int netId = tpList[i].u16NetId;
        int onId = tpList[i].u16ON_Id;
        ;
        int tsId = tpList[i].u16TS_Id;
        int patVersion = tpList[i].u8Pat_Ver;

        NativeInstallation.DVBCore_Cab_Desc_t tunerDesc =
            (NativeInstallation.DVBCore_Cab_Desc_t) tpList[i].uTunerDesc;

        char tunerId = tunerDesc.getU8TunerId();
        int fec_Inner = tunerDesc.geteFEC_Inner();
        int fec_Outer = tunerDesc.geteFEC_Outer();
        int mod = tunerDesc.geteMod();
        int freq = tunerDesc.getU32Freq();
        int symbRate = tunerDesc.getU32SymbRate();

        tpInfoBean.setTunerType(signalSource);
        tpInfoBean.setTunerId(tunerId);
        tpInfoBean.setNetId(netId);
        tpInfoBean.setOriginalNetId(onId);
        tpInfoBean.setTranStreamId(tsId);
        tpInfoBean.setTunerFreq(freq);
        tpInfoBean.setTunerSymbRate(symbRate);
        tpInfoBean.setTunerEmod(mod);
        tpInfoBean.setEfecInner(fec_Inner);
        tpInfoBean.setEfecOuter(fec_Outer);
        tpInfoBean.setPatVersion(patVersion);

        tpInfoBeans.add(tpInfoBean);
      }
    }
    return tpInfoBeans;
  }
コード例 #2
0
  /**
   * <搜索节目>
   *
   * @see [类、类#方法、类#成员]
   */
  public void searchChannelInfo() {
    dvb = new NativeInstallation();
    dvb.installationInit();

    // 注册消息监听
    msgInstall = new MessageInstallation(handler);
    dvb.installMessageInit(msgInstall);

    Install_Cfg_t icfg = dvb.new Install_Cfg_t();
    icfg.ptTimeout = dvb.new Install_Timeout_t();

    // 指定Tuner的参数类型为C类型
    icfg.eSignalSource = Config.DVBCore_Signal_Source_eDVBCORE_SIGNAL_SOURCE_DVBC;
    if (!hasBat) {
      icfg.u8SearchLimitFlag = 1;
    } else {
      // 0 has bat,1 no bat
      icfg.u8SearchLimitFlag = 0;
    }

    // 声明Tuner参数的对象
    NativeInstallation.DVBCore_Cab_Desc_t tunerDesc = dvb.new DVBCore_Cab_Desc_t();

    if (null != strInputFrequency && !"".equals(strInputFrequency)) {
      u32Freq = Integer.parseInt(strInputFrequency);
    }
    if (null != strSymbolRate && !"".equals(strSymbolRate)) {
      u32SymbRate = Integer.parseInt(strSymbolRate);
    } else {
      u32Freq = Integer.parseInt(getString(R.string.InputFrequencyDefault));
      u32SymbRate = Integer.parseInt(getString(R.string.SymbolRateDefault));
    }
    int eMod = CommonUtils.getModHandling(strQam);

    SharedPreferences spChannel = getSharedPreferences("double_tuner", 8);
    int tunerid = spChannel.getInt("radio_serviceId", 0);
    LogUtils.printLog(1, 3, TAG, "--->>> tuner id is " + tunerid);

    tunerDesc.setU8TunerId((char) tunerid);
    tunerDesc.setU32Freq(u32Freq);
    tunerDesc.setU32SymbRate(u32SymbRate);
    tunerDesc.seteMod(eMod);

    // manual search
    if (searchMode == Config.Install_Search_Type_eTP_SEARCH) {
      Log.i(TAG, "---Search Type--->>>---Single  TP ---------");

      icfg.eSearchType = Config.Install_Search_Type_eTP_SEARCH;
      icfg.u32MainTpNum = 0;
      icfg.u32NormalTpNum = 1;

      icfg.puNormalTpDescList = new NativeInstallation.DVBCore_Cab_Desc_t[1];
      icfg.puNormalTpDescList[0] = tunerDesc;
    }
    // auto search
    if (searchMode == Config.Install_Search_Type_eAUTO_SEARCH) {
      Log.i(TAG, "---Search Type--->>>---Auto Search ---------");
      icfg.eSearchType = Config.Install_Search_Type_eAUTO_SEARCH;
      icfg.u32MainTpNum = 1;
      icfg.u32NormalTpNum = 0;
      NativeInstallation.DVBCore_Cab_Desc_t[] puMainTpDescList =
          new NativeInstallation.DVBCore_Cab_Desc_t[1];
      puMainTpDescList[0] = tunerDesc;
      icfg.puMainTpDescList = puMainTpDescList;
    }
    // all search
    if (searchMode == Config.Install_Search_Type_eALL_SEARCH) {
      Log.i(TAG, "---Search Type--->>>---All Search ---------");
      icfg.eSearchType = Config.Install_Search_Type_eALL_SEARCH;
      icfg.u32MainTpNum = 1;
      icfg.u32NormalTpNum = 0;
      NativeInstallation.DVBCore_Cab_Desc_t[] puMainTpDescList =
          new NativeInstallation.DVBCore_Cab_Desc_t[1];
      puMainTpDescList[0] = tunerDesc;
      icfg.puMainTpDescList = puMainTpDescList;
    }

    Log.i(TAG, "--------------------DVB Search Params ---------------------------");
    Log.i(TAG, "---------Search Mode is----------------------->>>" + searchMode);
    Log.i(TAG, "---------Input Frequency is----------------------->>>" + tunerDesc.getU32Freq());
    Log.i(TAG, "---------SysbolRate is----------------------->>>" + tunerDesc.getU32SymbRate());
    Log.i(TAG, "---------QAM is----------------------->>>" + tunerDesc.geteMod());
    Log.i(TAG, "---------HasBAT----------------------->>>" + hasBat);

    int reCode = dvb.installationStart(icfg);
    Log.i(TAG, "---------------------------------->>>>>>>>>>Re Code ----------->>>>>" + reCode);
  }