Package: dvdauthor Version: 0.6.11-1 Severity: important Tags: patch After running dvdauthor to create a DVD filesystem tree, I run mkisofs with the -dvd-video to create a filesystem image from this. In some cases this results in the following error messages:
mkisofs: Either VIDEO_TS.IFO or VIDEO_TS.VOB is not of correct size. mkisofs: Unable to parse DVD-Video structures. mkisofs: Unable to make a DVD-Video image. I examined the mkisofs source and found that this message could actually be triggered by files other than those named, so I edited it to report the correct names and also the values of the variables used in the comparison. I found that VTS_01_0.IFO was the culprit in this case. The variables mkisofs tests before emitting this error message, and their values in this case, are: vts_ifo->vtsi_mat->vts_last_sector = 3695431 DVDFileSize(vts_ifo_file) = 316 (sectors in VTS_01_0.IFO) DVDFileSize(vts_title_file) = 3694824 (sectors in VTS_01_[1-8].VOB) DVDFileSize(vts_menu_file) = 232 (sectors in VTS_01_0.vOB) mkisofs expects that vts_ifo->vtsi_mat->vts_last_sector + 1 >= 2 * DVDFileSize(vts_ifo_file) + DVDFileSize(vts_title_file) + DVDFileSize(vts_menu_file), which seems reasonable to me. In this case the left hand side is smaller by 256. To cut a long story short, I found that the WriteIFO function in dvdifo.c only writes a single byte for many of the sector numbers used in the IFO file, so it only works so long as the IFO file takes up less than 256 sectors. This is generally true, but this titleset contains an unusually large amount of video (over 30 hours). I have changed dvdifo.c to write sector numbers as 4 bytes, on the assumption that this is the correct length of the fields, which satisfies mkisofs in at least this case. However I do not have documentation of the IFO file format and I have not yet had a chance to check the resulting image in a DVD player. A patch follows. --- dvdauthor-0.6.11/src/dvdifo.c.orig 2005-08-16 14:18:20.893116876 +0100 +++ dvdauthor-0.6.11/src/dvdifo.c 2005-08-16 14:22:03.065885528 +0100 @@ -371,43 +371,43 @@ write4(buf+128,0x7ff); i=1; - buf[0xCB]=i; // VTS_PTT_SRPT + write4(buf+0xC8,i); // VTS_PTT_SRPT i+=Create_PTT_SRPT(0,ws->titles); - buf[0xCF]=i; // VTS_PGCI + write4(buf+0xCC,i); // VTS_PGCI i+=CreatePGC(0,ws,0); if( jumppad || forcemenus ) { - buf[0xD3]=i; // VTSM_PGCI + write4(buf+0xD0,i); // VTSM_PGCI i+=CreatePGC(0,ws,1); } - buf[0xD7]=i; // VTS_TMAPT + write4(buf+0xD4,i); // VTS_TMAPT i+=numsectTMAPT(ws->titles); if( jumppad || forcemenus ) { - buf[0xDB]=i; // VTSM_C_ADT + write4(buf+0xD8,i); // VTSM_C_ADT i+=CreateCallAdr(0,ws->menus->vg); - buf[0xDF]=i; // VTSM_VOBU_ADMAP + write4(buf+0xDC,i); // VTSM_VOBU_ADMAP i+=numsectVOBUAD(ws->menus->vg); } - buf[0xE3]=i; // VTS_C_ADT + write4(buf+0xE0,i); // VTS_C_ADT i+=CreateCallAdr(0,ws->titles->vg); - buf[0xE7]=i; // VTS_VOBU_ADMAP + write4(buf+0xE4,i); // VTS_VOBU_ADMAP i+=numsectVOBUAD(ws->titles->vg); - buf[31]=i-1; + write4(buf+28,i-1); if( jumppad || forcemenus ) { - buf[0xC3]=i; + write4(buf+0xC0,i); i+=getvoblen(ws->menus->vg); } write4(buf+0xC4,i); if( ws->titles->numpgcs ) i+=getvoblen(ws->titles->vg); - i+=buf[31]; + i+=read4(buf+28); write4(buf+12,i); if( jumppad || forcemenus ) -- System Information: Debian Release: 3.1 APT prefers testing APT policy: (990, 'testing'), (600, 'unstable') Architecture: i386 (i686) Kernel: Linux 2.6.8-2-k7 Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) Versions of packages dvdauthor depends on: ii libbz2-1.0 1.0.2-7 high-quality block-sorting file co ii libc6 2.3.2.ds1-22 GNU C Library: Shared libraries an ii libdps1 4.3.0.dfsg.1-14 Display PostScript (DPS) client li ii libdvdread3 0.9.4-5 Simple foundation for reading DVDs ii libfreetype6 2.1.7-2.4 FreeType 2 font engine, shared lib ii libfribidi0 0.10.4-6 Free Implementation of the Unicode ii libice6 4.3.0.dfsg.1-14 Inter-Client Exchange library ii libjasper-1.701-1 1.701.0-2 The JasPer JPEG-2000 runtime libra ii libjpeg62 6b-10 The Independent JPEG Group's JPEG ii liblcms1 1.13-1 Color management library ii libmagick6 6:6.0.6.2-2.4 Image manipulation library ii libpng12-0 1.2.8rel-1 PNG library - runtime ii libsm6 4.3.0.dfsg.1-14 X Window System Session Management ii libtiff4 3.7.2-3 Tag Image File Format (TIFF) libra ii libx11-6 4.3.0.dfsg.1-14 X Window System protocol client li ii libxext6 4.3.0.dfsg.1-14 X Window System miscellaneous exte ii libxml2 2.6.16-7 GNOME XML library ii libxt6 4.3.0.dfsg.1-14 X Toolkit Intrinsics ii xlibs 4.3.0.dfsg.1-14 X Keyboard Extension (XKB) configu ii zlib1g 1:1.2.2-4.sarge.2 compression library - runtime -- no debconf information -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]