Re: libdvdread: about pgc_command_tbl_t in ifo_read.c and ifo_types.h
H}kan Hjort <[email protected]> Sun, 4 Apr 2004 21:57:44 +0200
| Newsgroups | gmane.comp.video.ogle.devel |
|---|---|
| Message-ID | <[email protected]> |
Sun Apr 04 2004, Yi-Shin Li wrote: > Dear All, > > The data structure pgc_command_tbl_t.zero_1 (line# 266) of > ifo_types.h should actually be "last_byte". Am I correct? > It would indeed seem so. We don't really use all the info in the IFO files, and the 'last_byte' info is not of much use... It should always be equal too (or I guess larger than) PGC_COMMAND_TBL_SIZE + total * COMMAND_DATA_SIZE where total is the total number of commands (pre+post+cell). Normaly I have CHECK_ZERO() asserts on all the 'unused' entries but obviously missed this one. All the other last_byte entries are 32bit fields also... > If so, there should be a > B2N_16(cmd_tbl->last_byte); > in ifoRead_PGC_COMMAND_TBL() of ifo_read.c > Adding that should not pose a problem. I hope one is using the zero_1 identifier though. Anonymous unions would have come in handy here. > This might be a minor bug because I don't have problem using > xine with it. > No, the relevant data is still read as it shoul be, only a simple validity check is missed (and for applications that are intrested in the last_byte field). /HÃ¥kan