Skip to content
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

Open
wants to merge 21 commits into
base: master
Choose a base branch
from
Open

Invalid ebml #1

wants to merge 21 commits into from

Conversation

dericed
Copy link
Contributor

@dericed dericed commented Sep 18, 2016

Sample invalid files based on updated EBML specification work.


## 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.
Copy link
Contributor

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.

Copy link
Contributor Author

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".

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ping

Copy link
Contributor

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.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@robUx4
Copy link
Contributor

robUx4 commented Sep 19, 2016

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).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants