From: Mike Brady Date: Sat, 8 Dec 2018 22:30:34 +0000 (+0000) Subject: Time opening of the device X-Git-Tag: 3.3RC0~110 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=df61f806076a94c2d2ec2121e9e3661fd14af8bc;p=thirdparty%2Fshairport-sync.git Time opening of the device --- diff --git a/audio_alsa.c b/audio_alsa.c index acc4693e..5a60b2d8 100644 --- a/audio_alsa.c +++ b/audio_alsa.c @@ -1066,6 +1066,7 @@ int get_rate_information(uint64_t *elapsed_time, uint64_t *frames_played) { } static int play(void *buf, int samples) { + uint64_t time_before; // debug(3,"audio_alsa play called."); int oldState; pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &oldState); // make this un-cancellable @@ -1073,7 +1074,9 @@ static int play(void *buf, int samples) { if (alsa_handle == NULL) { pthread_cleanup_debug_mutex_lock(&alsa_mutex, 10000, 1); + time_before = get_absolute_time_in_fp(); ret = actual_open_alsa_device(); + debug(1, "Opening time: %8.2f us.", (1000000.0 * (get_absolute_time_in_fp() - time_before ) / (uint64_t)0x100000000)); if (ret == 0) { if (audio_alsa.volume) do_volume(set_volume); @@ -1110,7 +1113,7 @@ static int play(void *buf, int samples) { uint64_t maximum_permitted_writing_time = (config.alsa_maximum_write_time * 1000000000); maximum_permitted_writing_time = (maximum_permitted_writing_time << 32) / 1000000000; - uint64_t time_before = get_absolute_time_in_fp(); + time_before = get_absolute_time_in_fp(); err = alsa_pcm_write(alsa_handle, buf, samples); uint64_t writing_time = get_absolute_time_in_fp() - time_before;