Changeset 44764 for titan


Ignore:
Timestamp:
02/12/20 17:32:10 (4 years ago)
Author:
gost
Message:

DM900 ci test

File:
1 edited

Legend:

Unmodified
Added
Removed
  • titan/titan/frontenddev.h

    r44350 r44764  
    307307        ciplus = 0;
    308308       
    309         //suche tuner der auf der gleichen orbitalpos/frequency/pol/band ist
    310         while(dvbnode != NULL)
    311         {
    312                 //FRONTENDDEV first in the list
    313                 if(dvbnode->type != FRONTENDDEV) break;
    314 
    315                 //check if tuner is deactivate
    316                 if(dvbnode->deactive == 1)
    317                 {
    318                         dvbnode = dvbnode->next;
    319                         continue;
    320                 }
    321                
    322                 //workaround fuer CI+ bei mehr wie einen Tuner
    323                 if((flag == 0 || flag == 2) && checkbox("DM900") == 1 && chnode != NULL && ciplusrun == 1 && dvbnode->next != NULL)
    324                 {
    325                         ciplus = 1;
    326                         struct channelslot *channelslotnode = channelslot;
    327                         while(channelslotnode != NULL)
    328                         {
    329                                 if(channelslotnode->transponderid == chnode->transponderid && channelslotnode->serviceid == chnode->serviceid)
    330                                 {
    331                                         if(dvbnode->devnr == 0)
    332                                         {
    333                                                 ciplus = 2;
    334                                                 break;
    335                                         }
    336                                         else
    337                                         {
    338                                                 ciplus = 3;
    339                                                 break;
    340                                         }
    341                                 }
    342                                 channelslotnode = channelslotnode->next;                       
    343                         }
    344                         if(ciplus == 3)
    345                         {
     309        //workaround fuer CI+ bei mehr wie einen Tuner
     310        if(checkbox("DM900") == 1 && chnode != NULL && ciplusrun == 1)
     311        {
     312                struct channelslot *channelslotnode = channelslot;
     313                ciplus = 1;
     314                while(channelslotnode != NULL)
     315                {
     316                        if(channelslotnode->transponderid == chnode->transponderid && channelslotnode->serviceid == chnode->serviceid)
     317                        {
     318                                ciplus = 2;
    346319                                debug(200, "CI+ reserviert Tuner 0");
    347320                                break;
    348321                        }
    349                 }
    350                 else
    351                 {
    352                         ciplus = 0;
    353                         debug(200, "CI+ workaround nicht aktiv");
     322                        channelslotnode = channelslotnode->next;                       
     323                }
     324        }
     325        else
     326        {
     327                ciplus = 0;
     328                debug(200, "CI+ workaround nicht aktiv");
     329        }
     330                 
     331       
     332        //suche tuner der auf der gleichen orbitalpos/frequency/pol/band ist
     333        while(dvbnode != NULL)
     334        {
     335                //FRONTENDDEV first in the list
     336                if(dvbnode->type != FRONTENDDEV) break;
     337
     338                //check if tuner is deactivate
     339                if(dvbnode->deactive == 1)
     340                {
     341                        dvbnode = dvbnode->next;
     342                        continue;
     343                }
     344               
     345                //check CI+ workaround
     346                if(ciplus == 1 && dvbnode->devnr == 0)
     347                {
     348                        dvbnode = dvbnode->next;
     349                        continue;
     350                }
     351                if(ciplus == 2)
     352                {
     353                        dvbnode = dvbnode->next;
     354                        continue;
    354355                }
    355356               
     
    400401                }
    401402               
    402                 if(ciplus != 0)
    403                 {
    404                         if(ciplus == 1 && dvbnode->devnr == 0)
    405                         {
    406                                 debug(200, "CI+ reserviert Tuner 0");
    407                                 dvbnode = dvbnode->next;
    408                                 continue;
    409                         }
    410                         if(ciplus > 1 && dvbnode->devnr != 0)
    411                         {
    412                                 debug(200, "CI+ erzwingt Tuner 0, aktiver Tuner: %i", dvbnode->devnr);
    413                                 dvbnode = dvbnode->next;
    414                                 continue;
    415                         }
    416                 }
    417        
     403               
    418404                if(dvbnode->type == FRONTENDDEV && dvbnode->feinfo->type == tpnode->fetype && (dvbnode->felock != 0 || (flag == 2 && status.aktservice->fedev == dvbnode)))
    419405                {
     
    429415                                continue;                               
    430416                        }
     417                       
    431418                        found = 0;
     419                        int ciplusc = 0;
    432420                        //check looptuner is free
    433421                        tmpstr = getconfigbyval(dvbnode->feshortname, NULL);
     
    438426                                if(tmpdvbnode != NULL)
    439427                                {
     428                                        //check CI+ workaround
     429                                        if(ciplus != 0)
     430                                        {
     431                                                if(ciplus == 1 && tmpdvbnode->devnr == 0)
     432                                                {
     433                                                        CharPtrTmp[found] = tmpdvbnode;
     434                                                        found = found + 1;
     435                                                        tmpstr = getconfigbyval(tmpstr, NULL); //loop tuner also loop  ?       
     436                                                        continue;
     437                                                }
     438                                                if(ciplus == 2 && tmpdvbnode->devnr != 0)
     439                                                {
     440                                                        CharPtrTmp[found] = tmpdvbnode;
     441                                                        found = found + 1;
     442                                                        tmpstr = getconfigbyval(tmpstr, NULL); //loop tuner also loop  ?       
     443                                                        continue;
     444                                                }
     445                                        }
    440446                                        if(tmpdvbnode->feakttransponder == NULL || (tmpdvbnode->felock == 0 && status.aktservice->fedev != tmpdvbnode))
    441447                                        {
     
    521527                }
    522528               
    523                 if(ciplus != 0)
    524                 {
    525                         if(ciplus == 1 && dvbnode->devnr == 0)
    526                         {
    527                                 debug(200, "CI+ reserviert Tuner 0");
    528                                 dvbnode = dvbnode->next;
    529                                 continue;
    530                         }
    531                         if(ciplus > 1 && dvbnode->devnr != 0)
    532                         {
    533                                 debug(200, "CI+ erzwingt Tuner 0, aktiver Tuner: %i", dvbnode->devnr);
    534                                 dvbnode = dvbnode->next;
    535                                 continue;
    536                         }
     529                //check CI+ workaround
     530                if(ciplus == 1 && dvbnode->devnr == 0)
     531                {
     532                        dvbnode = dvbnode->next;
     533                        continue;
     534                }
     535                if(ciplus == 2 && dvbnode->devnr != 0)
     536                {
     537                        dvbnode = dvbnode->next;
     538                        continue;
    537539                }
    538540               
     
    662664                }
    663665               
    664                 if(ciplus != 0)
    665                 {
    666                         if(ciplus == 1 && dvbnode->devnr == 0)
    667                         {
    668                                 debug(200, "CI+ reserviert Tuner 0");
    669                                 dvbnode = dvbnode->next;
    670                                 continue;
    671                         }
    672                         if(ciplus > 1 && dvbnode->devnr != 0)
    673                         {
    674                                 debug(200, "CI+ erzwingt Tuner 0, aktiver Tuner: %i", dvbnode->devnr);
    675                                 dvbnode = dvbnode->next;
    676                                 continue;
    677                         }
    678                 }
    679                
    680666                if(dvbnode->type == FRONTENDDEV && dvbnode->feinfo->type == tpnode->fetype && dvbnode->felock == 0)
    681667                {
     
    698684                                if(tmpdvbnode != NULL)
    699685                                {
     686                                        if(ciplus != 0)
     687                                        {
     688                                                if(ciplus == 1 && tmpdvbnode->devnr == 0)
     689                                                {
     690                                                        CharPtrTmp[found] = tmpdvbnode;
     691                                                        found = found + 1;
     692                                                        tmpstr = getconfigbyval(tmpstr, NULL); //loop tuner also loop  ?       
     693                                                        continue;
     694                                                }
     695                                                if(ciplus == 2 && tmpdvbnode->devnr != 0)
     696                                                {
     697                                                        CharPtrTmp[found] = tmpdvbnode;
     698                                                        found = found + 1;
     699                                                        tmpstr = getconfigbyval(tmpstr, NULL); //loop tuner also loop  ?       
     700                                                        continue;
     701                                                }
     702                                        }
    700703                                        if(tmpdvbnode->feakttransponder != NULL && (tmpdvbnode->feaktpolarization != tpnode->polarization || tmpdvbnode->feakttransponder->orbitalpos != tpnode->orbitalpos) && (tmpdvbnode->felock != 0 || (flag == 2 && tmpdvbnode->felock == 0)))
    701704                                        {
Note: See TracChangeset for help on using the changeset viewer.