libcdio-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Libcdio-devel] CD-Text patches


From: Thomas Schmitt
Subject: Re: [Libcdio-devel] CD-Text patches
Date: Fri, 02 Dec 2011 08:20:41 +0100

Hi,

> I am unsure which example you are refering to. CD-TEXT is exclusively
> written to Lead-In.

This is stated in MMC for command READ CD.
MMC-5 6.20.3.2.4 "CD-Text":
 "CD-Text may appear in CD audio tracks and the lead-in of a CD audio disc.
  [...]
  When the Starting Logical Block Address is set to F000 0000h and P-W raw
  data is selected, the Drive returns P-W raw data from the Lead-in area.
  [...]
  If the Starting Logical Block Address is set to FFFF FFFFh after the
  above command, the Sub-channel data shall be returned from the current
  location within the Lead-in area.
 "

I understand it competes with READ TOC/PMA/ATIP, Response Format 0101b:
MMC-5 6.26.3.7.1:
 "CD-TEXT Information Descriptor(s) provides Pack Data available in the
  lead-in area of the disc. Each Pack Data consists of 18 bytes of
  CD-TEXT information. If a Pack Data is recorded repeatedly on the disc,
  the device should return it only once."


The example Cue Sheet is shown by tables with command SEND CUE SHEET
in several MMC versions. E.g. Table 55 of MMC-5:

      : CTL/| TNO |INDEX| DATA| SCMS|   ABSOLUTE TIME
  Byte: ADR |     |     | FORM|     | MIN | SEC | FRAME
  -----------------------------------------------------
    0 :   01    00    00    01    00    00    00    00
    8 :   01    01    00    01    00    00    00    00
   16 :   01    01    01    00    00    00    02    00
   24 :   01    02    00    C0    00    07    29    71
   32 :   01    02    01    C0    00    07    31    71
   40 :   01    03    00    C0    00    14    18    03
   48 :   41    04    00    10    00    19    06    62
   ...
   96 :   01    AA    01    01    00    56    37    46

This one announces Sub-channel Data Form 11b for track 2.
It is defined in table 567 as:
 "PACK DATA, Host sends packed data. The Drive writes R-W. The Drive 
  calculates and overwrites ECC, and performs Interleaving for each PACK."

In contrast the one of wodim's CD-TEXT recording run:

      : CTL/| TNO |INDEX| DATA| SCMS|   ABSOLUTE TIME
  Byte: ADR |     |     | FORM|     | MIN | SEC | FRAME
  -----------------------------------------------------
    0 :   01    00    00    41    00    00    00    00
    8 :   01    01    00    00    00    00    00    00
   16 :   01    01    01    00    00    00    02    00
   24 :   01    02    00    00    00    00    04    00
   32 :   01    02    01    00    00    00    06    00
   40 :   01    03    00    00    00    00    08    00
   48 :   01    03    01    00    00    00    0A    00
   56 :   01    AA    01    01    00    00    0E    06

Here Sub-channel Data Form of the Lead-in is 01b, about which table 567
says:
 "96 [bytes] RAW Data"


> > Does anybody know an occasion or a way how CD-TEXT is written into
> > tracks ? (I.e is this in any way important ?)

> No.

The better. So i can for now restrict myself to supporting CD-TEXT in
Lead-in.


> All you need is a disc with CD-TEXT on it.

Well, the lack of such a disc kept me from exploring CD-TEXT earlier.

I understand it is not the responsibility of the burn program to
provide correct CD-TEXT, but only to store the given text at the
right place on the CD.


> > (It would be interesting to see what happens if bytes 1, 2, 3 are
> > plain 0.

> It is indeed redundant.

In man wodim i find this statement:
 "textfile=filename
    Write  CD-Text  based  on  information  found in the binary file
    filename.  This file must contain information in a  data  format
    defined  in  the  SCSI-3 MMC-2 standard and in the Red Book. The
    four byte size header that is defined in the  SCSI  standard  is
    optional and allows to make the recognition of correct data less
    ambiguous.
 "
Hard to tell whether Joerg Schilling was just annoyed by the MMC specs or
whether he did read something in the Red Book that backs his claim that
the first four bytes of each pack are optional.
The question remains what values they should bear if not those defined
in MMC-3 Annex J.

Any verification about the meaning of the fourth byte in each text pack
would be welcome. Just in case that i have to compose CD-TEXT packs from
a human readable file format.
man wodim talks of:
 "[...] CD-Text information from  *.inf  or  *.cue files [...]"

Our .cue file only mentioned the file cdtext.cdt with already prepared
packs.
What is known about these two file formats ?
Can they bear CD-TEXT as clear text which wodim would have to convert
to packs of 18 bytes ?

Do we have a description of .cue files ?
(Their name suggests that they are more or less text forms of the
 MMC Cue Sheet.)


Have a nice day :)

Thomas




reply via email to

[Prev in Thread] Current Thread [Next in Thread]