mirror of
https://github.com/Ardour/ardour.git
synced 2026-01-01 19:37:45 +01:00
[Summary] HOT FIX: Fixed crash which happens on an attempt to load a session with audio after preferences removal, when buffer preset is set to Medium.
[Details] It happened because ARDOUR::Butler::thread_work() was called before Buttler::map_parameters() method was called, which sets up the correct buffering parameters (set_buffering_parameters () call) according to chosen preset. I've added this calls into Butler::start_thread () to make sure everything is set up and ready for use for Butler. This is a hot fix, because it requires the review from Paul Davis, and probably more gentle solution. But it's possible this commit may become the main solution itself.
This commit is contained in:
parent
e43cf2474e
commit
d5fc9654cf
1 changed files with 7 additions and 3 deletions
|
|
@ -104,12 +104,16 @@ Butler::config_changed (std::string p)
|
|||
int
|
||||
Butler::start_thread()
|
||||
{
|
||||
const float rate = (float)_session.frame_rate();
|
||||
|
||||
Diskstream::set_buffering_parameters (Config->get_buffering_preset());
|
||||
|
||||
/* size is in Samples, not bytes */
|
||||
const float rate = (float)_session.frame_rate();
|
||||
audio_dstream_capture_buffer_size = (uint32_t) floor (Config->get_audio_capture_buffer_seconds() * rate);
|
||||
audio_dstream_playback_buffer_size = (uint32_t) floor (Config->get_audio_playback_buffer_seconds() * rate);
|
||||
|
||||
|
||||
_session.adjust_capture_buffering ();
|
||||
_session.adjust_playback_buffering ();
|
||||
|
||||
/* size is in bytes
|
||||
* XXX: Jack needs to tell us the MIDI buffer size
|
||||
* (i.e. how many MIDI bytes we might see in a cycle)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue