Writing SCMS into mode page 5 if TAO

1.2.0
Thomas Schmitt 11 years ago
parent 23d7867331
commit 3845e1af05
  1. 2
      cdrskin/cdrskin_timestamp.h
  2. 3
      doc/cookbook.txt
  3. 10
      libburn/mmc.c

@ -1 +1 @@
#define Cdrskin_timestamP "2012.01.01.124121"
#define Cdrskin_timestamP "2012.01.01.124330"

@ -94,6 +94,7 @@ parameters:
Write Type Packet/TAO/SAO/RAW 01h = TAO
Multi-session Whether to keep appendable 00b = finalize
11b = keep appendable
Copy Whether to deny copying 1 = deny by SCMS , 0 = allow
Track Mode Describes frame type 4 for data , 0 for audio
Data Block Type Layout of payload blocks 8 for 2048 byte data blocks
0 for 2352 byte audio blocks
@ -1489,7 +1490,7 @@ at the NWA of a sufficiently sized track.
-------------------------------------------------------------------------------
This text is copyright 2011 Thomas Schmitt <scdbackup@gmx.net>.
This text is copyright 2011 - 2012 Thomas Schmitt <scdbackup@gmx.net>.
Permission is granted to copy, modify, and distribute it, as long as the
references to the original information sources are maintained.
There is NO WARRANTY, to the extent permitted by law.

@ -4151,9 +4151,10 @@ fprintf(stderr, "libburn_EXPERIMENTAL: block_type = %d, pd[4]= %u\n",
}
/* ISRC at bytes 32 to 47. Tables 664, 671 */
/* SCMS at byte 3 bit 4 */
isrc_text[0] = 0;
if (s != NULL && o->write_type == BURN_WRITE_TAO)
if (tno >= 1 && tno <= s->tracks)
if (s != NULL && o->write_type == BURN_WRITE_TAO) {
if (tno >= 1 && tno <= s->tracks) {
if (s->track[tno - 1]->isrc.has_isrc) {
isrc = &(s->track[tno - 1]->isrc);
isrc_text[0] = isrc->country[0];
@ -4165,6 +4166,11 @@ fprintf(stderr, "libburn_EXPERIMENTAL: block_type = %d, pd[4]= %u\n",
(unsigned int) isrc->year,
isrc->serial);
}
if ((s->track[tno - 1]->mode & BURN_SCMS) &&
!(s->track[tno - 1]->mode & BURN_COPY))
pd[3] |= 0x10;
}
}
if (isrc_text[0] != 0 && d->mdata->write_page_length >= 46) {
pd[32] = 0x80; /* TCVAL */
memcpy(pd + 33, isrc_text, 12);

Loading…
Cancel
Save