13
0

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:
Carl Hetherington 2011-10-26 15:14:16 +00:00
parent 77279f390d
commit ebca0ae87d

View File

@ -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 */
{