[Top][All Lists]
[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: |
Tue, 06 Dec 2011 13:47:34 +0100 |
Hi,
i am pleased to report a first success of libburn with writing of CD-TEXT:
cdrskin dev=/dev/sr3 -v -sao textfile=cdtext.dat \
-audio cdtext.bin cdtext.bin cdtext.bin
The documentation still lacks of explanations for the payload format
of the pack types which are mentioned in MMC-3 appendix J by
"Packs with ID1=86h, 87h, 88h, 89h and 8Fh contains binary information
in the Text Data Field."
Is there anything known about them ?
Totally obscure:
0x86 = Disc Identification
0x88 = Table of Content information
0x89 = Second Table of Content information
I found some info in libcdio, but am still puzzled:
0x87 = Genre Identification
This seems to be quite well explored in libcdio:
0x8f = Size Information of the Block
How mandatory are they at all ?
I will next strive for creating a complete set of text packs from
user cleartext input.
Are there proposals for tests which i should do with the result ?
Currently i am digging in libcdio sources for information about CD-TEXT
entrails.
Some questions and remarks:
------------------------------------------------------------------------
In lib/driver/cdtext.c i see
static const char cdtext_genre[][30] =
which is used in function
cdtext_genre2str
But i cannot spot any usage of this function.
Is the index number in cdtext_genre[] related to the binary data in
text pack type 0x87 ?
34 : 87 00 22 00 00 1b A n i m a l S o u ed 40
35 : 87 00 23 0a 00 1b n d z 00 00 00 00 00 00 00 b6 f1
would be index 27 "Spoken Word".
------------------------------------------------------------------------
lib/driver/cdtext_private.h has this very promising info about type 0x8f.
extern const enum cdtext_charcode_enum_s
extern const enum cdtext_lang_enum_s
struct CDText_blocksize
{
uint8_t charcode; /* character code */
uint8_t i_first_track; /* first track number */
uint8_t i_last_track; /* last track number */
uint8_t copyright; /* cd-text information copyright byte */
uint8_t i_packs[16];/* number of packs of each type
* 0 TITLE; 1 PERFORMER; 2 SONGWRITER; 3 COMPOSER;
* 4 ARRANGER; 5 MESSAGE; 6 DISCID; 7 GENRE;
* 8 TOC; 9 TOC2; 10-12 RESERVED; 13 CLOSED;
* 14 UPC_ISRC; 15 BLOCKSIZE */
uint8_t lastseq[8]; /* last sequence for block 0..7 */
uint8_t langcode[8]; /* language code for block 0..7 */
} GNUC_PACKED;
But i still riddle over the copyright byte.
In cdtext.cdt it is 0.
------------------------------------------------------------------------
Can it be that this comment is wrong ?
lib/driver/cdtext.c:cdtext_data_init() has:
if (p_blocksize.i_packs[15] >= 3) {
/* if there were more than 3 BLOCKSIZE packs */
But actually the C code tests for at least 3 packs, not for more than 3.
Further i cannot see any handling of packs after the third one.
------------------------------------------------------------------------
lib/driver/cdtext_private.h has:
/*!
* The language code is encoded as specified in ANNEX 1 to part 5 of EBU
* Tech 32 58 -E (1991).
*/
I failed to find a free copy of EBU Tech 3258.
But i found the language codes in http://tech.ebu.ch/docs/tech/tech3264.pdf
Appendix 3.
It states:
"The codes are identical to those used in the systems of the MAC/packet
family, and are reproduced from the EBU specification for these systems
[3].
[...]
[3] Specification of the systems of the MAC/packet family
EBU document Tech. 3258, 1986.
"
------------------------------------------------------------------------
Have a nice day :)
Thomas
- Re: [Libcdio-devel] CD-Text patches, Thomas Schmitt, 2011/12/01
- Re: [Libcdio-devel] CD-Text patches, Leon Merten Lohse, 2011/12/01
- Re: [Libcdio-devel] CD-Text patches, Thomas Schmitt, 2011/12/02
- Re: [Libcdio-devel] CD-Text patches, Leon Merten Lohse, 2011/12/02
- Re: [Libcdio-devel] CD-Text patches, Thomas Schmitt, 2011/12/02
- Re: [Libcdio-devel] CD-Text patches,
Thomas Schmitt <=
- Re: [Libcdio-devel] CD-Text patches, Leon Merten Lohse, 2011/12/06
- Re: [Libcdio-devel] CD-Text patches, Thomas Schmitt, 2011/12/06
- Re: [Libcdio-devel] CD-Text patches, Leon Merten Lohse, 2011/12/06
- Re: [Libcdio-devel] CD-Text patches, Thomas Schmitt, 2011/12/07
- Re: [Libcdio-devel] CD-Text patches, Leon Merten Lohse, 2011/12/07
- Re: [Libcdio-devel] CD-Text patches, Thomas Schmitt, 2011/12/07
- Re: [Libcdio-devel] CD-Text patches, Rocky Bernstein, 2011/12/06