diff options
Diffstat (limited to 'gtk2_ardour/editor_export_audio.cc')
-rw-r--r-- | gtk2_ardour/editor_export_audio.cc | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/gtk2_ardour/editor_export_audio.cc b/gtk2_ardour/editor_export_audio.cc index 8b498f0000..4964611db3 100644 --- a/gtk2_ardour/editor_export_audio.cc +++ b/gtk2_ardour/editor_export_audio.cc @@ -132,6 +132,7 @@ Editor::write_region (string path, AudioRegion& region) jack_nframes_t to_read; Sample buf[chunk_size]; gain_t gain_buffer[chunk_size]; + char workbuf[chunk_size *4]; jack_nframes_t pos; char s[PATH_MAX+1]; uint32_t cnt; @@ -203,11 +204,11 @@ Editor::write_region (string path, AudioRegion& region) fs = (*src); - if (region.read_at (buf, buf, gain_buffer, pos, this_time) != this_time) { + if (region.read_at (buf, buf, gain_buffer, workbuf, pos, this_time) != this_time) { break; } - if (fs->write (buf, this_time) != this_time) { + if (fs->write (buf, this_time, workbuf) != this_time) { error << "" << endmsg; goto error_out; } @@ -277,6 +278,7 @@ Editor::write_audio_range (Playlist& playlist, uint32_t channels, list<AudioRang jack_nframes_t nframes; Sample buf[chunk_size]; gain_t gain_buffer[chunk_size]; + char workbuf[chunk_size*4]; jack_nframes_t pos; char s[PATH_MAX+1]; uint32_t cnt; @@ -334,11 +336,11 @@ Editor::write_audio_range (Playlist& playlist, uint32_t channels, list<AudioRang fs = sources[n]; - if (playlist.read (buf, buf, gain_buffer, pos, this_time, n) != this_time) { + if (playlist.read (buf, buf, gain_buffer, workbuf, pos, this_time, n) != this_time) { break; } - if (fs->write (buf, this_time) != this_time) { + if (fs->write (buf, this_time, workbuf) != this_time) { goto error_out; } } @@ -364,7 +366,7 @@ Editor::write_audio_range (Playlist& playlist, uint32_t channels, list<AudioRang for (uint32_t n=0; n < channels; ++n) { fs = sources[n]; - if (fs->write (buf, this_time) != this_time) { + if (fs->write (buf, this_time, workbuf) != this_time) { goto error_out; } } |