make VAMP analyzers thread safe

Bug #1743256 reported by Be
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mixxx
Fix Released
High
Unassigned

Bug Description

The lack of thread safety of the VAMP analyzers is a major obstacle to using modern CPUs to their full capacity for multithreaded track analysis. How can we overcome this? It seems that removing support for VAMP plugins and including the analysis code directly in Mixxx is a good idea (regardless of this thread safety issue). If we do that, then perhaps we could modify the analyzer code directly to make it thread safe instead of hacking thread safe wrappers around them.

Be (be.ing)
Changed in mixxx:
milestone: none → 2.2.0
Revision history for this message
Uwe Klotz (uklotzde-deactivatedaccount) wrote :

This also affects Mixxx 2.1, because both the ad-hoc analysis in PlayerManager and the batch analysis in AnalyzerQueue are executed concurrently, each with a single thread.

Changed in mixxx:
assignee: nobody → Uwe Klotz (uklotzde)
importance: Undecided → High
status: New → In Progress
milestone: 2.2.0 → 2.1.1
Revision history for this message
Uwe Klotz (uklotzde-deactivatedaccount) wrote :
Revision history for this message
Daniel Schürmann (daschuer) wrote :

Can this be a part of the solution for 2.2?:
"Remove VAMP plugin support"
https://github.com/mixxxdj/mixxx/pull/926

Revision history for this message
Uwe Klotz (uklotzde-deactivatedaccount) wrote :

By invoking the plugins directly we might be able to avoid the thread-unsafe code in Vamp. But I don't know how much work this is.

Changed in mixxx:
status: In Progress → Fix Committed
Changed in mixxx:
status: Fix Committed → Fix Released
Revision history for this message
Swiftb0y (swiftb0y) wrote :

Mixxx now uses GitHub for bug tracking. This bug has been migrated to:
https://github.com/mixxxdj/mixxx/issues/9085

lock status: Metadata changes locked and limited to project staff
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related blueprints

Remote bug watches

Bug watches keep track of this bug in other bug trackers.