
On Tue, Feb 13, 2007 at 10:44:57PM +0100, Michael Niedermayer wrote:
OK. Proposed new description:
"Language" An ISO 639-2 (three-letter) language code, e.g. "eng" for English (see <http://www.loc.gov/standards/iso639-2/php/code_list.php>). All codes defined in ISO 639-2 are allowed, including "und" (Undetermined), "mul" (Multiple languages) and the bibliographic/ terminology variants. For historical reasons, demuxers MUST treat "multi" like "mul" and "" (the empty string) like "und".
Historical reasons?? There are no such files, and this is a draft (albeit frozen) spec. I don't see any way that translating "multi" to "mul" and "" to "und" would improve functionality over just treating them as an unexpected value. If there's cruft in the spec that can be removed without really hurting anything, I'd like to remove it.
well then lets add a "a muxer MUST ignore unknown language and country codes instead of treating them as an error"
Certainly. It's almost essential from a practical standpoint anyway, since (I suppose... am I wrong?) language codes could be added to 639-2 after your implementation was released, making your implementation suddenly become non-compliant if you rejected them. Anyway from a usability standpoint, I think the important feature is that a piece of software, when searching for a given (known) language, is able to find such a stream if one exists. This doesn't require any semantic interpretation of the codes, just an agreement on which codes will be used. Rich