Expand description
ABI-stable plugin interface.
Both the host and the plugin depend on this crate. Everything that
crosses the dlopen boundary is defined here and uses abi_stable
types (RVec, RString, RResult, RBox, sabi-trait objects).
RuntimeData itself is not in this surface — instead it is
serialized to msgpack bytes (RVec<u8> via rmp-serde::to_vec_named)
at the boundary. That keeps remotemedia-core out of the FFI
contract entirely, so a plugin built against a different rustc /
feature set can still load.
For the full contract — wire format, versioning policy, plugin
author rules, change history — see
docs/LOADABLE_NODE_ABI.md.
Modules§
- FfiNode
Factory_ trait - This module is generated by the
#[sabi_trait]attribute on FfiNodeFactory - FfiNode_
trait - This module is generated by the
#[sabi_trait]attribute on FfiNode - Output
Sink_ trait - This module is generated by the
#[sabi_trait]attribute on OutputSink
Structs§
- FfiNode
Factory_ TO - The trait object for FfiNodeFactory.
- FfiNode_
TO - The trait object for FfiNode.
- Node
Plugin - Root module exported by every plugin.
- Node
Plugin Ref - This is the pointer to the prefix of
NodePlugin. - Node
Plugin_ Prefix - This is the prefix fields of
NodePlugin, accessible throughNodePluginRef, with.0.prefix(). - Output
Sink_ TO - The trait object for OutputSink.
Traits§
- FfiNode
- FFI-safe node.
- FfiNode
Factory - FFI-safe factory — produces FfiNode instances from a JSON params blob.
- Output
Sink - Per-frame output sink for streaming plugins.
Type Aliases§
- FfiNode
Box - Owned trait object for an FFI node.
- FfiNode
Factory Box - Owned trait object for an FFI factory.
- FfiNode
Factory_ CTO - A type alias for the const-constructible
FfiNodeFactory_TO. - FfiNode_
CTO - A type alias for the const-constructible
FfiNode_TO. - Output
Sink Box - Owned trait object for an output sink.
- Output
Sink_ CTO - A type alias for the const-constructible
OutputSink_TO.