-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Description
What's the status of the project?
I want to change a few properties and drop some others in WEBM files. This project seems to be the most well-suited for the task. The alternatives I found are:
- https://github.com/OlegZee/NEbml — barebones EBML implementation, with Matroska support being a small example project
- https://github.com/StefH/Matroska — strongly-typed Matroska stuff, but focused exclusively on deserialization and with tons of reflection; based on forked NEbml
This project, SpawnDev.EBML, supports Matroska serialization, specifically deals with CRC and SeekHeads. However, the main problem is that it's hard to get it to work.
- I've tried referencing NuGet package. For some reason, my code just couldn't see any types in the referenced library. I couldn't figure out why. No warnings.
- Tried referencing a DLL directly, same thing. Doesn't work, no errors. At this point I thought I'm going crazy.
- Added Git repository as a submodule. The version in the master branch references a project which doesn't exist with a relative path.
- Tried switching to a release version. No tags in the repository, and the commit messages are largely meaningless.
- Switched to the "good build" commit f5b4b53. Building it on .NET 10 failed because of
Reversechanges, even though R# didn't notice any issues. - Switched to .NET 10 and fixed whatever the issues with
Reversewere. It finally ran. - Tried loading document from file stream. Everything broke after I released it. Copied to
MemoryStream. It loaded the file. - I tried using
GetElementmethod. Found out there's no documentation on how it works. Couldn't find a way to reliably select items I need. - Switched to manual traversal. Finally got it to work.
So:
- Could you please add tags to the commits which reflect NuGet releases?
- Are there any plans to finish the version in the master branch, which seems to be 3.0?
- If you have any hints or guidance on my troubles, please share.
Ideally, I'd love a strongly-typed Matroska file support, with your patching implementation, and I can help with implementing it, but I'll need the project to get to a stable state before I contribute anything.
Metadata
Metadata
Assignees
Labels
No labels