- Timestamp:
- 02/12/20 17:32:10 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
titan/titan/frontenddev.h
r44350 r44764 307 307 ciplus = 0; 308 308 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; 346 319 debug(200, "CI+ reserviert Tuner 0"); 347 320 break; 348 321 } 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; 354 355 } 355 356 … … 400 401 } 401 402 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 418 404 if(dvbnode->type == FRONTENDDEV && dvbnode->feinfo->type == tpnode->fetype && (dvbnode->felock != 0 || (flag == 2 && status.aktservice->fedev == dvbnode))) 419 405 { … … 429 415 continue; 430 416 } 417 431 418 found = 0; 419 int ciplusc = 0; 432 420 //check looptuner is free 433 421 tmpstr = getconfigbyval(dvbnode->feshortname, NULL); … … 438 426 if(tmpdvbnode != NULL) 439 427 { 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 } 440 446 if(tmpdvbnode->feakttransponder == NULL || (tmpdvbnode->felock == 0 && status.aktservice->fedev != tmpdvbnode)) 441 447 { … … 521 527 } 522 528 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; 537 539 } 538 540 … … 662 664 } 663 665 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 680 666 if(dvbnode->type == FRONTENDDEV && dvbnode->feinfo->type == tpnode->fetype && dvbnode->felock == 0) 681 667 { … … 698 684 if(tmpdvbnode != NULL) 699 685 { 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 } 700 703 if(tmpdvbnode->feakttransponder != NULL && (tmpdvbnode->feaktpolarization != tpnode->polarization || tmpdvbnode->feakttransponder->orbitalpos != tpnode->orbitalpos) && (tmpdvbnode->felock != 0 || (flag == 2 && tmpdvbnode->felock == 0))) 701 704 {
Note: See TracChangeset
for help on using the changeset viewer.