From: Mark Wooding Date: Mon, 7 Mar 2022 23:46:29 +0000 (+0000) Subject: dvd-sector-copy.c: Dump the event queue before we start processing it. X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/dvdrip/commitdiff_plain/d366dab789a3ed1f799e862e6906ee390dba27b3 dvd-sector-copy.c: Dump the event queue before we start processing it. --- diff --git a/dvd-sector-copy.c b/dvd-sector-copy.c index 3c779bf..833d8bd 100644 --- a/dvd-sector-copy.c +++ b/dvd-sector-copy.c @@ -936,6 +936,39 @@ end: return (rc); } +#ifdef DEBUG +static void dump_eventq(const char *what) +{ + unsigned i; + const struct event *ev; + char fn[MAXFNSZ]; + + printf("\n;; event dump (%s):\n", what); + for (i = 0; i < eventq.n; i++) { + ev = &eventq.v[i]; + switch (ev->ev) { + case EV_BEGIN: + store_filename(fn, filetab.v[ev->file].id); + printf(";; %8"PRIuSEC": begin %s\n", ev->pos, fn); + break; + case EV_END: + store_filename(fn, filetab.v[ev->file].id); + printf(";; %8"PRIuSEC": end %s\n", ev->pos, fn); + break; + case EV_WRITE: + printf(";; %8"PRIuSEC": write\n", ev->pos); + break; + case EV_STOP: + printf(";; %8"PRIuSEC": stop\n", ev->pos); + break; + default: + printf(";; %8"PRIuSEC": ?%u\n", ev->pos, ev->ev); + break; + } + } +} +#endif + int main(int argc, char *argv[]) { unsigned f = 0; @@ -1163,6 +1196,9 @@ int main(int argc, char *argv[]) } } +#ifdef DEBUG + dump_eventq("initial"); +#endif f &= ~f_write; start = 0; for (i = 0; i < eventq.n; i++) { ev = &eventq.v[i]; @@ -1174,6 +1210,9 @@ int main(int argc, char *argv[]) if (f&f_fixup) start = ev->pos; } eventq.n = i; +#ifdef DEBUG + dump_eventq("trimmed"); +#endif if (f&f_fixup) { put_event(EV_WRITE, 0, start); f |= f_write; @@ -1182,6 +1221,9 @@ int main(int argc, char *argv[]) nsectors += limit - start; put_event(EV_STOP, 0, limit); } +#ifdef DEBUG + dump_eventq("final"); +#endif copy_progress.render = render_copy_progress; progress_additem(&progress, ©_progress);