mltframework / mltframework/mlt

Library FFTW's fftw_plan_dft_r2c_1d is not thread safe.

Open
#743 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
1.9k
Forks
387
Avg merge
17h 28m
Merged PRs (30d)
8

Description

The only thread-safe function in FFTW is fftw_execute.

But the FFT filter calls fftw_plan_dft_r2c_1d. This makes MLT non-thread safe.

One solution for this problem is making programs linking to MLT call void fftw_make_planner_thread_safe(void);. Maybe, through some initialization method.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with src/modules/plus/filter_fft.c around line 69 and read FFTW's Thread-safety documentation linked in the issue. Trace how the FFT filter is initialized and used, then determine where thread-safe FFTW planner handling belongs. Done means the filter no longer makes MLT non-thread-safe through fftw_plan_dft_r2c_1d, with the relevant behavior verified.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
audio-video-rtc
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.