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

Move the binding part to a -sys crate #6

Open
alexandre-janniaux opened this issue Nov 15, 2019 · 10 comments
Open

Move the binding part to a -sys crate #6

alexandre-janniaux opened this issue Nov 15, 2019 · 10 comments

Comments

@alexandre-janniaux
Copy link
Contributor

Hi,

A lot of other crates are using -sys-suffixed crate to bundle the linkage and symbols from the native underlying project. Should vlc-rs do the same ? In a libvlc-sys crate ? Is it out of the scope ?

In addition, I don't know how much bindgen has progressed but it might be a good replacement to a hand-written unsafe binding for the sys part.

@garkimasera
Copy link
Owner

My plan is to separate native libvlc symbols to libvlc-sys crate at the same time when migration to bindgen is done. But my research on the use of bindgen have not progressed. It will take some time to release libvlc-sys.

@alexandre-janniaux
Copy link
Contributor Author

Hi, did you start the migration to bindgen already ? I can provide help, and maybe help making this wrapper an official binding if you'd like to.

@garkimasera
Copy link
Owner

Official? Honestly, I don't have enough time to maintain this crate. Transferring the owner is a good choice for me.

@alexandre-janniaux
Copy link
Contributor Author

I could probably handle that given that I work almost fulltime on stuff around VLC, but I've never maintained a crate so I'm not sure I alone would be the best candidate for this in the short term unfortunately.

@garkimasera
Copy link
Owner

OK, I will maintain this for a while. The migration to bindgen has not started, but I will try it in the near future.

@alexandre-janniaux
Copy link
Contributor Author

Thank you very much ! I'll try to provide PoC too, let's use this ticket for sharing this in the short term if you agree.

@garkimasera
Copy link
Owner

OK. I created a new branch to try bindgen.

@alexandre-janniaux
Copy link
Contributor Author

The use-bindgen branch looks quite good ! 👍

@alexandre-janniaux
Copy link
Contributor Author

I'll help reviewing the MR soon.

In the mean time, I tested migration to libvlc 4.0 and fixed the necessary pieces of the wrapper. I was wondering what you expected from the wrapper itself:

  • it could be libvlc-version independant with version being exposed as features. I'm not very fan of it but clang-rs works like that.
  • it could be multiple version with backport. It needs more maintaining time but brings a clearer API and smaller package.

What do you prefer ? According to your MR you started to bring the first option ?

@garkimasera
Copy link
Owner

"v3_00" feature is a workaround when compiling in environments with libvlc v2 like Ubuntu 16.04. I have not yet determined the version strategy. The second option will be better if enable.

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