diff -Nurp libdvdnav-4.2.0+20130225/src/vm/vm.c libdvdnav-4.2.0+20130225-lp1094499/src/vm/vm.c --- libdvdnav-4.2.0+20130225/src/vm/vm.c 2013-03-13 10:45:20.000000000 -0700 +++ libdvdnav-4.2.0+20130225-lp1094499/src/vm/vm.c 2013-04-12 16:03:11.492203363 -0700 @@ -1774,12 +1774,15 @@ static int set_VTS_PROG(vm_t *vm, int vt } static int set_FP_PGC(vm_t *vm) { + fprintf(MSG_OUT, "lp1094499: set_FP_PGC(vm=%p)\n", vm); (vm->state).domain = DVD_DOMAIN_FirstPlay; if (!vm->vmgi->first_play_pgc) { return set_PGCN(vm, 1); } (vm->state).pgc = vm->vmgi->first_play_pgc; (vm->state).pgcN = vm->vmgi->vmgi_mat->first_play_pgc; + fprintf(MSG_OUT, "lp1094499: .pgc=%p\n", (vm->state).pgc); + fprintf(MSG_OUT, "lp1094499: .pgcN=%d)\n", (vm->state).pgcN); return 1; } @@ -1792,10 +1795,14 @@ static int set_MENU(vm_t *vm, int menu) static int set_PGCN(vm_t *vm, int pgcN) { pgcit_t *pgcit; + fprintf(MSG_OUT, "lp1094499: set_PGCN(vm=%p, pgcN=%d)\n", vm, pgcN); + pgcit = get_PGCIT(vm); if (pgcit == NULL) return 0; + fprintf(MSG_OUT, "lp1094499: pgcit=%p\n", pgcit); + if(pgcN < 1 || pgcN > pgcit->nr_of_pgci_srp) { #ifdef TRACE fprintf(MSG_OUT, "libdvdnav: ** No such pgcN = %d\n", pgcN); @@ -1806,6 +1813,8 @@ static int set_PGCN(vm_t *vm, int pgcN) (vm->state).pgc = pgcit->pgci_srp[pgcN - 1].pgc; (vm->state).pgcN = pgcN; (vm->state).pgN = 1; + fprintf(MSG_OUT, "lp1094499: .pgc=%p\n", (vm->state).pgc); + fprintf(MSG_OUT, "lp1094499: .pgcN=%d\n", (vm->state).pgcN); if((vm->state).domain == DVD_DOMAIN_VTSTitle) (vm->state).TT_PGCN_REG = pgcN;