From 3b2c23be93d70aaaedf5f36a4322d132f1ca5494 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Thu, 22 Jan 2015 12:52:06 -0500 Subject: split apart read and write chunk size and offer platform-dependent sizes for reading. Write chunk size should remain unchanged from before. --- libs/ardour/ardour/diskstream.h | 12 +++++++++--- libs/ardour/ardour/rc_configuration_vars.h | 3 ++- 2 files changed, 11 insertions(+), 4 deletions(-) (limited to 'libs/ardour/ardour') diff --git a/libs/ardour/ardour/diskstream.h b/libs/ardour/ardour/diskstream.h index c960e925c8..cde21b209f 100644 --- a/libs/ardour/ardour/diskstream.h +++ b/libs/ardour/ardour/diskstream.h @@ -138,8 +138,12 @@ class LIBARDOUR_API Diskstream : public SessionObject, public PublicDiskstream ChanCount n_channels() { return _n_channels; } - static framecnt_t disk_io_frames() { return disk_io_chunk_frames; } - static void set_disk_io_chunk_frames (framecnt_t n) { disk_io_chunk_frames = n; } + static framecnt_t disk_read_frames() { return disk_read_chunk_frames; } + static framecnt_t disk_write_frames() { return disk_write_chunk_frames; } + static void set_disk_read_chunk_frames (framecnt_t n) { disk_read_chunk_frames = n; } + static void set_disk_write_chunk_frames (framecnt_t n) { disk_write_chunk_frames = n; } + static framecnt_t default_disk_read_chunk_frames (); + static framecnt_t default_disk_write_chunk_frames (); /* Stateful */ virtual XMLNode& get_state(void); @@ -268,7 +272,9 @@ class LIBARDOUR_API Diskstream : public SessionObject, public PublicDiskstream framecnt_t& rec_nframes, framecnt_t& rec_offset ); - static framecnt_t disk_io_chunk_frames; + static framecnt_t disk_read_chunk_frames; + static framecnt_t disk_write_chunk_frames; + std::vector capture_info; mutable Glib::Threads::Mutex capture_info_lock; diff --git a/libs/ardour/ardour/rc_configuration_vars.h b/libs/ardour/ardour/rc_configuration_vars.h index 826175a60b..1c5f9a82b8 100644 --- a/libs/ardour/ardour/rc_configuration_vars.h +++ b/libs/ardour/ardour/rc_configuration_vars.h @@ -67,7 +67,8 @@ CONFIG_VARIABLE (RemoteModel, remote_model, "remote-model", MixerOrdered) /* disk operations */ -CONFIG_VARIABLE (uint32_t, minimum_disk_io_bytes, "minimum-disk-io-bytes", 1024 * 256) +CONFIG_VARIABLE (uint32_t, minimum_disk_read_bytes, "minimum-disk-read-bytes", ARDOUR::Diskstream::default_disk_read_chunk_frames() * sizeof (ARDOUR::Sample)) +CONFIG_VARIABLE (uint32_t, minimum_disk_write_bytes, "minimum-disk-write-bytes", ARDOUR::Diskstream::default_disk_write_chunk_frames() * sizeof (ARDOUR::Sample)) CONFIG_VARIABLE (float, midi_readahead, "midi-readahead", 1.0) CONFIG_VARIABLE (float, audio_capture_buffer_seconds, "capture-buffer-seconds", 5.0) CONFIG_VARIABLE (float, audio_playback_buffer_seconds, "playback-buffer-seconds", 5.0) -- cgit v1.2.3