-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Invalid ebml #1
base: master
Are you sure you want to change the base?
Invalid ebml #1
Conversation
|
||
## currently_undefined_EBMLVersion.mkv | ||
|
||
The EBMLVersion is restricted to a range of defined values. At the time of this writing, only EBMLVersion=1 is defined. This value has an EBMLVersion of 255. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's valid if EBMLReadVersion
is 1, and it is the default value. So if it's not written, the file is valid.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm confused on the issue with this file. Here is the start of the output of mkvinfo:
mkvinfo /Users/drice/github/matroska-test-files/invalid_ebml/currently_undefined_EBMLVersion.mkv
+ EBML head
|+ EBML version: 255
|+ EBML read version: 1
|+ EBML maximum ID length: 4
|+ EBML maximum size length: 8
|+ Doc type: matroska
|+ Doc type version: 4
|+ Doc type read version: 2
Presently EBMLVersion has a range="1" meaning that if the EBMLVersion is there and not an Empty Element than the value (until EBML 2 is defined) must be "1".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ping
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, the question is that range=1
. IMO this is invalid. If one day there's EBML 2 they will not be considered valid EBML files because they are not in the range. But there's EBMLReadVersion
for that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Next time do a PR per file (I know it's tricky to merge) because if one file needs to be changed it's blocking the whole set (and thus other files that may come too). |
Sample invalid files based on updated EBML specification work.