[vlc-devel] Add rust backed cuesheet parser

Kartik Ohri kartikohri13 at gmail.com
Sat Sep 19 23:09:32 CEST 2020


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



More information about the vlc-devel mailing list