Project

General

Profile

Bug #3903 » patch.diff

Christian Eiden, 2016-07-19 16:30

View differences:

src/input/mpegts/satip/satip_frontend.c
901 901
    return 0;
902 902
  }
903 903

  
904
  if (tr->sf_pids.all) {
904
  mpegts_pid_weighted(&wpid, &tr->sf_pids, lfe->sf_device->sd_pids_max);
905

  
906
  if (tr->sf_pids.all || (lfe->sf_device->sd_fullmux_ok && wpid.count > max_pids_count)) {
907
    mpegts_pid_done(&wpid);
905 908

  
906
all:
907 909
    i = tr->sf_pids_tuned.all;
908 910
    mpegts_pid_done(&tr->sf_pids_tuned);
909 911
    tr->sf_pids_tuned.all = 1;
......
918 920
  } else if (!lfe->sf_device->sd_pids_deladd ||
919 921
             tr->sf_pids_tuned.all ||
920 922
             tr->sf_pids.count == 0) {
921

  
922
    mpegts_pid_weighted(&wpid, &tr->sf_pids, lfe->sf_device->sd_pids_max);
923 923
    j = MIN(wpid.count, lfe->sf_device->sd_pids_max);
924 924
    add = alloca(1 + j * 5);
925 925
    add[0] = '\0';
......
938 938
    r = r == 0 ? 1 : r;
939 939

  
940 940
  } else {
941

  
942
    mpegts_pid_weighted(&wpid, &tr->sf_pids, lfe->sf_device->sd_pids_max);
943

  
944
    if (wpid.count > max_pids_count) {
945
      if (lfe->sf_device->sd_fullmux_ok) {
946
        mpegts_pid_done(&wpid);
947
        goto all;
948
      }
949
    }
950

  
951 941
    mpegts_pid_compare(&wpid, &tr->sf_pids_tuned, &padd, &pdel);
952 942

  
953 943
    add = alloca(1 + padd.count * 5);
(1-1/2)