[vlc-devel] Add rust backed cuesheet parser

Thomas Guillem thomas at gllm.fr
Wed Sep 23 09:40:22 CEST 2020



On Wed, Sep 23, 2020, at 08:58, Kartik Ohri wrote:
> Hi!
> If there are no objections, can this patchset be merged ?

No, it can't be merged as it is. TODO:
 - proper configure integration: --disable-rust/--enable-rust
 - Decide if it's enabled or not by default
 - Decide it rust build can break because we don't want to bother C developers to fix Rust code for now.
 - Using cargo from system or from contrib ?
 - CI integration
 - Rust fmt integration

> Thanks.
> Regards,
> Kartik
> 
> On Sun, Sep 20, 2020 at 2:39 AM Kartik Ohri <kartikohri13 at gmail.com> wrote:
>> This patchset aims to introduce a rust based cuesheet parsing
>> module.
>> 
>> Changes since RFC v2 are as follows:
>> 
>>         - Added a utils module to vlccore-rs
>>                 This module can contain commonly used utilities for Rust
>>                 modules. For instance, passing Rust allocated strings to
>>                 C code. This is an easy thing to mess up. Rust allocated
>>                 pointers should not be free()`ed in C code. Hence, a
>>                 utility method is provided in vlccore-rs::utils to 
>>                 ensure such issues are avoided.
>> 
>>         - Added cargo workspace to src and modules.
>>                 This will be particularly beneficial while integrating
>>                 rustfmt in CI and running tests for Rust modules.
>> 
>>         - Make the cuesheet module a mock module.
>>                 Since, there is already a lua based cuesheet parser
>>                 available in VLC and the aim of this module is to serve
>>                 as an example, it makes sense only to build the module
>>                 but not install it.
>> 
>>         - Use vlc_stream_Control instead of vlc_stream_vaControl
>> 
>>         - Other suggestions fron Code Review
>> 
>> Changes left out for now:
>> 
>>         Since, cargo is not yet available in the CI. Adding rustfmt
>>         to CI and integrating rust tests in the buildsystem has been
>>         left for now. Thomas has offered to integrate cargo in the
>>         CI soon. Once, that is done we can address these issues.
>> 
>> Future Developments:
>> 
>>         John Pardo, an intern at Videolabs is working on porting the
>>         vlc_input_item API to Rust. When that is done, this module
>>         can almost entirely be extracted into Rust with only the
>>         module declaration and setting up callabcks in C.
>> 
>> [PATCH 1/2] libvlc: Add Rust API for writing modules in rust
>> [PATCH 2/2] stream filter: Add rust based cuesheet module
>> 
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20200923/a8d72ce5/attachment.html>


More information about the vlc-devel mailing list