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
)
13 store_filename(fn
, mkident(VOB
, index
, titlep
));
14 start
= UDFFindFile(dvd
, fn
, &len
);
17 vob
= DVDOpenFile(dvd
, index
,
18 titlep ? DVD_READ_TITLE_VOBS
: DVD_READ_MENU_VOBS
);
19 if (!vob
) bail("failed to open %s %d", titlep ?
"title" : "menu", index
);
23 int main(int argc
, char *argv
[])
32 opt
= getopt(argc
, argv
, "h"); if (opt
< 0) break;
34 case 'h': usage(stderr
); exit(0);
35 default: f
|= f_bogus
; break;
38 if (argc
- optind
!= 1) f
|= f_bogus
;
39 if (f
&f_bogus
) { usage(stderr
); exit(2); }
41 setlocale(LC_ALL
, "");
42 progress_init(&progress
);
44 open_dvd(argv
[optind
], 0, &dvd
);
46 for (i
= 0; i
< 100; i
++) {
48 if (i
) kick_vob(i
, 1);
51 if (dvd
) DVDClose(dvd
);
52 progress_free(&progress
);