mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-10 16:46:35 +01:00
adding DSP stats to coreaudio backend (uncompiled)
This commit is contained in:
parent
995137aeb3
commit
c7bed1320e
3 changed files with 16 additions and 5 deletions
|
|
@ -548,7 +548,7 @@ CoreAudioBackend::_start (bool for_latency_measurement)
|
|||
_pcmio->set_buffer_size_callback (buffer_size_callback_ptr, this);
|
||||
_pcmio->set_sample_rate_callback (sample_rate_callback_ptr, this);
|
||||
|
||||
_pcmio->pcm_start (device1, device2, _samplerate, _samples_per_period, process_callback_ptr, this);
|
||||
_pcmio->pcm_start (device1, device2, _samplerate, _samples_per_period, process_callback_ptr, this, dsp_stats[AudioBackend::DeviceWait]);
|
||||
#ifndef NDEBUG
|
||||
printf("STATE: %d\n", _pcmio->state ());
|
||||
#endif
|
||||
|
|
@ -1366,6 +1366,7 @@ CoreAudioBackend::process_callback (const uint32_t n_samples, const uint64_t hos
|
|||
{
|
||||
uint32_t i = 0;
|
||||
uint64_t clock1;
|
||||
PBD::TimerRAII tr (dsp_stats[RunLoop]);
|
||||
|
||||
_active_ca = true;
|
||||
|
||||
|
|
|
|||
|
|
@ -792,9 +792,10 @@ CoreAudioPCM::set_samples_per_period (uint32_t n_samples)
|
|||
|
||||
int
|
||||
CoreAudioPCM::pcm_start (
|
||||
uint32_t device_id_in, uint32_t device_id_out,
|
||||
uint32_t sample_rate, uint32_t samples_per_period,
|
||||
int (process_callback (void*, const uint32_t, const uint64_t)), void *process_arg)
|
||||
uint32_t device_id_in, uint32_t device_id_out,
|
||||
uint32_t sample_rate, uint32_t samples_per_period,
|
||||
int (process_callback (void*, const uint32_t, const uint64_t)), void *process_arg,
|
||||
PBD::Timing& dsp_timer)
|
||||
{
|
||||
|
||||
assert(_device_ids);
|
||||
|
|
@ -812,6 +813,7 @@ CoreAudioPCM::pcm_start (
|
|||
_process_arg = process_arg;
|
||||
_samples_per_period = samples_per_period;
|
||||
_cur_samples_per_period = 0;
|
||||
_dsp_timer = &dsp_timer;
|
||||
_active_device_id = 0;
|
||||
_capture_channels = 0;
|
||||
_playback_channels = 0;
|
||||
|
|
@ -1119,6 +1121,7 @@ CoreAudioPCM::render_callback (
|
|||
UInt32 inNumberSamples,
|
||||
AudioBufferList* ioData)
|
||||
{
|
||||
PBD::WaitTimerRAII tr (*_dsp_timer);
|
||||
OSStatus retVal = kAudioHardwareNoError;
|
||||
|
||||
if (_samples_per_period < inNumberSamples) {
|
||||
|
|
|
|||
|
|
@ -36,6 +36,10 @@
|
|||
#define AUHAL_INPUT_ELEMENT 1
|
||||
|
||||
|
||||
namespace PBD {
|
||||
class Timing;
|
||||
}
|
||||
|
||||
namespace ARDOUR {
|
||||
|
||||
class CoreAudioPCM {
|
||||
|
|
@ -78,7 +82,8 @@ public:
|
|||
uint32_t samples_per_period,
|
||||
int (process_callback (void*, const uint32_t, const uint64_t)),
|
||||
void * process_arg
|
||||
);
|
||||
PBD::Timing& dsp_timer,
|
||||
);
|
||||
|
||||
void set_error_callback (
|
||||
void ( error_callback (void*)),
|
||||
|
|
@ -174,6 +179,8 @@ private:
|
|||
int (* _process_callback) (void*, const uint32_t, const uint64_t);
|
||||
void * _process_arg;
|
||||
|
||||
PBD::Timing* _dsp_timer;
|
||||
|
||||
void (* _error_callback) (void*);
|
||||
void * _error_arg;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue