summaryrefslogtreecommitdiff
path: root/libs/backends/coreaudio/coreaudio_backend.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2015-03-09 00:26:01 +0100
committerRobin Gareus <robin@gareus.org>2015-03-09 00:26:01 +0100
commit72ed785940221692ea2260944477eca82ada9268 (patch)
tree5ed5d869f929fb232d590bb9c9c49350717d398c /libs/backends/coreaudio/coreaudio_backend.cc
parentbc7be6fd3e9cfa77848475e6a1a4d50c95a848ee (diff)
allow hotplugging CoreMidi devices.
Diffstat (limited to 'libs/backends/coreaudio/coreaudio_backend.cc')
-rw-r--r--libs/backends/coreaudio/coreaudio_backend.cc11
1 files changed, 5 insertions, 6 deletions
diff --git a/libs/backends/coreaudio/coreaudio_backend.cc b/libs/backends/coreaudio/coreaudio_backend.cc
index f0313f91e0..8946aea0a7 100644
--- a/libs/backends/coreaudio/coreaudio_backend.cc
+++ b/libs/backends/coreaudio/coreaudio_backend.cc
@@ -1205,7 +1205,7 @@ CoreAudioBackend::midi_event_get (
size_t& size, uint8_t** buf, void* port_buffer,
uint32_t event_index)
{
- assert (buf && port_buffer);
+ if (!buf || !port_buffer) return -1;
CoreMidiBuffer& source = * static_cast<CoreMidiBuffer*>(port_buffer);
if (event_index >= source.size ()) {
return -1;
@@ -1224,7 +1224,7 @@ CoreAudioBackend::midi_event_put (
pframes_t timestamp,
const uint8_t* buffer, size_t size)
{
- assert (buffer && port_buffer);
+ if (!buffer || !port_buffer) return -1;
CoreMidiBuffer& dst = * static_cast<CoreMidiBuffer*>(port_buffer);
if (dst.size () && (pframes_t)dst.back ()->timestamp () > timestamp) {
fprintf (stderr, "CoreMidiBuffer: it's too late for this event. %d > %d\n",
@@ -1238,14 +1238,14 @@ CoreAudioBackend::midi_event_put (
uint32_t
CoreAudioBackend::get_midi_event_count (void* port_buffer)
{
- assert (port_buffer);
+ if (!port_buffer) return 0;
return static_cast<CoreMidiBuffer*>(port_buffer)->size ();
}
void
CoreAudioBackend::midi_clear (void* port_buffer)
{
- assert (port_buffer);
+ if (port_buffer) return;
CoreMidiBuffer * buf = static_cast<CoreMidiBuffer*>(port_buffer);
assert (buf);
buf->clear ();
@@ -1395,8 +1395,7 @@ CoreAudioBackend::n_physical_inputs () const
void*
CoreAudioBackend::get_buffer (PortEngine::PortHandle port, pframes_t nframes)
{
- assert (port);
- assert (valid_port (port));
+ if (!port || !valid_port (port)) return NULL;
return static_cast<CoreBackendPort*>(port)->get_buffer (nframes);
}