Skip to content

Commit

Permalink
Scheme fixes corresponding with spec
Browse files Browse the repository at this point in the history
See https://github.com/ietf-wg-cellar/matroska-specification/blob/master/ebml_matroska.xml

- Slices maxver is 0

See https://github.com/ietf-wg-cellar/ebml-specification/blob/master/ebml.xml

- CRC-32 description missing ending period.
- EBMLMaxIDLength range missing ">="
- EBMLMaxSizeLength should be "not 0"
- Deprecated Signature-related elements are at level 2 (SignatureSlot at level 1) (see ietf-wg-cellar/ebml-specification#391 (comment))
- EBML element is maxOccurs 1 so can't be multiple
  • Loading branch information
davedoesdev committed Jul 1, 2022
1 parent 0194123 commit d2552da
Showing 1 changed file with 11 additions and 11 deletions.
22 changes: 11 additions & 11 deletions lib/schema.js
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ var byEbmlID = {
name: "Slices",
level: 3,
type: "m",
maxver: 1,
maxver: 0,
description: "Contains slices description."
},
0x8f: {
Expand Down Expand Up @@ -337,7 +337,7 @@ var byEbmlID = {
type: "b",
minver: 1,
webm: false,
description: "The CRC is computed on all the data of the Master element it's in. The CRC element should be the first in it's parent master for easier reading. All level 1 elements should include a CRC-32. The CRC in use is the IEEE CRC32 Little Endian",
description: "The CRC is computed on all the data of the Master element it's in. The CRC element should be the first in it's parent master for easier reading. All level 1 elements should include a CRC-32. The CRC in use is the IEEE CRC32 Little Endian.",
crc: true
},
0xc0: {
Expand Down Expand Up @@ -744,15 +744,15 @@ var byEbmlID = {
type: "u",
mandatory: true,
"default": "4",
range: "4"
range: ">=4"
},
0x42f3: {
name: "EBMLMaxSizeLength",
level: 1,
type: "u",
mandatory: true,
"default": "8",
range: "1-8"
range: "not 0"
},
0x42f7: {
name: "EBMLReadVersion",
Expand Down Expand Up @@ -1707,7 +1707,7 @@ var byEbmlID = {
},
0x6532: {
name: "SignedElement",
level: 3,
level: 2,
type: "b",
multiple: true,
webm: false,
Expand Down Expand Up @@ -2044,28 +2044,28 @@ var byEbmlID = {
},
0x7e8a: {
name: "SignatureAlgo",
level: 1,
level: 2,
type: "u",
webm: false,
description: "Signature algorithm used (1=RSA, 2=elliptic)."
},
0x7e9a: {
name: "SignatureHash",
level: 1,
level: 2,
type: "u",
webm: false,
description: "Hash algorithm used (1=SHA1-160, 2=MD5)."
},
0x7ea5: {
name: "SignaturePublicKey",
level: 1,
level: 2,
type: "b",
webm: false,
description: "The public key to use with the algorithm (in the case of a PKI-based signature)."
},
0x7eb5: {
name: "Signature",
level: 1,
level: 2,
type: "b",
webm: false,
description: "The signature of the data (until a new."
Expand Down Expand Up @@ -2269,13 +2269,13 @@ var byEbmlID = {
level: "0",
type: "m",
mandatory: true,
multiple: true,
multiple: false,
minver: 1,
description: "Set the EBML characteristics of the data to follow. Each EBML document has to start with this."
},
0x1b538667: {
name: "SignatureSlot",
level: -1,
level: 1,
type: "m",
multiple: true,
webm: false,
Expand Down

0 comments on commit d2552da

Please sign in to comment.