burncd cannot write audio track when it is the 1st in the session. It must follow a data file. : burncd -m -f /dev/acd0c audio test.wav test2.wav ...... [fixate] will fail with the console messages: acd0: WRITE_BIG - ILLEGAL REQUEST asc=64 ascq=00 error=00 However, if it is preceded by a data file, it works fine: burncd [-m] -f /dev/acd0c data /tmp/zero audio test.wav test2.wav ...... [fixate] ( success ) The cdrw I am using: acd0: CD-RW <Hewlett-Packard CD-Writer Plus 9100b> at ata1-master using PIO4 How-To-Repeat: Command with: burncd [-m] -f /dev/acd0c audio [audio file] will definitely fail
Responsible Changed From-To: freebsd-bugs->sos Over to the burncd author.
State Changed From-To: open->feedback Could you plase try this patch, its valid for both -current and -stable: cvs diff: Diffing . Index: burncd.c =================================================================== RCS file: /home/ncvs/src/usr.sbin/burncd/burncd.c,v retrieving revision 1.25 diff -u -r1.25 burncd.c --- burncd.c 22 Apr 2002 13:44:42 -0000 1.25 +++ burncd.c 29 Apr 2002 20:12:17 -0000 @@ -367,13 +367,14 @@ format = CDR_SESS_CDROM_XA; if (i == 0) { - addr += tracks[i].pregap; tracks[i].addr = addr; - + cue_ent(&cue[j++], bt2ctl[tracks[i].block_type], + 0x01, i+1, 0x0, bt2df[tracks[i].block_type], + 0x00, addr); + addr += tracks[i].pregap; cue_ent(&cue[j++], bt2ctl[tracks[i].block_type], 0x01, i+1, 0x1, bt2df[tracks[i].block_type], 0x00, addr); - } else { if (tracks[i].pregap) { @@ -471,9 +472,6 @@ if (ioctl(fd, CDRIOCSETBLOCKSIZE, &track_info->block_size) < 0) err(EX_IOERR, "ioctl(CDRIOCSETBLOCKSIZE)"); - - if (track_info->addr >= 0) - lseek(fd, track_info->addr * track_info->block_size, SEEK_SET); if (verbose) fprintf(stderr, "addr = %d size = %d blocks = %dn",
Sorry to tell you that it doesn't work. Not only can it not write the audio as the first track, it cannot write after a data track: >vega# /home/leo/burncd.sos/burncd -v -m -t -f /dev/acd0c data /tmp/null audio IsLove.wav >adding type 0x08 file /tmp/null size 600 KB 300 blocks >adding type 0x00 file IsLove.wav size 39104 KB 17026 blocks (0 padded) >next writeable LBA 0 >addr = 0 size = 614400 blocks = 300 >writing from file /tmp/null size 600 KB >written this track 600 KB (100%) total 600 KB >next writeable LBA 302 >addr = 302 size = 40042880 blocks = 17026 >writing from file IsLove.wav size 39104 KB > >only wrote -1 of 37632 bytes err=5 Before patching: >vega# burncd -v -m -t -f /dev/acd0c data /tmp/null audio IsLove.wav >adding type 0x08 file /tmp/null size 600 KB 300 blocks >?adding type 0x00 file IsLove.wav size 39104 KB 17026 blocks (0 padded) >next writeable LBA 0 >addr = 0 size = 614400 blocks = 300 >writing from file /tmp/null size 600 KB >written this track 600 KB (100%) total 600 KB >next writeable LBA 302 >addr = 302 size = 40042880 blocks = 17026 >writing from file IsLove.wav size 39104 KB >written this track 39106 KB (100%) total 39706 KB Edmond Shum
State Changed From-To: feedback->closed Belived to e fixed in -current (5.1).