mkvparser: Correct the ReadID implementation.
Return real, known MKV IDs when reading them. Previously IDs were treated as EBML integer values. This was both wrong and confusing. Wrong because this results in values that are not part of the Matroska spec, and confusing because the code was littered with magic numbers representing the invented IDs. Currently uses mkvmuxer::MkvId; A TODO in the code addresses this. Additional IDs have been added that were not previously in the enum: mkvparser parses many elements that we do not write in the muxer. Change-Id: I5db2b4d70d786d5239d2e2a0cbff4e7f8d844aa6
This commit is contained in:
parent
eb36ae4840
commit
cec98d4110
477
mkvparser.cpp
477
mkvparser.cpp
File diff suppressed because it is too large
Load Diff
@ -41,6 +41,7 @@ enum MkvId {
|
||||
kMkvTimecodeScale = 0x2AD7B1,
|
||||
kMkvDuration = 0x4489,
|
||||
kMkvDateUTC = 0x4461,
|
||||
kMkvTitle = 0x7BA9,
|
||||
kMkvMuxingApp = 0x4D80,
|
||||
kMkvWritingApp = 0x5741,
|
||||
// Cluster
|
||||
@ -107,9 +108,16 @@ enum MkvId {
|
||||
kMkvContentEncodingOrder = 0x5031,
|
||||
kMkvContentEncodingScope = 0x5032,
|
||||
kMkvContentEncodingType = 0x5033,
|
||||
kMkvContentCompression = 0x5034,
|
||||
kMkvContentCompAlgo = 0x4254,
|
||||
kMkvContentCompSettings = 0x4255,
|
||||
kMkvContentEncryption = 0x5035,
|
||||
kMkvContentEncAlgo = 0x47E1,
|
||||
kMkvContentEncKeyID = 0x47E2,
|
||||
kMkvContentSignature = 0x47E3,
|
||||
kMkvContentSigKeyID = 0x47E4,
|
||||
kMkvContentSigAlgo = 0x47E5,
|
||||
kMkvContentSigHashAlgo = 0x47E6,
|
||||
kMkvContentEncAESSettings = 0x47E7,
|
||||
kMkvAESSettingsCipherMode = 0x47E8,
|
||||
kMkvAESSettingsCipherInitData = 0x47E9,
|
||||
|
Loading…
x
Reference in New Issue
Block a user