-
Notifications
You must be signed in to change notification settings - Fork 96
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
Too many things are called Video #98
Comments
The issue is this is not a straightforward wrapper, if you want behavior compatible with FFmpeg you should be using the I agree that the lack of documentation is actually a problem tho, and the rustdoc output is suboptimal at best. |
I'd rather not work with ffmpeg-sys directly. I prefer the higher-level usability and safety that the wrapper is providing. I'm hoping this crate is "like ffmpeg, but with C-isms turned into Rust-isms" rather than a new library that's trying to abstract ffmpeg away with a different architecture that just happens to use ffmpeg as a back-end. That's because the audiovideo domain is full of quirks, so a thick abstraction layer is likely to be a leaky abstraction and I'm worried that a non-straightforward wrapper is just going to make debugging of what ffmpeg is doing harder. If things are named and structured the same, then I can use the tons of C ffmpeg documentation and random internet answers to get help. If they're not, then I'm dependent on your documentation or learning both your API and ffmpeg's and figuring out the mapping between them. |
Related rustdoc bug: rust-lang/rfcs#2114 |
Although Rust's namespacing makes it absolutely possible to have different structs called
Video
, it is confusing in practice, especially in Rustdoc. Rustdoc does not show module name when displaying types in function signatures, so the API reference is unclear when something takes/returns frames or codecs. Same with structs calledInput
. Rustdoc's search also doesn't search module names, so it's not possible to search for video frame specifically.Another problem is that since ffmpeg-rs doesn't have its own documentation, it's necessary to read ffmpeg's C documentation instead. However, renamed/namespaced Rust names don't match ffmpeg's C names (e.g.
AVFrame
andAVCodec
are both calledVideo
here), which makes it extra difficult to cross-reference documentation with this crate.I suggest using C names, just without the
AV
prefix.The text was updated successfully, but these errors were encountered: