[vlc-devel] Add rust backed cuesheet parser

Marvin Scholz epirat07 at gmail.com
Wed Sep 23 10:42:31 CEST 2020



On 23 Sep 2020, at 9:40, Thomas Guillem wrote:

> 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

What do you mean by rustfmt integration?
Thats a task for CI not the build system, so not sure
this is really a blocking issue?

>
>> 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


> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel


More information about the vlc-devel mailing list