3 static void usage(FILE *fp) { fprintf(fp, "usage: %s DEVICE\n", prog); }
5 static dvd_reader_t *dvd;
7 static void kick_vob(unsigned index, unsigned titlep)
11 vob = DVDOpenFile(dvd, index,
12 titlep ? DVD_READ_TITLE_VOBS : DVD_READ_MENU_VOBS);
13 if (!vob) bail("failed to open %s %d", titlep ? "title" : "menu", index);
17 int main(int argc, char *argv[])
27 opt = getopt(argc, argv, "h"); if (opt < 0) break;
29 case 'h': usage(stderr); exit(0);
30 default: f |= f_bogus; break;
33 if (argc - optind != 1) f |= f_bogus;
34 if (f&f_bogus) { usage(stderr); exit(2); }
36 setlocale(LC_ALL, "");
37 progress_init(&progress);
39 open_dvd(argv[optind], 0, &dvd);
41 for (i = 0; i < 100; i++) {
42 store_filename(fn, mkident(VOB, i, 0));
43 start = UDFFindFile(dvd, fn, &len); if (start) kick_vob(i, 0);
45 store_filename(fn, mkident(VOB, i, 1));
46 start = UDFFindFile(dvd, fn, &len); if (start) kick_vob(i, 1);
50 if (dvd) DVDClose(dvd);
51 progress_free(&progress);