-
Notifications
You must be signed in to change notification settings - Fork 53
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
Update Clang wrapper generator and wrapper code #333
Conversation
* Add `Base.@__doc__`. * Fix type
233017c
to
b925132
Compare
Codecov Report
@@ Coverage Diff @@
## master #333 +/- ##
==========================================
+ Coverage 81.60% 82.00% +0.39%
==========================================
Files 17 10 -7
Lines 1185 1239 +54
==========================================
+ Hits 967 1016 +49
- Misses 218 223 +5
Continue to review full report at Codecov.
|
Oops the tests failed on windows because I did not import |
Sorry, somehow I missed this! This is much appreciated work!! One question is whether the move to put all functions under libffmpeg rather than AVUtil etc. as they were before loses any information/clarity? Also I believe I recall @galenlynch suggesting the idea of separating the ffmpeg wrapper out into its own package. If that was the case, what are the motivations to do so, as perhaps this could be the time to? |
Separating each header file was a feature of older Clang versions. Now as we resolve dependency by pulling out all of a header's dependency, types and constants in system headers would be duplicated in each wrapper if we split them. |
It's not hard to manually filter out those duplicated decls, see https://github.com/maleadt/LLVM.jl/blob/790a3d4b231f1fd41848710a37dd190d44e45740/res/wrap_llvmextra.jl#L37. |
I do not know why CI on windows failed with message "This check failed" with no additional log. |
Looks like GitHub CI for Windows is temporarily down. |
@galenlynch I wanted to check if you have a view on this? IMO we should merge |
These error codes are not all defined by FFMPEG. Instead, some of them are just "standard" error codes defined in Lines 21397 to 21449 in bd4061a
|
Of course. I picked a bad example :) That's great. Following this PR we can write an error code -> symbol converter for the error messages. @galenlynch I'll merge tomorrow if I don't hear otherwise :) |
The generator uses the master branch of Clang.jl (add https://github.com/JuliaInterop/Clang.jl). Most troubles come from
avptr
, but hopefully I can add a compatibility layer for this.Currently it is impossible to split different modules based on header structures because there might be problems about where to put type definitions, so I collected all of the wrappers at
libffmpeg.jl
.May fix #287.
cc @Gnimuc