summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2015-01-22 12:52:06 -0500
committerPaul Davis <paul@linuxaudiosystems.com>2015-01-23 12:25:49 -0500
commit3b2c23be93d70aaaedf5f36a4322d132f1ca5494 (patch)
treed4f5afe868237811725b34e5e29cc3e07f7b8e5c /libs/ardour/ardour
parent14734422042a90fe66d9f83bc81ed9c0a03ff5bb (diff)
split apart read and write chunk size and offer platform-dependent sizes for reading. Write chunk size should remain unchanged from before.
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r--libs/ardour/ardour/diskstream.h12
-rw-r--r--libs/ardour/ardour/rc_configuration_vars.h3
2 files changed, 11 insertions, 4 deletions
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<CaptureInfo*> 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)