diff options
author | Robin Gareus <robin@gareus.org> | 2020-04-09 00:01:00 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2020-04-09 00:01:44 +0200 |
commit | a6afb31245a851caf468ab4d4c3296d7443b7f7f (patch) | |
tree | b00746da61761bd9cef43912982213dea85f79bc /libs/ardour/session_export.cc | |
parent | b8ce25fdab218673bd5e99f8899cf33f3c235ac4 (diff) |
Safeguard against libaudiographer exceptions
Diffstat (limited to 'libs/ardour/session_export.cc')
-rw-r--r-- | libs/ardour/session_export.cc | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/libs/ardour/session_export.cc b/libs/ardour/session_export.cc index 385978aec7..d66be3ada3 100644 --- a/libs/ardour/session_export.cc +++ b/libs/ardour/session_export.cc @@ -251,7 +251,13 @@ void Session::process_export_fw (pframes_t nframes) { if (!_export_rolling) { - ProcessExport (0); + try { + ProcessExport (0); + } catch (std::exception & e) { + /* pre-roll export must not throw */ + assert (0); + export_status->abort (true); + } return; } @@ -306,7 +312,13 @@ Session::process_export_fw (pframes_t nframes) fail_roll (ns); } - ProcessExport (ns); + try { + ProcessExport (ns); + } catch (std::exception & e) { + /* pre-roll export must not throw */ + assert (0); + export_status->abort (true); + } _remaining_latency_preroll -= ns; remain -= ns; |