Skip to content

Fix fx_cut frames missing producer meta. and set. properties - #1298

Merged
ddennedy merged 3 commits into
masterfrom
fix-fx-cut-meta
Sep 12, 2026
Merged

ddennedy merged 3 commits into
masterfrom
fix-fx-cut-meta

Conversation

@ddennedy

Copy link
Copy Markdown
Member

Playlist fx_cut skips producer_get_frame(), so producer annotations never reached tractor output. Extract mlt_producer_pass_frame_properties() and use it from both producer_get_frame and the fx_cut path.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Producer properties are propagated only after attached filters run, leaving filters unable to consume them during processing.

Get a fresh assessment by requesting another Copilot review.

Pull request overview

Extracts producer frame-property propagation into public C/C++ APIs and applies it to fx_cut playlist frames.

Changes:

  • Adds and exports mlt_producer_pass_frame_properties().
  • Propagates parent and cut properties in the fx_cut path.
  • Adds playlist and tractor regression tests.
File summaries
File Description
AGENTS.md Documents symbol-export requirements.
NEWS Records the new behavior and API.
src/framework/mlt_playlist.c Propagates properties to fx_cut frames.
src/framework/mlt_producer.c Extracts property propagation logic.
src/framework/mlt_producer.h Declares the public C API.
src/framework/mlt.vers Exports the C symbol.
src/mlt++/MltProducer.cpp Implements the C++ wrapper.
src/mlt++/MltProducer.h Declares the wrapper method.
src/mlt++/mlt++.vers Exports the C++ symbol.
src/tests/test_playlist/test_playlist.cpp Tests fx_cut frame properties.
src/tests/test_tractor/test_tractor.cpp Tests metadata reaching tractor output.
Review details
  • Files reviewed: 11/11 changed files
  • Comments generated: 2
  • Review effort level: Balanced

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread src/framework/mlt_playlist.c Outdated
Comment thread src/tests/test_playlist/test_playlist.cpp
Playlist fx_cut skips producer_get_frame(), so producer annotations never
reached tractor output. Extract mlt_producer_pass_frame_properties() and
use it from both producer_get_frame and the fx_cut path.
Match producer_get_frame order: parent meta, parent filters, cut meta,
cut filters, so filter_process can read meta.media.* on the frame.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The new public C++ API behavior and release-note API list need documentation corrections.

Get a fresh assessment by requesting another Copilot review.

Review details
  • Files reviewed: 11/11 changed files
  • Comments generated: 2
  • Review effort level: Balanced

Comment thread NEWS
Comment thread src/mlt++/MltProducer.h Outdated
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@ddennedy ddennedy added this to the v7.42.0 milestone Sep 12, 2026
@ddennedy
ddennedy merged commit 64fa028 into master Sep 12, 2026
15 checks passed
@ddennedy
ddennedy deleted the fix-fx-cut-meta branch September 12, 2026 19:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants