Prevent crash at session-close when analysing.
authorRobin Gareus <robin@gareus.org>
Tue, 24 Nov 2015 23:55:41 +0000 (00:55 +0100)
committerRobin Gareus <robin@gareus.org>
Tue, 24 Nov 2015 23:56:05 +0000 (00:56 +0100)
commit71520c743212de6d4e42fbdfd8bfbd0611600dae
tree44f296e679de75ad423f36c6fcecefecd9cde4a8
parentff62cec27d710a5a25caf028010aadd5a4bf0bac
Prevent crash at session-close when analysing.

The Analyser only holds a weak-pointer the the Source,
session-destruction frees the actual Source, which is fatal for any
ongoing audio analysis.

This fix simply waits for the current ongoing analysis to complete,
ideally TransientDetector::run, EBUr128Analysis::run, OnsetDetector::run
and AudioAnalyser::analyse could be interrupted.

Alternate option: cancel the Analyser::work thread (and re-create with
the every session).
libs/ardour/analyser.cc
libs/ardour/ardour/analyser.h
libs/ardour/session.cc