dvbv5-zap: fix all-pids record mode
authorMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 2 Dec 2013 02:35:33 +0000 (00:35 -0200)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 2 Dec 2013 02:45:15 +0000 (00:45 -0200)
the -P switch was not working fine, as the recorded mpeg file
were being corrupting. Fix it.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
utils/dvb/dvbv5-zap.c

index 5e38dd3..e4f1c9b 100644 (file)
@@ -814,12 +814,21 @@ int main(int argc, char **argv)
                        PERROR("failed opening '%s'", args.demux_dev);
                        goto err;
                }
+
                if (args.silent < 2)
                        fprintf(stderr, "  dvb_set_pesfilter %d\n", vpid);
-               if (dvb_set_pesfilter(video_fd, vpid, DMX_PES_VIDEO,
+               if (vpid == 0x2000) {
+                       if (ioctl(video_fd, DMX_SET_BUFFER_SIZE, 1024 * 1024) == -1)
+                               perror("DMX_SET_BUFFER_SIZE failed");
+                       if (dvb_set_pesfilter(video_fd, vpid, DMX_PES_OTHER,
+                                             DMX_OUT_TS_TAP, 0) < 0)
+                               goto err;
+               } else {
+                       if (dvb_set_pesfilter(video_fd, vpid, DMX_PES_VIDEO,
                                args.dvr ? DMX_OUT_TS_TAP : DMX_OUT_DECODER,
                                args.dvr ? 64 * 1024 : 0) < 0)
-                       goto err;
+                               goto err;
+               }
        }
 
        if (apid >= 0) {