Bug #3903 » patch.diff
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); |