blob: f51bd03762fc0cbfc57dd14690de2a4042b1423e [file] [log] [blame]
Using tt_srpt->title[].nr_of_ptts from the VMG IFO as a reference to the
chapter count is often wrong, and noted as such in the source code. Use
the program chain instead.
--- lsdvd-0.16/lsdvd.c.orig 2014-08-22 21:47:06.009490680 -0600
+++ lsdvd-0.16/lsdvd.c 2014-08-22 21:47:30.947257942 -0600
@@ -347,6 +347,7 @@
}
dvd_info.titles[j].chapter_count_reported = ifo_zero->tt_srpt->title[j].nr_of_ptts;
+ dvd_info.titles[j].chapter_count = pgc->nr_of_programs;
dvd_info.titles[j].cell_count = pgc->nr_of_cells;
dvd_info.titles[j].audiostream_count = vtsi_mat->nr_of_vts_audio_streams;
dvd_info.titles[j].subtitle_count = vtsi_mat->nr_of_vts_subp_streams;
--- lsdvd-0.16/ohuman.c.orig 2014-08-22 21:47:00.993538145 -0600
+++ lsdvd-0.16/ohuman.c 2014-08-22 21:47:45.533121749 -0600
@@ -20,7 +20,7 @@
// (int)(dvd_info->titles[j].general.length / 60) % 60,
// (float)((int)(dvd_info->titles[j].general.length * 1000) % 6000) / 1000); //,
// dvd_info->titles[j].general.length);
- printf("Chapters: %02d, Cells: %02d, ", dvd_info->titles[j].chapter_count_reported, dvd_info->titles[j].cell_count);
+ printf("Chapters: %02d, Cells: %02d, ", dvd_info->titles[j].chapter_count, dvd_info->titles[j].cell_count);
printf("Audio streams: %02d, Subpictures: %02d", dvd_info->titles[j].audiostream_count, dvd_info->titles[j].subtitle_count);
printf("\n");