mlt-ffi 0.1.21

Diplomat FFI bindings for mlt-core
Documentation
# mlt-ffi

[Diplomat](https://github.com/rust-diplomat/diplomat)-based FFI bindings for
`mlt-core`, providing MLT <-> MVT conversion from C, C++, and Kotlin.

## API

| Type               | Purpose                                                          |
| ------------------ | ---------------------------------------------------------------- |
| `MltConverter`     | `mlt_to_mvt(bytes)` and `mvt_to_mlt(bytes, encoder_options)` conversion |
| `MltEncoderOptions`| Builder wrapping `EncoderConfig` - construct with `new()`, toggle flags with setters |
| `MltBuffer`        | Owned result buffer with `.bytes` / `.len` accessors             |
| `ConvertError`     | `InvalidInput` or `EncodingFailed`                               |

## Usage examples

The round-trip tests are the primary documentation for each language:

- **C** - [`tests/c/test_round_trip.c`]tests/c/test_round_trip.c
- **C++** - [`tests/cpp/test_round_trip.cpp`]tests/cpp/test_round_trip.cpp
- **Kotlin** - [`tests/kotlin/TestRoundTrip.kt`]tests/kotlin/TestRoundTrip.kt

## Building

```sh
cargo build --release -p mlt-ffi
```

## Regenerating bindings

```sh
just rust::sync-ffi-bindings
```

Requires `diplomat-tool`, `clang-format`, and `ktlint`.

## Running tests

```sh
just rust::test-ffi-c
just rust::test-ffi-cpp
just rust::test-ffi-kotlin
```