Conversation
dc17eb2 to
153c93d
Compare
|
Code-wise, the branch is ready for PR (https://github.com/pac-work/mxl/tree/rust-bindings). Still, it's missing the integration with GitHub CI. @cwtchan submitted a PR (pac-work#5) with a proposal for a separate .yml file to build the Rust package. However, it does not run under the same Docker image as the C++ build. @sviengkhou and others: any help is highly appreciated. For some reason |
|
previous comment is from TSC 2025-08-07
|
|
@pedro-alves-ferreira can you share your "act" .env file or the "act" command you are using to launch your local github action? |
|
Hi Sithi,
Thanks for getting back to me on this. I managed to progress a bit more with act but then I got stuck on another step. I'm on vacation until the 19th. I'll get back to you when I'm back. Thanks!
Enviado de Outlook para Android<https://aka.ms/AAb9ysg>
…________________________________
From: sviengkhou ***@***.***>
Sent: Thursday, August 14, 2025 3:48:09 PM
To: dmf-mxl/mxl ***@***.***>
Cc: Pedro Ferreira ***@***.***>; Mention ***@***.***>
Subject: Re: [dmf-mxl/mxl] Draft: Rust bindings (PR #29)
[https://avatars.githubusercontent.com/u/15689660?s=20&v=4]sviengkhou left a comment (dmf-mxl/mxl#29)<#29 (comment)>
@pedro-alves-ferreira<https://github.com/pedro-alves-ferreira> can you share your "act" .env file or the "act" command you are using to launch your local github action?
—
Reply to this email directly, view it on GitHub<#29 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AEZI3QDJEKSCGA7SVYWNOZL3NTRXTAVCNFSM6AAAAACAZ3SBTSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTCOBZGY4DKNRWGU>.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
196fa6f to
d69f2ad
Compare
|
Hi @sviengkhou! I'm back. When you have some time to go over this, please ping me on Slack. Thanks! |
81d6dba to
eb83e4e
Compare
|
Is it ready to be properly reviewed or is it still in draft mode waiting for some decisions? I have Rust experience, and I would like to review whenever this is ready. |
Hello @mlefebvre1, thanks for the offer and sorry for late response (IBC and stuff...). It would be great if you can start taking a look at this. It is capable of reading and writing both audio and video, but it is far from providing the full spectrum of the C API. There are some TODOs which probably should be done before merging (like defining a strong type for timestamp), but overall, it shows where this is heading. Nothing is set in stone, please take it with a grain of salt and look mostly for "this has to change before this can get merged". In the future, we have hoped for async API to come, but that is really far away at this point. |
mlefebvre1
left a comment
There was a problem hiding this comment.
Overall looks good, there's some clippy warnings here and there you will have to solve.
| .mxl_release_flow_reader(self.context.instance, self.reader) | ||
| }) | ||
| { | ||
| tracing::error!("Failed to release MXL flow reader: {:?}", err); |
There was a problem hiding this comment.
I personally like using fields to record the error separately from the message like this:
tracing::error!(error = %err, "Failed to release MXL flow reader.")
It makes analysis of large amounts of logs a bit easier if you are set up for structured logging, but that is personal preference.
| # Will be used later, when we get to higher level streams based interfaces. | ||
| futures = "0.3" | ||
| thiserror = "2.0.12" | ||
| tracing = { version = "0.1", features = ["log"] } |
There was a problem hiding this comment.
If I myself am a user of the tracing library, I may not want to have all tracing events to also be emitted as log records. I would suggest to expose this as an optional feature of this library:
[features]
tracing-log = ["tracing/log"]
For this to work, this dependency needs to be moved to the mxl crates Cargo.toml
Signed-off-by: Pedro Ferreira <pedro@bisect.pt>
Signed-off-by: Pedro Ferreira <pedro@bisect.pt>
Signed-off-by: Pavel Cernohorsky <pavel.cernohorsky@appear.net>
Signed-off-by: Pavel Cernohorsky <pavel.cernohorsky@appear.net>
This feature makes the MXL Rust bindings build skip building the MXL library itself and uses the one in the main build directory of MXL instead. It got broken after recent changes. Signed-off-by: Pavel Cernohorsky <pavel.cernohorsky@appear.net>
Signed-off-by: Pavel Cernohorsky <pavel.cernohorsky@appear.net>
cargo audit was being installed twice Signed-off-by: Pedro Ferreira <pedro@bisect.pt>
Signed-off-by: Pedro Ferreira <pedro@bisect.pt>
Signed-off-by: Pedro Ferreira <pedro@bisect.pt>
Signed-off-by: Pedro Ferreira <pedro@bisect.pt>
cargo audit complained about RUSTSEC-2025-0055 Signed-off-by: Pedro Ferreira <pedro@bisect.pt>
Signed-off-by: Pedro Ferreira <pedro@bisect.pt>
Asked on Slack for guidance regarding which licenses should be accepted. Signed-off-by: Pedro Ferreira <pedro@bisect.pt>
Signed-off-by: Pedro Ferreira <pedro@bisect.pt>
Signed-off-by: Pedro Ferreira <pedro@bisect.pt>
Signed-off-by: Pedro Ferreira <pedro@bisect.pt>
The api is now returned as an Arc, which can be cloned. Signed-off-by: Pedro Ferreira <pedro@bisect.pt>
Signed-off-by: Pedro Ferreira <pedro@bisect.pt>
Signed-off-by: Pedro Ferreira <pedro@bisect.pt>
Signed-off-by: Pedro Ferreira <pedro@bisect.pt>
Signed-off-by: Pedro Ferreira <pedro@bisect.pt>
- Forks do not have enough permissions to do so. Signed-off-by: Pavel Cernohorsky <pavel.cernohorsky@appear.net>
Signed-off-by: Pavel Cernohorsky <pavel.cernohorsky@appear.net>
Signed-off-by: Pavel Cernohorsky <pavel.cernohorsky@appear.net>
0daf7e1 to
97fd9c1
Compare
Signed-off-by: Pavel Cernohorsky <pavel.cernohorsky@appear.net>
97fd9c1 to
c56f54b
Compare
Signed-off-by: Pedro Ferreira <pedro@bisect.pt>
This is a placeholder for potential integration of bindings for the Rust programing language into the main repository. It has to my knowledge not been decided yet whether this is desirable or not. Let this draft merge request serve the purpose of increasing the visibility of ongoing work until a decision how to progress with this is made.