Draft: [GSoC 2024]: extensions: Add Locking and Access Functions for Managing Extension Array
This MR introduces new functions for synchronization and access control in the extension manager. These updates are part of the ongoing effort to integrate Rust with VLC. The changes address the following issues:
-
Ownership Flexibility: When the extension manager is instantiated from C, it directly owns the extensions. However, if the manager is created from Rust or another language, that language retains ownership of the extensions, which can result in the extension array within the manager being null. This flexibility is crucial for integrating Rust, as it allows Rust code to manage and own the extensions while ensuring compatibility with existing C code.
-
Synchronization and Access Control: To handle these scenarios effectively, the new functions provide necessary synchronization and access control mechanisms. This ensures that the extension array is managed consistently, regardless of the language used to instantiate the manager.