MCPcopy Create free account
hub / github.com/csound/csound / Connect

Method Connect

InOut/HaikuAudio.cpp:320–353  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

318
319
320void
321AudioProducer::Connect(status_t error, const media_source& source,
322 const media_destination& destination,
323 const media_format& format, char* io_name)
324{
325 if (error)
326 {
327 mOutput.destination = media_destination::null;
328 mOutput.format = mPreferredFormat;
329 return;
330 }
331 mOutput.destination = destination;
332 mOutput.format = format;
333 strncpy(io_name, mOutput.name, B_MEDIA_NAME_LENGTH);
334
335 media_node_id id;
336 FindLatencyFor(mOutput.destination, &mLatency, &id);
337
338 size_t samplesPerBuffer
339 = mOutput.format.u.raw_audio.buffer_size / (sizeof(float)*mChans);
340
341 SetEventLatency(mLatency + gAddLatency); // ignore internal time for now
342
343 {
344 bigtime_t realtime, perftime;
345 float drift;
346 TimeSource()->GetTime(&perftime, &realtime, & drift);
347 }
348 bigtime_t duration
349 = bigtime_t(1000000) * samplesPerBuffer /
350 bigtime_t(mOutput.format.u.raw_audio.frame_rate);
351 SetBufferDuration(duration);
352 if (!mBufferGroup) AllocateBuffers();
353}
354
355
356void

Callers 2

RunAudioMethod · 0.80
MidiInMethod · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected