mirror of
https://github.com/Ardour/ardour.git
synced 2026-01-24 06:07:29 +01:00
Wait for the butler to be quiescent before starting
export of each range, rather than just the first one. Prevents clashes with both the butler and the export code doing track refills at the same time (may fix #4283). git-svn-id: svn://localhost/ardour2/branches/3.0@10307 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
77279f390d
commit
ebca0ae87d
1 changed files with 8 additions and 2 deletions
|
|
@ -62,8 +62,6 @@ Session::pre_export ()
|
|||
{
|
||||
get_export_status (); // Init export_status
|
||||
|
||||
_butler->wait_until_finished ();
|
||||
|
||||
/* take everyone out of awrite to avoid disasters */
|
||||
|
||||
{
|
||||
|
|
@ -95,6 +93,7 @@ Session::pre_export ()
|
|||
return 0;
|
||||
}
|
||||
|
||||
/** Called for each range that is being exported */
|
||||
int
|
||||
Session::start_audio_export (framepos_t position, bool /* realtime */)
|
||||
{
|
||||
|
|
@ -102,6 +101,13 @@ Session::start_audio_export (framepos_t position, bool /* realtime */)
|
|||
pre_export ();
|
||||
}
|
||||
|
||||
/* We're about to call Track::seek, so the butler must have finished everything
|
||||
up otherwise it could be doing do_refill in its thread while we are doing
|
||||
it here.
|
||||
*/
|
||||
|
||||
_butler->wait_until_finished ();
|
||||
|
||||
/* get everyone to the right position */
|
||||
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue