Hi, James made an experiment with a different drive. https://bugzilla.redhat.com/show_bug.cgi?id=1321677#c8
He reports: > It exhibited the same behavior save that instead of duplicating > the 8 ISRC on the 9th, it duplicated the 7th on the 8th The CD-TEXT TITLE problem is not bound to a particular drive and quite easy to reproduce. But the ISRC problem seems to be partly drive dependent. Possibly it is only reproducible by your physical CD medium unless you find a free software command which i could use here to produce such a CD. (I currently assume that your ISRC got written by what is described in MMC-4 as "4.2.4.5.4 ADR=3 (0011b) – Mode-3 Q".) If you are willing to make experiments with libcdio, e.g. http://ftp.gnu.org/gnu/libcdio/libcdio-0.93.tar.bz2 then i propose you first take care that in ./lib/driver/mmc/mmc.c : mmc_get_track_isrc_private() the buffer gets fully zeroed. Further you should watch what replies the function gets from the MMC command. ---------------------------------------------------------------------- --- ./lib/driver/mmc/mmc.c.orig 2014-09-25 03:19:42.000000000 +0200 +++ ./lib/driver/mmc/mmc.c 2016-03-30 08:26:24.268567826 +0200 @@ -559,6 +559,7 @@ mmc_get_track_isrc_private ( void *p_env CDIO_MMC_SET_COMMAND(cdb.field, CDIO_MMC_GPCMD_READ_SUBCHANNEL); CDIO_MMC_SET_READ_LENGTH8(cdb.field, sizeof(buf)); + memset(buf, 0, sizeof(buf)); cdb.field[1] = 0x0; cdb.field[2] = 0x40; @@ -570,8 +571,18 @@ mmc_get_track_isrc_private ( void *p_env &cdb, SCSI_MMC_DATA_READ, sizeof(buf), buf); if(i_status == 0) { + + int i; + fprintf(stderr, "libcdio_DEBUG: After CDIO_SUBCHANNEL_TRACK_ISRC:\n"); + for (i = 9; i < sizeof(buf); i++) + fprintf(stderr, " %2.2X", (unsigned char) buf[i]); + fprintf(stderr, "\n"); + return strdup(&buf[9]); } + + fprintf(stderr, "libcdio_DEBUG: CDIO_SUBCHANNEL_TRACK_ISRC failed\n"); + return NULL; } ---------------------------------------------------------------------- Although i did not write ISRC to the subchannels of the tracks but rather to the CD-TEXT packs, the command 42h READ SUB-CHANNEL delivers the ISRC from CD-TEXT: Vendor : HL-DT-ST Model : DVDRAM GH24NSC0 Revision : LK00 ... libcdio_DEBUG: After CDIO_SUBCHANNEL_TRACK_ISRC: 58 59 42 4C 47 31 31 30 31 32 33 34 00 04 00 DB 00 00 00 TRACK 1 ISRC: XYBLG1101234 libcdio_DEBUG: After CDIO_SUBCHANNEL_TRACK_ISRC: 58 59 42 4C 47 31 31 30 30 30 30 35 00 45 00 DB 00 00 00 TRACK 2 ISRC: XYBLG1100005 libcdio_DEBUG: After CDIO_SUBCHANNEL_TRACK_ISRC: 58 59 42 4C 47 31 31 30 30 30 30 36 00 37 00 DB 00 00 00 TRACK 3 ISRC: XYBLG1100006 Have a nice day :) Thomas
