alsa-utils/0025-aplay-enable-timestamps-by-default.patch
Takashi Iwai c349a7f6d8 Accepting request 1137523 from home:tiwai:branches:multimedia:libs
- Backport upstream fixes:
  buffer overflow fixes in aplay, segfault in aplaymidi, etc:
  0008-topology-include-locale.h.patch 
  0009-nhlt-dmic-info.c-include-sys-types.h.patch 
  0010-topology-pre-processor-Add-support-for-enum-controls.patch 
  0011-configure.ac-fix-UMP-support-detection.patch 
  0012-bat-really-skip-analysis-of-the-first-period-and-upd.patch 
  0013-topology-add-include-for-ENABLE_NLS-on-musl.patch 
  0014-nhlt-use-stdint.h-types.patch 
  0015-Revert-nhlt-dmic-info.c-include-sys-types.h.patch 
  0016-aplay-use-stdint.h-types-instead-u_int-u_short-u_cha.patch 
  0017-alsa-restore.rules-use-devnode-instead-number-atribu.patch 
  0018-nhlt-Revert-SSP_ANALOG-device_type-field.patch 
  0019-alsactl-fix-potential-buffer-overwrite.patch 
  0020-aplay-fix-buffer-overflow-and-tainted-format-string.patch 
  0021-misc-fix-incorrect-usages-of-strerror.patch 
  0022-aplay-Add-option-for-specifying-subformat.patch 
  0023-aplay-allow-to-compile-with-older-alsa-lib-subformat.patch 
  0024-aplay-log-pcm-status-before-reporting-a-fatal-error.patch 
  0025-aplay-enable-timestamps-by-default.patch 
  0026-aplay-status-dumps-are-called-only-in-verbose-mode.patch 
  0027-aplaymidi-Set-event-completely-for-tempo-event.patch

OBS-URL: https://build.opensuse.org/request/show/1137523
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/alsa-utils?expand=0&rev=210
2024-01-08 12:04:12 +00:00

66 lines
2.0 KiB
Diff

From 35f45c50eeb779724f882c4e98a279934e1e3140 Mon Sep 17 00:00:00 2001
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Date: Fri, 27 Oct 2023 15:09:56 -0500
Subject: [PATCH] aplay: enable timestamps by default
When the '-v' or '--test-position' options are used, the 'tstamp' is
shown as zero. Unconditionally enable the timestamps and choose the
timestamp time based on the 'monotonic' variable.
Example log:
Status(R/W) (standalone avail=36 delay=924):
state : RUNNING
trigger_time: 2045.504937
tstamp : 2190.754602
delay : 924
avail : 36
avail_max : 444
Status(R/W) (standalone avail=44 delay=912):
state : RUNNING
trigger_time: 2045.504937
tstamp : 2190.754852
delay : 912
avail : 48
avail_max : 48
underrun!!! (at least 471.161 ms long)
Status:
state : XRUN
trigger_time: 2190.786234
tstamp : 2191.257392
delay : 0
avail : 1412
avail_max : 1412
aplay: xrun:1690: fatal underrun: Success
Closes: https://github.com/alsa-project/alsa-utils/pull/242
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
aplay/aplay.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/aplay/aplay.c b/aplay/aplay.c
index ed58a1ec8c7f..2a75de72523d 100644
--- a/aplay/aplay.c
+++ b/aplay/aplay.c
@@ -1494,6 +1494,15 @@ static void set_params(void)
err = snd_pcm_sw_params_set_stop_threshold(handle, swparams, stop_threshold);
assert(err >= 0);
+ err = snd_pcm_sw_params_set_tstamp_mode(handle, swparams, SND_PCM_TSTAMP_ENABLE);
+ assert(err >= 0);
+
+ if (monotonic)
+ err = snd_pcm_sw_params_set_tstamp_type(handle, swparams, SND_PCM_TSTAMP_TYPE_MONOTONIC);
+ else
+ err = snd_pcm_sw_params_set_tstamp_type(handle, swparams, SND_PCM_TSTAMP_TYPE_GETTIMEOFDAY);
+ assert(err >= 0);
+
if (snd_pcm_sw_params(handle, swparams) < 0) {
error(_("unable to install sw params:"));
snd_pcm_sw_params_dump(swparams, log);
--
2.35.3