@@ -1559,11 +1559,13 @@ int snd_pcm_poll_descriptors_revents(snd_pcm_t *pcm, struct pollfd *pfds, unsign
#define SW_PARAM(v) [SND_PCM_SW_PARAM_##v] = #v
#define FORMAT(v) [SND_PCM_FORMAT_##v] = #v
#define SUBFORMAT(v) [SND_PCM_SUBFORMAT_##v] = #v
+#define STARTAT_CLOCK(v) [SND_PCM_STARTAT_CLOCK_TYPE_##v] = #v
#define FORMATD(v, d) [SND_PCM_FORMAT_##v] = d
#define SUBFORMATD(v, d) [SND_PCM_SUBFORMAT_##v] = d
+
static const char *const snd_pcm_stream_names[] = {
STREAM(PLAYBACK),
STREAM(CAPTURE),
@@ -1651,6 +1653,12 @@ static const char *const snd_pcm_format_aliases[SND_PCM_FORMAT_LAST+1] = {
FORMAT(IEC958_SUBFRAME),
};
+static const char *const snd_pcm_startat_clock_names[SND_PCM_STARTAT_CLOCK_TYPE_LAST+1] = {
+ STARTAT_CLOCK(GETTIMEOFDAY),
+ STARTAT_CLOCK(MONOTONIC),
+ STARTAT_CLOCK(LINK),
+};
+
static const char *const snd_pcm_format_descriptions[] = {
FORMATD(S8, "Signed 8 bit"),
FORMATD(U8, "Unsigned 8 bit"),
@@ -1949,6 +1957,18 @@ const char *snd_pcm_type_name(snd_pcm_type_t type)
use_default_symbol_version(__snd_pcm_type_name, snd_pcm_type_name, ALSA_0.9.0);
/**
+ * \brief get name of startat clock
+ * \param clock_type type of startat clock
+ * \return ascii name of startat clock
+ */
+const char *snd_pcm_startat_clock_name(snd_pcm_startat_clock_type_t clock_type)
+{
+ if (clock_type > SND_PCM_STARTAT_CLOCK_TYPE_LAST)
+ return NULL;
+ return snd_pcm_startat_clock_names[clock_type];
+}
+
+/**
* \brief Dump current hardware setup for PCM
* \param pcm PCM handle
* \param out Output handle
@@ -2035,6 +2055,13 @@ int snd_pcm_status_dump(snd_pcm_status_t *status, snd_output_t *out)
snd_output_printf(out, " delay : %ld\n", (long)status->delay);
snd_output_printf(out, " avail : %ld\n", (long)status->avail);
snd_output_printf(out, " avail_max : %ld\n", (long)status->avail_max);
+ if (status->start_at_pending == 1) {
+ snd_output_printf(out, " start_at : %s %ld.%06ld\n", snd_pcm_startat_clock_name(status->start_at_clock_type),
+ status->start_at_start_time.tv_sec, status->start_at_start_time.tv_nsec);
+ }
+ else {
+ snd_output_printf(out, " start_at : disabled\n");
+ }
return 0;
}
Signed-off-by: Tim Cussins <timcussins@eml.cc>