-
Notifications
You must be signed in to change notification settings - Fork 334
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
fix: Build ESDS box missing data property #378
base: master
Are you sure you want to change the base?
Conversation
Any particular reason you need the raw data and not the parsed descriptor? |
Missing the 'data' field will result in an incorrect box size, causing file parsing errors. Some video players will lose audio when playing MP4 files that lack an esds box. |
The link you've sent is for writing the boxes. Parsing of the boxes "should" skip the box if parsing of that box was not completed successfully. Lines 110 to 118 in 685f491
If you have a sample file, I could check what's wrong. |
If the this.size = (this.data ? this.data.length : 0);
this.writeHeader(stream);
if (this.data) {
stream.writeUint8Array(this.data);
} The box size value will be set to 0, and the raw Sry, my previous response was ambiguous, By 'parsing error,' I mean that certain players encounter issues, such as failing to output sound properly, when playing MP4 files generated by mp4box.js that lack an ESDS box. |
Okay I understand you now. The reason I'm hesitant to merge this is that, this is probably not limited to |
I believe the decision not to include the data for The correct approach is to write a box writer for |
closes #341