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

ebmlmaster.c:260: UpdateDataSize: Assertion `!EBML_ElementNeedsDataSizeUpdate(i, bWithDefault)' failed. #118

Open
knuxyl opened this issue Jan 31, 2023 · 2 comments

Comments

@knuxyl
Copy link

knuxyl commented Jan 31, 2023

Progress 1/3: 100%
Optimizing...
Remuxing...
Reclustering...
Generating Cues from scratch
Progress 2/3: 100%
The TransferCharacteristics element at 385 is not part of profile 'matroska v2', skipping
The Primaries element at 393 is not part of profile 'matroska v2', skipping
The Range element at 397 is not part of profile 'matroska v2', skipping
The ChromaSitingHorz element at 401 is not part of profile 'matroska v2', skipping
The ChromaSitingVert element at 405 is not part of profile 'matroska v2', skipping
The Colour element at 382 is not part of profile 'matroska v2', skipping
mkclean: /home/knuxyl/foundation-source/libebml2/ebmlmaster.c:260: UpdateDataSize: Assertion `!EBML_ElementNeedsDataSizeUpdate(i, bWithDefault)' failed.
Aborted

EDIT
Error arrises when vobsub subtitles are included in the mkv container. At this point I do not know if this is a bug or just not supported.

I was getting this problem with v0.9.0 so I cloned master (reports 0.10.0) and still the same issue.
Source is from a DVD rip to lossless h264 video with an ac3 audio track and vobsub from DVD. Ffmpeg was used to encode the video with the following

ffmpeg -i "input.mkv" -c:a copy -c:s copy -c:v libx264 -vf "fieldmatch, fps=24000/1001, zscale=w=640:h=480:f=lanczos" -tune animation -preset veryslow -qp 0 -pix_fmt yuv420p -color_range tv -colorspace smpte170m -color_trc smpte170m -color_primaries smpte170m -map 0 -map_metadata -1 -max_interleave_delta 0 -y "output.mkv"

-max_interleave_delta 0 is used because ffmpeg does not properly handle timecodes or something, this fixes that.

Running the following results in the error above on 2 different machines (an intel xeon w-1290t and a amd threadripper 3945wx)

mkclean --remux --optimize output.mkv

Here is the example video, but it is not the only one giving me this exact same issue.
https://drive.google.com/file/d/1PwW8hCpensf8Zop-N98oyq4DKRXDw1tb/view?usp=sharing

@rotational467
Copy link

I have been running into this exact error with both .9 and .10 after building from source w/ no errors on Ubuntu. Does not occur with pre-built .9 Win64 binary.

vobsub subs are not the (only) cause, I get this on HEVC+PGS MKVs encoded with handbrake. It occurs when the --optimize switch is used, if using only --remux it succeeds (it also works with only --keep-cues).

I need to do more testing unrelated to this problem but which I need mkclean for, so I will try to provide a more comprehensive matrix of what does and doesn't trigger it.

@rotational467
Copy link

rotational467 commented May 8, 2023

Using an MKV containing HEVC, DTS-HD MA, and PGS subs that I ripped and encoded some time ago with Handbrake 1.0.7 w/x265 2.4, I tried the following with .10 on Ubuntu 22.04:

--keep-cues - pass
--remux - pass
--live - pass
--unsafe - pass
--optimize - fail
--optimize_nv - fail
--no-optimize - fail

All three failures produced identical output:

xxx@xxx:/mnt/scratch/cleanup$ sudo -u xxx mkclean --optimize Futurama\ -\ S06E19\ -\ Yo\ Leela\ Leela.mkv futuramatest_optimize.mkv

Progress 1/3: 100%

The Tag element at 2573 is missing mandatory element SimpleTag

The Tag element at 2597 is missing mandatory element SimpleTag

mkclean: /home/xxx/compile/foundation-source/libebml2/ebmlmaster.c:247: UpdateDataSize: Assertion `CheckMandatory((ebml_master*)Element, bWithDefault, ForProfile)' failed.

Aborted

This is not the same exact error reported here, however I can reproduce that error with an MKV containing AVC, DTS-HD MA, and PGS subs (which I did not rip/encode):

xxx@xxx:/mnt/scratch/cleanup$ sudo -u xxx mkclean --optimize Star\ Trek\ -\ Enterprise\ -\ S03E05\ -\ Impulse.mkv startrek_optimize.mkv

Progress 1/3: 100%

Optimizing...

Generating Cues from scratch

Progress 2/3: 100%

The MinCache element at 4359 is not part of profile 'matroska v2', skipping

mkclean: /home/xxx/compile/foundation-source/libebml2/ebmlmaster.c:260: UpdateDataSize: Assertion `!EBML_ElementNeedsDataSizeUpdate(i, bWithDefault)' failed.

Aborted

Behavior with other mkclean options is the same as the HEVC file above.

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

No branches or pull requests

2 participants