diff --git a/plugins/mac-capture/mac-audio.c b/plugins/mac-capture/mac-audio.c index 358f5ea8d..b2c22c0cd 100644 --- a/plugins/mac-capture/mac-audio.c +++ b/plugins/mac-capture/mac-audio.c @@ -5,6 +5,7 @@ #include #include +#include #include #include #include @@ -348,7 +349,16 @@ static OSStatus input_callback(void *data, audio.speakers = ca->speakers; audio.format = ca->format; audio.samples_per_sec = ca->sample_rate; - audio.timestamp = ts_data->mHostTime; + static double factor = 0.; + static mach_timebase_info_data_t info = {0, 0}; + if (info.numer == 0 && info.denom == 0) { + mach_timebase_info(&info); + factor = ((double)info.numer) / info.denom; + } + if (info.numer != info.denom) + audio.timestamp = (uint64_t)(factor * ts_data->mHostTime); + else + audio.timestamp = ts_data->mHostTime; obs_source_output_audio(ca->source, &audio);