From 3b81dd51a260f72e95a3cda9614d6bc7ddcecfb2 Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Fri, 25 Oct 2002 14:41:44 +0000 Subject: [PATCH] Some editorial cleanup from proof. svn path=/trunk/vorbis/; revision=4047 --- doc/xml/05-comment.xml | 101 +++++++++++++++++++++++-------------------------- 1 file changed, 48 insertions(+), 53 deletions(-) diff --git a/doc/xml/05-comment.xml b/doc/xml/05-comment.xml index 88c9cef..71ef341 100644 --- a/doc/xml/05-comment.xml +++ b/doc/xml/05-comment.xml @@ -1,7 +1,7 @@
- $Id: 05-comment.xml,v 1.2 2002/10/13 15:18:46 giles Exp $ + $Id: 05-comment.xml,v 1.3 2002/10/25 14:41:44 giles Exp $ Last update to this document: July 16, 2002 @@ -11,7 +11,7 @@
Overview The Vorbis text comment header is the second (of three) header -packets that begin a Vorbis bitstream. It is meant for short, text +packets that begin a Vorbis bitstream. It is meant for short text comments, not arbitrary metadata; arbitrary metadata belongs in a separate logical bitstream (usually an XML stream type) that provides greater structure and machine parseability. @@ -24,8 +24,8 @@ more than a short paragraph. The essentials, in other words, whatever they turn out to be, eg:
-Honest Bob and the Factory-to-Dealer-Incentives, _I'm Still -Around_, opening for Moxy Fruvous, 1997. +Honest Bob and the Factory-to-Dealer-Incentives, I'm Still +Around, opening for Moxy Früvous, 1997.
@@ -36,13 +36,13 @@ Around_, opening for Moxy Fruvous, 1997.
Structure -The comment header logically is a list of eight-bit-clean vectors; the +The comment header is logically a list of eight-bit-clean vectors; the number of vectors is bounded to 2^32-1 and the length of each vector is limited to 2^32-1 bytes. The vector length is encoded; the vector contents themselves are not null terminated. In addition to the vector list, there is a single vector for vendor name (also 8 bit clean, -length encoded in 32 bits). Libvorbis currently sets the vendor string -to "Xiph.Org libVorbis I 20020717". +length encoded in 32 bits). The 1.0 release of libvorbis sets the +vendor string to "Xiph.Org libVorbis I 20020717". The comment header is decoded as follows: @@ -55,7 +55,7 @@ to "Xiph.Org libVorbis I 20020717". 6) this iteration's user comment = read a UTF-8 vector as [length] octets } 7) [framing_bit] = read a single bit as boolean - 8) if ( [framing_bit] unset or end of packet ) then ERROR + 8) if ( [framing_bit] unset or end-of-packet ) then ERROR 9) done. @@ -66,30 +66,30 @@ to "Xiph.Org libVorbis I 20020717". The comment vectors are structured similarly to a UNIX environment variable. -That is, comment fields consist of a field name and a field value and +That is, comment fields consist of a field name and a corresponding value and look like: - +
comment[0]="ARTIST=me"; comment[1]="TITLE=the sound of Vorbis"; - +
- - - A case-insensitive field name that may consist of ASCII 0x20 - through 0x7D, 0x3D ('=') excluded. ASCII 0x41 through 0x5A inclusive - (A-Z) is to be considered equivalent to ASCII 0x61 through 0x7A inclusive - (a-z). - - - The field name is immediately followed by ASCII 0x3D ('='); - this equals sign is used to terminate the field name. - - - 0x3D is followed by 8 bit clean UTF-8 encoded field contents - to the end of the field. - - + +The field name is case-insensitive and may consist of ASCII 0x20 +through 0x7D, 0x3D ('=') excluded. ASCII 0x41 through 0x5A inclusive +(characters A-Z) is to be considered equivalent to ASCII 0x61 through +0x7A inclusive (characters a-z). + + + +The field name is immediately followed by ASCII 0x3D ('='); +this equals sign is used to terminate the field name. + + + +0x3D is followed by 8 bit clean UTF-8 encoded value of the +field contents to the end of the field. +
Field names @@ -181,7 +181,7 @@ the 'record label') ISRC -ISRC number for the +International Standard Recording Code for the track; see the ISRC intro page for more information on ISRC numbers. @@ -194,41 +194,36 @@ intro page for more information on ISRC numbers.
Implications - - - Field names should not be 'internationalized'; this is a +Field names should not be 'internationalized'; this is a concession to simplicity not an attempt to exclude the majority of -the world that doesn't speak English. Field *contents*, however, -are represented in UTF-8 to allow easy representation of any +the world that doesn't speak English. Field contents +however, use the UTF-8 character encoding to allow easy representation of any language. - - - We have the length of the entirety of the field and restrictions on + +We have the length of the entirety of the field and restrictions on the field name so that the field name is bounded in a known way. Thus we also have the length of the field contents. - - Individual 'vendors' may use non-standard field names within + +Individual 'vendors' may use non-standard field names within reason. The proper use of comment fields should be clear through context at this point. Abuse will be discouraged. - - - There is no vendor-specific prefix to 'nonstandard' field names. + +There is no vendor-specific prefix to 'nonstandard' field names. Vendors should make some effort to avoid arbitrarily polluting the common namespace. We will generally collect the more useful tags here to help with standardization. - - - Field names are not required to be unique (occur once) within a + +Field names are not required to be unique (occur once) within a comment header. As an example, assume a track was recorded by three well know artists; the following is permissible, and encouraged: - - ARTIST=Dizzy Gillespie - ARTIST=Sonny Rollins - ARTIST=Sonny Stitt - - - - + +
+ARTIST=Dizzy Gillespie +ARTIST=Sonny Rollins +ARTIST=Sonny Stitt +
+ +
@@ -274,7 +269,7 @@ bitstream octet first): -This is actually somewhat easier to describe in code; implementation of the above can be found in vorbis/lib/info.c:_vorbis_pack_comment(),_vorbis_unpack_comment() +This is actually somewhat easier to describe in code; implementation of the above can be found in vorbis/lib/info.c, _vorbis_pack_comment() and _vorbis_unpack_comment().
-- 2.7.4