Conversation
… ends with other postfix
…ths from environment variable
…d widget '2dsize'
- handle the Microsoft Visual C++ compiler in module CMakeLists.txt - Change every copyright to the year 2025 - Use C99 variables in the for loop initializer declare style - Clang format and include <stdbool.h> explicitly - specify which versions of OpenFX supported - mention OpenFX header files URL in mlt_openfx.c - using mlt_image and its functions in src/modules/openfx/filter_openfx.c
…t frame to the suitable format
…escribe in context action required by some plugins such as net.sf.openfx.Mirror to function
|
I still can not get the mirror filter to work: Using a single parameter like this has no effect: Using two parameters crashes every time: |
There was a problem hiding this comment.
Pull request overview
This PR adds OpenFX 1.5 plugin support to MLT, continuing work from PR #1186. It provides a module for processing videos using OpenFX plugins, filtering out unsupported plugins (draw suite, OpenGL) and handling plugin identifiers containing colons by replacing them with ^.
Changes:
- Adds complete OpenFX module infrastructure including header files from the OpenFX specification
- Implements MLT integration layer for OpenFX plugins with host suite implementations
- Adds CMake build configuration with glib dependency and GPL licensing
Reviewed changes
Copilot reviewed 28 out of 28 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| CMakeLists.txt | Adds MOD_OPENFX option and glib dependency check |
| CMakePresets.json | Sets MOD_OPENFX to OFF by default |
| src/modules/CMakeLists.txt | Adds openfx subdirectory to build |
| src/modules/openfx/CMakeLists.txt | Defines mltopenfx module build configuration |
| src/modules/openfx/factory.c | Plugin discovery and registration from OFX_PLUGIN_PATH |
| src/modules/openfx/filter_openfx.c | Main filter implementation for OpenFX effects |
| src/modules/openfx/mlt_openfx.h | Common function declarations for OpenFX integration |
| src/modules/openfx/filter_openfx.yml | Metadata for the OpenFX filter |
| src/modules/openfx/openfx/LICENSE.md | BSD-3-Clause license for OpenFX headers |
| src/modules/openfx/openfx/include/*.h | OpenFX 1.5 API header files |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
The way I was saving properties internally as mlt_properties changed significantly it was (in pseudocode) And now it looks like |
This resolves some review comments from Copilot about memory leaks and editing stings by index.
The plugin might try to use the null pointer
|
@joinlaw - Thanks for testing!!
I applied your patch for propGetString. I think that makes sense since we do not want the plugin to use a null pointer. Should we also do that for other data types (double, int, pointer)?
I will look into that
The first digit is the dimension index. I decided to structure the dimensions this way to resolve the memory leaks caused by the calls to realloc() to create arrays. Let me know if this causes problems. |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 27 out of 28 changed files in this pull request and generated 7 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Mostly related to: * Prefer mlt_properties_get_properties() to nest properties * NULL pointer checking * whitespace
|
@joinlaw I think I have resolved our comments. Feel free to give it another try. My only remaining issue is that I still get crashes when I run:
If I can figure that out, this branch should be ready to merge. |
|
@joinlaw , I have not fixed the flip crash yet. But in the meantime, can you test this branch with your working copy? Thanks! |
Nice. I will try it once I have free time an I will debug the mirror plugin also to see if I can find anything to deal with this crashes. |

Work on openfx module continued from this PR: #1186