diff options
| author | Michael Roitzsch <mroi@users.sourceforge.net> | 2002-11-27 21:19:07 +0000 |
|---|---|---|
| committer | Michael Roitzsch <mroi@users.sourceforge.net> | 2002-11-27 21:19:07 +0000 |
| commit | a0a7c3a8389dd1a21f286befa638d94a90463684 (patch) | |
| tree | 7104c6fe93acf9045b78305e918e9ace3eeede75 /src/input/libdvdread/ifo_print.c | |
| parent | 4ab0fb4227cbba67eba08cc455ee38756d5e3f6b (diff) | |
| download | xine-lib-a0a7c3a8389dd1a21f286befa638d94a90463684.tar.gz xine-lib-a0a7c3a8389dd1a21f286befa638d94a90463684.tar.bz2 | |
sync to libdvdread cvs should fix segfault when playing DVDs copied to HD
thanks to Markus Plail for reporting this bug and the fix as well
CVS patchset: 3381
CVS date: 2002/11/27 21:19:07
Diffstat (limited to 'src/input/libdvdread/ifo_print.c')
| -rw-r--r-- | src/input/libdvdread/ifo_print.c | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/src/input/libdvdread/ifo_print.c b/src/input/libdvdread/ifo_print.c index ab96f9373..8dc03acd5 100644 --- a/src/input/libdvdread/ifo_print.c +++ b/src/input/libdvdread/ifo_print.c @@ -71,7 +71,7 @@ static void ifoPrint_CMD(int row, vm_cmd_t *command) { printf("%02x ", command->bytes[i]); printf("| "); - /* )vmcmd(command); */ + /* vmcmd(command); */ printf("\n"); } @@ -820,6 +820,27 @@ void ifoPrint_PTL_MAIT(ptl_mait_t *ptl_mait) { } } +void ifoPrint_VTS_TMAPT(vts_tmapt_t *vts_tmapt) { + unsigned int timeunit; + int i, j; + + printf("Number of VTS_TMAPS: %i\n", vts_tmapt->nr_of_tmaps); + //printf("Last byte: %i\n", vts_tmapt->last_byte); + + for(i = 0; i < vts_tmapt->nr_of_tmaps; i++) { + printf("TMAP %i\n", i); + printf(" Time unit (seconds): %i\n", vts_tmapt->tmap[i].tmu); + printf(" Number of entries: %i\n", vts_tmapt->tmap[i].nr_of_entries); + timeunit = vts_tmapt->tmap[i].tmu; + for(j = 0; j < vts_tmapt->tmap[i].nr_of_entries; j++) { + unsigned int ac_time = timeunit * (j + 1); + printf("Time: %2i:%02i:%02i VOBU Sector: 0x%08x %s\n", + ac_time / (60 * 60), (ac_time / 60) % 60, ac_time % 60, + vts_tmapt->tmap[i].map_ent[j] & 0x7fffffff, + (vts_tmapt->tmap[i].map_ent[j] >> 31) ? "discontinuity" : ""); + } + } +} void ifoPrint_C_ADT(c_adt_t *c_adt) { int i, entries; @@ -1018,6 +1039,14 @@ void ifoPrint(dvd_reader_t *dvd, int title) { } else { printf("No Menu PGCI Unit table present\n"); } + + printf("\nTime Search table\n"); + printf( "-----------------\n"); + if(ifohandle->vts_tmapt) { + ifoPrint_VTS_TMAPT(ifohandle->vts_tmapt); + } else { + printf("No Time Search table present\n"); + } printf("\nMenu Cell Adress table\n"); printf( "-----------------\n"); |
