summaryrefslogtreecommitdiff
path: root/src/input/libdvdread/ifo_print.c
diff options
context:
space:
mode:
authorMichael Roitzsch <mroi@users.sourceforge.net>2002-11-27 21:19:07 +0000
committerMichael Roitzsch <mroi@users.sourceforge.net>2002-11-27 21:19:07 +0000
commita0a7c3a8389dd1a21f286befa638d94a90463684 (patch)
tree7104c6fe93acf9045b78305e918e9ace3eeede75 /src/input/libdvdread/ifo_print.c
parent4ab0fb4227cbba67eba08cc455ee38756d5e3f6b (diff)
downloadxine-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.c31
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");