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
[])
31 opt
= getopt(argc
, argv
, "h"); if (opt
< 0) break;
33 case 'h': usage(stderr
); exit(0);
34 default: f
|= f_bogus
; break;
37 if (argc
- optind
< 1) f
|= f_bogus
;
38 if (f
&f_bogus
) { usage(stderr
); exit(2); }
40 setlocale(LC_ALL
, "");
41 progress_init(&progress
);
43 for (i
= optind
; i
< argc
; i
++) {
44 open_dvd(argv
[i
], 0, &dvd
);
46 for (j
= 0; j
< 100; j
++) {
48 if (j
) kick_vob(j
, 1);
54 progress_free(&progress
);