diff -Nru v4l-utils-1.10.0+r3544/debian/bzr-builder.manifest v4l-utils-1.10.0+r3548/debian/bzr-builder.manifest --- v4l-utils-1.10.0+r3544/debian/bzr-builder.manifest 2018-01-12 06:20:20.000000000 +0000 +++ v4l-utils-1.10.0+r3548/debian/bzr-builder.manifest 2018-01-16 00:32:19.000000000 +0000 @@ -1,3 +1,3 @@ -# bzr-builder format 0.3 deb-version {debupstream}+r3544-71 -lp:libv4l revid:git-v1:351eb68ac235f37f749a1c5d6ed2fae80e9dffe3 +# bzr-builder format 0.3 deb-version {debupstream}+r3548-71 +lp:libv4l revid:git-v1:4cad4bf1423fd7f668f4bac8cbed11af4c0ca315 nest packaging lp:~libv4l/+junk/packaging debian revid:gjasny@googlemail.com-20160320110140-z8p5e9zmhomgtciv diff -Nru v4l-utils-1.10.0+r3544/debian/changelog v4l-utils-1.10.0+r3548/debian/changelog --- v4l-utils-1.10.0+r3544/debian/changelog 2018-01-12 06:20:20.000000000 +0000 +++ v4l-utils-1.10.0+r3548/debian/changelog 2018-01-16 00:32:19.000000000 +0000 @@ -1,8 +1,8 @@ -v4l-utils (1.10.0+r3544-71~ubuntu17.04.1) zesty; urgency=low +v4l-utils (1.10.0+r3548-71~ubuntu17.04.1) zesty; urgency=low * Auto build. - -- Launchpad Package Builder Fri, 12 Jan 2018 06:20:20 +0000 + -- Launchpad Package Builder Tue, 16 Jan 2018 00:32:19 +0000 v4l-utils (1.10.0-2) unstable; urgency=low diff -Nru v4l-utils-1.10.0+r3544/lib/include/libdvbv5/header.h v4l-utils-1.10.0+r3548/lib/include/libdvbv5/header.h --- v4l-utils-1.10.0+r3544/lib/include/libdvbv5/header.h 2018-01-12 06:20:19.000000000 +0000 +++ v4l-utils-1.10.0+r3548/lib/include/libdvbv5/header.h 2018-01-16 00:32:18.000000000 +0000 @@ -71,6 +71,17 @@ /* Only if adaptation_field_control > 1 */ uint8_t adaptation_field_length; + /* Only if adaptation_field_length >= 1 */ + struct { + uint8_t extension:1; + uint8_t private_data:1; + uint8_t splicing_point:1; + uint8_t OPCR:1; + uint8_t PCR:1; + uint8_t priority:1; + uint8_t random_access:1; + uint8_t discontinued:1; + } __attribute__((packed)); } __attribute__((packed)); /** diff -Nru v4l-utils-1.10.0+r3544/.pc/.quilt_patches v4l-utils-1.10.0+r3548/.pc/.quilt_patches --- v4l-utils-1.10.0+r3544/.pc/.quilt_patches 2018-01-12 06:20:20.000000000 +0000 +++ v4l-utils-1.10.0+r3548/.pc/.quilt_patches 2018-01-16 00:32:19.000000000 +0000 @@ -1 +1 @@ -/home/buildd/build-RECIPEBRANCHBUILD-1514085/chroot-autobuild/home/buildd/work/tree/v4l-utils-1.10.0+r3544/debian/patches +/home/buildd/build-RECIPEBRANCHBUILD-1516616/chroot-autobuild/home/buildd/work/tree/v4l-utils-1.10.0+r3548/debian/patches diff -Nru v4l-utils-1.10.0+r3544/.pc/.quilt_series v4l-utils-1.10.0+r3548/.pc/.quilt_series --- v4l-utils-1.10.0+r3544/.pc/.quilt_series 2018-01-12 06:20:20.000000000 +0000 +++ v4l-utils-1.10.0+r3548/.pc/.quilt_series 2018-01-16 00:32:19.000000000 +0000 @@ -1 +1 @@ -/home/buildd/build-RECIPEBRANCHBUILD-1514085/chroot-autobuild/home/buildd/work/tree/v4l-utils-1.10.0+r3544/debian/patches/series +/home/buildd/build-RECIPEBRANCHBUILD-1516616/chroot-autobuild/home/buildd/work/tree/v4l-utils-1.10.0+r3548/debian/patches/series diff -Nru v4l-utils-1.10.0+r3544/utils/dvb/dvbv5-zap.c v4l-utils-1.10.0+r3548/utils/dvb/dvbv5-zap.c --- v4l-utils-1.10.0+r3544/utils/dvb/dvbv5-zap.c 2018-01-12 06:20:19.000000000 +0000 +++ v4l-utils-1.10.0+r3548/utils/dvb/dvbv5-zap.c 2018-01-16 00:32:18.000000000 +0000 @@ -109,7 +109,7 @@ {"video_pid", 'V', N_("video_pid#"), 0, N_("video pid program to use (default 0)"), 0}, {"wait", 'W', N_("time"), 0, N_("adds additional wait time for DISEqC command completion"), 0}, {"exit", 'x', NULL, 0, N_("exit after tuning"), 0}, - {"low_traffic", 'X', NULL, 0, N_("also shows DVB traffic with less then 1 packet per second"), 0}, + {"low_traffic", 'X', N_("packets_per_sec"), 0, N_("sets DVB low traffic traffic threshold. PIDs with less than this amount of packets per second will be ignored. Default: 1 packet per second"), 0}, {"cc", 'C', N_("country_code"), 0, N_("Set the default country to be used (in ISO 3166-1 two letter code)"), 0}, {"non-numan", 'N', NULL, 0, N_("Non-human formatted stats (useful for scripts)"), 0}, {"server", 'H', N_("SERVER"), 0, N_("dvbv5-daemon host IP address"), 0}, @@ -663,7 +663,7 @@ args->non_human = 1; break; case 'X': - args->low_traffic = 1; + args->low_traffic = atoi(optarg); break; case 'L': args->search = strdup(optarg); @@ -703,7 +703,8 @@ int do_traffic_monitor(struct arguments *args, struct dvb_device *dvb) { struct dvb_open_descriptor *fd, *dvr_fd; - long long unsigned pidt[0x2001], wait; + long long unsigned pidt[0x2001], wait, cont_err = 0; + signed char pid_cont[0x2001] = { -1 }; int packets = 0; struct timeval startt; struct dvb_v5_fe_parms *parms = dvb->fe_parms; @@ -767,6 +768,7 @@ } if (h->sync_byte != 0x47) { + fprintf(stderr, _("dvbtraffic: invalid sync byte. Discarding %zd bytes\n"), r); continue; } @@ -784,6 +786,31 @@ ok = 1; pid = h->pid; + /* + * Don't check continuity errors on the first second, as + * the frontend is still starting streaming + */ + if (h->adaptation_field_control && wait > 1000) { + if (h->adaptation_field_length >= 1) { + if (!h->discontinued && pid_cont[pid] >= 0) { + unsigned int next = (pid_cont[pid] + 1) % 16; + if (next != h->continuity_counter) { + fprintf(stderr, + _("dvbtraffic: pid %d, expecting %d received %d\n"), + pid, next, h->continuity_counter); + pid_cont[pid] = -1; + cont_err++; + } else { + pid_cont[pid] = h->continuity_counter; + } + } + } else { + pid_cont[pid] = -1; + } + } else { + pid_cont[pid] = -1; + } + if (args->search) { int i, sl = strlen(args->search); ok = 0; @@ -818,7 +845,7 @@ int _pid = 0; for (_pid = 0; _pid < 0x2000; _pid++) { if (pidt[_pid]) { - if (!args->low_traffic && (pidt[_pid] * 1000. / diff) < 1) + if (args->low_traffic && (pidt[_pid] * 1000. / diff) < args->low_traffic) continue; printf("%04x %9.2f p/s %8.1f Kbps ", _pid, @@ -838,6 +865,8 @@ printf("\n\n"); get_show_stats(args, parms, 0); wait += 1000; + if (cont_err) + printf("CONTINUITY errors: %llu\n", cont_err); } } } @@ -891,6 +920,7 @@ args.lna = LNA_AUTO; args.input_format = FILE_DVBV5; args.dvr_pipe = "/tmp/dvr-pipe"; + args.low_traffic = 1; if (argp_parse(&argp, argc, argv, ARGP_NO_HELP | ARGP_NO_EXIT, &idx, &args)) { argp_help(&argp, stderr, ARGP_HELP_SHORT_USAGE, PROGRAM_NAME);