SHA256
1
0
forked from pool/alsa-utils

Accepting request 357798 from home:tiwai:branches:multimedia:libs

- Backport upstream fixes: add alsa-info manpage, fix TLV output of
  amixer for ASoC ext ctls, and rename from bat to alsabat
  0003-alsa-info.sh-add-man-page.patch
  0004-amixer-skip-showing-asoc-tlv-byte-controls.patch
  0005-alsabat-rename-to-avoid-naming-conflict.patch
- Rename subpackage from bat to alsabat due to the name conflicts
  with other projects

OBS-URL: https://build.opensuse.org/request/show/357798
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/alsa-utils?expand=0&rev=128
This commit is contained in:
Ismail Dönmez 2016-03-03 09:24:30 +00:00 committed by Git OBS Bridge
parent 79b57fb3f0
commit 73b5217264
5 changed files with 548 additions and 8 deletions

View File

@ -0,0 +1,90 @@
From d633469c9d55d8ec77c33eab04e0cd9ae0c10f6e Mon Sep 17 00:00:00 2001
From: Jaroslav Kysela <perex@perex.cz>
Date: Wed, 13 Jan 2016 09:46:31 +0100
Subject: [PATCH] alsa-info.sh: add man page
---
alsa-info/Makefile.am | 1 +
alsa-info/alsa-info.sh.1 | 62 ++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 63 insertions(+)
create mode 100644 alsa-info/alsa-info.sh.1
diff --git a/alsa-info/Makefile.am b/alsa-info/Makefile.am
index 356f1a9ae94b..c786361dc68c 100644
--- a/alsa-info/Makefile.am
+++ b/alsa-info/Makefile.am
@@ -1,2 +1,3 @@
EXTRA_DIST = alsa-info.sh
sbin_SCRIPTS = alsa-info.sh
+man_MANS = alsa-info.sh.1
diff --git a/alsa-info/alsa-info.sh.1 b/alsa-info/alsa-info.sh.1
new file mode 100644
index 000000000000..7168b3e061be
--- /dev/null
+++ b/alsa-info/alsa-info.sh.1
@@ -0,0 +1,62 @@
+.TH ALSA-INFO.SH 1 "13 January 2016"
+.SH NAME
+alsa-info.sh \- command\-line utility to gather information about
+the ALSA subsystem
+.SH SYNOPSIS
+\fBalsa-info.sh\fP [\fIoptions\fP]
+
+.SH DESCRIPTION
+\fBalsa-info.sh\fP is a command\-line utility gathering information
+about the ALSA subsystem. It is used mostly for debugging purposes.
+
+.SH OPTIONS
+.TP
+\fI\-\-upload\fP
+Upload contents to the server (www.alsa-project.org or pastebin.ca).
+.TP
+\fI\-\-no-upload\fP
+Do not upload contents to the remote server.
+.TP
+\fI\-\-stdout\fP
+Print information to standard output.
+.TP
+\fI\-\-output FILE\fP
+Specify file for output in no-upload mode.
+.TP
+\fI\-\-debug\fP
+Run utility as normal, but will not delete file (usually
+/tmp/alsa-info.txt).
+.TP
+\fI\-\-with-aplay\fP
+Includes output from \fIaplay -l\fP.
+.TP
+\fI\-\-with-amixer\fP
+Includes output from \fIamixer\fP.
+.TP
+\fI\-\-with-alsactl\fP
+Includes output from \fIalsactl\fP.
+.TP
+\fI\-\-with-configs\fP
+Includes output from ~/.asoundrc and /etc/asound.conf if they exist.
+.TP
+\fI\-\-update\fP
+Check server for updates.
+.TP
+\fI\-\-about\fP
+Print information about authors.
+
+.SH EXAMPLES
+
+.TP
+\fBalsa-info.sh \-\-no-upload\fR
+Will gather all information and show the output file.
+
+.SH SEE ALSO
+\fB
+aplay(1)
+amixer(1)
+alsactl(1)
+\fP
+
+.SH AUTHOR
+\fBalsa-info.sh\fP was created by the ALSA team, see \fI\-\-about\fP .
--
2.7.0

View File

@ -0,0 +1,41 @@
From 18d5f52a61d0df7cf28456e264d7ab72c15984fb Mon Sep 17 00:00:00 2001
From: Vinod Koul <vinod.koul@intel.com>
Date: Thu, 28 Jan 2016 14:02:18 +0530
Subject: [PATCH] amixer: skip showing asoc tlv byte controls
ASoC TLV Byte controls are very large size controls so we should add new
options for these. So skip dumping contents for these.
$amixer -c0 cget numid=16
numid=16,iface=MIXER,name='mdl params'
; type=BYTES,access=-----RW-,values=30336
; ASoC TLV Byte control, skipping bytes dump
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
amixer/amixer.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/amixer/amixer.c b/amixer/amixer.c
index db1849333da3..f9b09cb54276 100644
--- a/amixer/amixer.c
+++ b/amixer/amixer.c
@@ -682,6 +682,14 @@ static int show_control(const char *space, snd_hctl_elem_t *elem,
__skip_read:
if (!snd_ctl_elem_info_is_tlv_readable(info))
goto __skip_tlv;
+ /* skip ASoC ext bytes controls that may have huge binary TLV data */
+ if (type == SND_CTL_ELEM_TYPE_BYTES &&
+ !snd_ctl_elem_info_is_readable(info) &&
+ !snd_ctl_elem_info_is_writable(info)) {
+ printf("%s; ASoC TLV Byte control, skipping bytes dump\n", space);
+ goto __skip_tlv;
+ }
+
tlv = malloc(4096);
if ((err = snd_hctl_elem_tlv_read(elem, tlv, 4096)) < 0) {
error("Control %s element TLV read error: %s\n", card, snd_strerror(err));
--
2.7.0

View File

@ -0,0 +1,391 @@
From 9fa7f6fd0645f822793f8c51d3c3e090716108eb Mon Sep 17 00:00:00 2001
From: "Lu, Han" <han.lu@intel.com>
Date: Wed, 3 Feb 2016 14:20:33 +0800
Subject: [PATCH] alsabat: rename to avoid naming conflict
alsa-utils as well as bareos-bat (as well a some Bacula packages)
all contain a program called /usr/bin/bat, which causes conflicts on
various distributions ("basic audio tester" vs "bareos administration
tool"("bacula administration tool")).
Rename to avoid conflict.
Signed-off-by: Lu, Han <han.lu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
bat/Makefile.am | 10 ++--
bat/alsabat.1 | 159 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
bat/bat.1 | 158 -------------------------------------------------------
bat/bat.c | 2 +-
4 files changed, 165 insertions(+), 164 deletions(-)
create mode 100644 bat/alsabat.1
delete mode 100644 bat/bat.1
diff --git a/bat/Makefile.am b/bat/Makefile.am
index f0dc5abbbe46..8dfafa99e179 100644
--- a/bat/Makefile.am
+++ b/bat/Makefile.am
@@ -1,9 +1,9 @@
-bin_PROGRAMS = bat
-man_MANS = bat.1
+bin_PROGRAMS = alsabat
+man_MANS = alsabat.1
-EXTRA_DIST = bat.1
+EXTRA_DIST = alsabat.1
-bat_SOURCES = \
+alsabat_SOURCES = \
bat.c \
common.c \
analyze.c \
@@ -21,4 +21,4 @@ noinst_HEADERS = \
AM_CPPFLAGS = \
-Wall -I$(top_srcdir)/include
-bat_LDADD = @FFTW_LIB@
+alsabat_LDADD = @FFTW_LIB@
diff --git a/bat/alsabat.1 b/bat/alsabat.1
new file mode 100644
index 000000000000..8d0b9c0b9c0e
--- /dev/null
+++ b/bat/alsabat.1
@@ -0,0 +1,159 @@
+.TH ALSABAT 1 "20th October 2015"
+.SH NAME
+alsabat \- command\-line sound tester for ALSA sound card driver
+
+.SH SYNOPSIS
+\fBalsabat\fP [\fIflags\fP]
+
+.SH DESCRIPTION
+\fBALSABAT(ALSA Basic Audio Tester)\fP is a simple command\-line utility
+intended to help automate audio driver and sound server testing with little
+human interaction. ALSABAT can be used to test audio quality, stress test
+features and test audio before and after PM state changes.
+
+ALSABAT's design is relatively simple. ALSABAT plays an audio stream and
+captures the same stream in either a digital or analog loop back. It then
+compares the captured stream using a FFT to the original to determine if
+the test case passes or fails.
+
+ALSABAT can either run wholly on the target machine being tested (standalone
+mode) or can run as a client/server mode where by alsabat client runs on the
+target and runs as a server on a separate tester machine. The client/server
+mode still requires some manual interaction for synchronization, but this
+is actively being developed for future releases.
+
+The hardware testing configuration may require the use of an analog cable
+connecting target to tester machines or a cable to create an analog
+loopback if no loopback mode is not available on the sound hardware that
+is being tested.
+An analog loopback cable can be used to connect the "line in" to "line out"
+jacks to create a loopback. If only headphone and mic jacks (or combo jack)
+are available then the following simple circuit can be used to create an
+analog loopback :-
+
+https://source.android.com/devices/audio/loopback.html
+
+.SH OPTIONS
+.TP
+\fI\-h, \-\-help\fP
+Help: show syntax.
+.TP
+\fI\-D\fP
+Select sound card to be tested by name.
+.TP
+\fI\-P\fP
+Select the playback PCM device.
+.TP
+\fI\-C\fP
+Select the capture PCM device.
+.TP
+\fI\-f\fP
+Sample format
+.br
+Recognized sample formats are: U8 S16_LE S24_3LE S32_LE
+.br
+Some of these may not be available on selected hardware
+.br
+The available format shortcuts are:
+.nf
+\-f cd (16 bit little endian, 44100, stereo) [\-f S16_LE \-c2 \-r44100]
+\-f dat (16 bit little endian, 48000, stereo) [\-f S16_LE \-c2 \-r48000]
+.fi
+If no format is given S16_LE is used.
+.TP
+\fI\-c\fP
+The number of channels. The default is one channel.
+Valid values at the moment are 1 or 2.
+.TP
+\fI\-r\fP
+Sampling rate in Hertz. The default rate is 44100 Hertz.
+Valid values depends on hardware support.
+.TP
+\fI\-n\fP
+Duration of generated signal.
+The value could be either of the two forms:
+.br
+1. Decimal integer, means number of frames;
+.br
+2. Floating point with suffix 's', means number of seconds.
+.br
+The default is 2 seconds.
+.TP
+\fI\-k\fP
+Sigma k value for analysis.
+.br
+The analysis function reads data from WAV file, run FFT against the data
+to get magnitude of frequency vectors, and then calculates the average
+value and standard deviation of frequency vectors. After that, we define
+a threshold:
+.br
+threshold = k * standard_deviation + mean_value
+.br
+Frequencies with amplitude larger than threshold will be recognized as a
+peak, and the frequency with largest peak value will be recognized as a
+detected frequency.
+.br
+ALSABAT then compares the detected frequency to target frequency, to
+decide if the detecting passes or fails.
+.br
+The default value is 3.0.
+.TP
+\fI\-F\fP
+Target frequency for signal generation and analysis, in Hertz.
+The default is 997.0 Hertz.
+Valid range is (DC_THRESHOLD, 40% * Sampling rate).
+.TP
+\fI\-p\fP
+Total number of periods to play or capture.
+.TP
+\fI\-\-log=#\fP
+Write stderr and stdout output to this log file.
+.TP
+\fI\-\-file=#\fP
+Input WAV file for playback.
+.TP
+\fI\-\-saveplay=#\fP
+Target WAV file to save capture test content.
+.TP
+\fI\-\-local\fP
+Internal loopback mode.
+Playback, capture and analysis internal to ALSABAT only. This is intended
+for developers to test new ALSABAT features as no audio is routed outside
+of ALSABAT.
+
+.SH EXAMPLES
+
+.TP
+\fBalsabat \-P plughw:0,0 \-C plughw:0,0 \-c 2 \-f S32_LE \-F 250\fR
+Generate and play a sine wave of 250 Hertz with 2 channel and S32_LE format,
+and then capture and analyze.
+
+.TP
+\fBalsabat \-P plughw:0,0 \-C plughw:0,0 \-\-file 500Hz.wav\fR
+Play the RIFF WAV file "500Hz.wav" which contains 500 Hertz waveform LPCM
+data, and then capture and analyze.
+
+.SH RETURN VALUE
+.br
+On success, returns 0.
+.br
+If no peak be detected, returns -1001;
+.br
+If only DC be detected, returns -1002;
+.br
+If peak frequency does not match with the target frequency, returns -1003.
+
+.SH SEE ALSO
+\fB
+aplay(1)
+\fP
+
+.SH BUGS
+Currently only support RIFF WAV format with PCM data. Please report any bugs to
+the alsa-devel mailing list.
+
+.SH AUTHOR
+\fBalsabat\fP is by Liam Girdwood <liam.r.girdwood@linux.intel.com>, Bernard
+Gautier <bernard.gautier@intel.com> and Han Lu <han.lu@intel.com>.
+This document is by Liam Girdwood <liam.r.girdwood@linux.intel.com> and Han Lu
+<han.lu@intel.com>.
diff --git a/bat/bat.1 b/bat/bat.1
deleted file mode 100644
index e00fc272acdc..000000000000
--- a/bat/bat.1
+++ /dev/null
@@ -1,158 +0,0 @@
-.TH BAT 1 "20th October 2015"
-.SH NAME
-bat \- command\-line sound tester for ALSA sound card driver
-
-.SH SYNOPSIS
-\fBbat\fP [\fIflags\fP]
-
-.SH DESCRIPTION
-\fBBAT(Basic Audio Tester)\fP is a simple command\-line utility intended
-to help automate audio driver and sound server testing with little human
-interaction. BAT can be used to test audio quality, stress test features
-and test audio before and after PM state changes.
-
-BAT's design is relatively simple. BAT plays an audio stream and captures
-the same stream in either a digital or analog loop back. It then compares
-the captured stream using a FFT to the original to determine if the test
-case passes or fails.
-
-BAT can either run wholly on the target machine being tested (standalone
-mode) or can run as a client/server mode where by bat client runs on the
-target and runs as a server on a separate tester machine. The client/server
-mode still requires some manual interaction for synchronization, but this
-is actively being developed for future releases.
-
-The hardware testing configuration may require the use of an analog cable
-connecting target to tester machines or a cable to create an analog
-loopback if no loopback mode is not available on the sound hardware that
-is being tested.
-An analog loopback cable can be used to connect the "line in" to "line out"
-jacks to create a loopback. If only headphone and mic jacks (or combo jack)
-are available then the following simple circuit can be used to create an
-analog loopback :-
-
-https://source.android.com/devices/audio/loopback.html
-
-.SH OPTIONS
-.TP
-\fI\-h, \-\-help\fP
-Help: show syntax.
-.TP
-\fI\-D\fP
-Select sound card to be tested by name.
-.TP
-\fI\-P\fP
-Select the playback PCM device.
-.TP
-\fI\-C\fP
-Select the capture PCM device.
-.TP
-\fI\-f\fP
-Sample format
-.br
-Recognized sample formats are: U8 S16_LE S24_3LE S32_LE
-.br
-Some of these may not be available on selected hardware
-.br
-The available format shortcuts are:
-.nf
-\-f cd (16 bit little endian, 44100, stereo) [\-f S16_LE \-c2 \-r44100]
-\-f dat (16 bit little endian, 48000, stereo) [\-f S16_LE \-c2 \-r48000]
-.fi
-If no format is given S16_LE is used.
-.TP
-\fI\-c\fP
-The number of channels. The default is one channel.
-Valid values at the moment are 1 or 2.
-.TP
-\fI\-r\fP
-Sampling rate in Hertz. The default rate is 44100 Hertz.
-Valid values depends on hardware support.
-.TP
-\fI\-n\fP
-Duration of generated signal.
-The value could be either of the two forms:
-.br
-1. Decimal integer, means number of frames;
-.br
-2. Floating point with suffix 's', means number of seconds.
-.br
-The default is 2 seconds.
-.TP
-\fI\-k\fP
-Sigma k value for analysis.
-.br
-The analysis function reads data from WAV file, run FFT against the data
-to get magnitude of frequency vectors, and then calculates the average
-value and standard deviation of frequency vectors. After that, we define
-a threshold:
-.br
-threshold = k * standard_deviation + mean_value
-.br
-Frequencies with amplitude larger than threshold will be recognized as a
-peak, and the frequency with largest peak value will be recognized as a
-detected frequency.
-.br
-BAT then compares the detected frequency to target frequency, to decide
-if the detecting passes or fails.
-.br
-The default value is 3.0.
-.TP
-\fI\-F\fP
-Target frequency for signal generation and analysis, in Hertz.
-The default is 997.0 Hertz.
-Valid range is (DC_THRESHOLD, 40% * Sampling rate).
-.TP
-\fI\-p\fP
-Total number of periods to play or capture.
-.TP
-\fI\-\-log=#\fP
-Write stderr and stdout output to this log file.
-.TP
-\fI\-\-file=#\fP
-Input WAV file for playback.
-.TP
-\fI\-\-saveplay=#\fP
-Target WAV file to save capture test content.
-.TP
-\fI\-\-local\fP
-Internal loopback mode.
-Playback, capture and analysis internal to BAT only. This is intended for
-developers to test new BAT features as no audio is routed outside of BAT.
-
-.SH EXAMPLES
-
-.TP
-\fBbat \-P plughw:0,0 \-C plughw:0,0 \-c 2 \-f S32_LE \-F 250\fR
-Generate and play a sine wave of 250 Hertz with 2 channel and S32_LE format,
-and then capture and analyze.
-
-.TP
-\fBbat \-P plughw:0,0 \-C plughw:0,0 \-\-file 500Hz.wav\fR
-Play the RIFF WAV file "500Hz.wav" which contains 500 Hertz waveform LPCM
-data, and then capture and analyze.
-
-.SH RETURN VALUE
-.br
-On success, returns 0.
-.br
-If no peak be detected, returns -1001;
-.br
-If only DC be detected, returns -1002;
-.br
-If peak frequency does not match with the target frequency, returns -1003.
-
-.SH SEE ALSO
-\fB
-aplay(1)
-\fP
-
-.SH BUGS
-Currently only support RIFF WAV format with PCM data. Please report any bugs to
-the alsa-devel mailing list.
-
-.SH AUTHOR
-\fBbat\fP is by Liam Girdwood <liam.r.girdwood@linux.intel.com>, Bernard Gautier
-<bernard.gautier@intel.com> and Han Lu <han.lu@intel.com>.
-This document is by Liam Girdwood <liam.r.girdwood@linux.intel.com> and Han Lu
-<han.lu@intel.com>.
diff --git a/bat/bat.c b/bat/bat.c
index 086b9fa4514d..ddb60b753009 100644
--- a/bat/bat.c
+++ b/bat/bat.c
@@ -272,7 +272,7 @@ static void test_capture(struct bat *bat)
static void usage(struct bat *bat)
{
fprintf(bat->log,
-_("Usage: bat [-options]...\n"
+_("Usage: alsabat [-options]...\n"
"\n"
" -h, --help this help\n"
" -D pcm device for both playback and capture\n"
--
2.7.0

View File

@ -1,3 +1,14 @@
-------------------------------------------------------------------
Wed Feb 3 18:04:00 CET 2016 - tiwai@suse.de
- Backport upstream fixes: add alsa-info manpage, fix TLV output of
amixer for ASoC ext ctls, and rename from bat to alsabat
0003-alsa-info.sh-add-man-page.patch
0004-amixer-skip-showing-asoc-tlv-byte-controls.patch
0005-alsabat-rename-to-avoid-naming-conflict.patch
- Rename subpackage from bat to alsabat due to the name conflicts
with other projects
------------------------------------------------------------------- -------------------------------------------------------------------
Mon Nov 9 11:45:30 CET 2015 - tiwai@suse.de Mon Nov 9 11:45:30 CET 2015 - tiwai@suse.de

View File

@ -1,7 +1,7 @@
# #
# spec file for package alsa-utils # spec file for package alsa-utils
# #
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -46,6 +46,9 @@ Source1: 01beep.conf
# Patch: alsa-utils-git-fixes.diff # Patch: alsa-utils-git-fixes.diff
Patch1: 0001-bat-Avoid-local-signal.h-file.patch Patch1: 0001-bat-Avoid-local-signal.h-file.patch
Patch2: 0002-bat-Don-t-pass-incompatible-function-pointers-to-pth.patch Patch2: 0002-bat-Don-t-pass-incompatible-function-pointers-to-pth.patch
Patch3: 0003-alsa-info.sh-add-man-page.patch
Patch4: 0004-amixer-skip-showing-asoc-tlv-byte-controls.patch
Patch5: 0005-alsabat-rename-to-avoid-naming-conflict.patch
Patch99: alsa-utils-gettext-version-removal.diff Patch99: alsa-utils-gettext-version-removal.diff
BuildRequires: alsa-devel BuildRequires: alsa-devel
BuildRequires: automake BuildRequires: automake
@ -67,12 +70,13 @@ BuildRequires: pkgconfig(udev)
This package contains utility programs supporting ALSA, Advanced Linux This package contains utility programs supporting ALSA, Advanced Linux
Sound Architecture. Sound Architecture.
%package -n bat %package -n alsabat
Summary: Command-line sound tester for ALSA sound card driver Summary: Command-line sound tester for ALSA sound card driver
Group: Productivity/Multimedia/Sound/Utilities Group: Productivity/Multimedia/Sound/Utilities
Requires: alsa-utils = %{version} Requires: alsa-utils = %{version}
Obsoletes: bat <= 1.1.0
%description -n bat %description -n alsabat
BAT (Basic Audio Tester) is a simple command-line utility intended BAT (Basic Audio Tester) is a simple command-line utility intended
to help automate audio driver and sound server testing with little human to help automate audio driver and sound server testing with little human
interaction. BAT can be used to test audio quality, stress test features interaction. BAT can be used to test audio quality, stress test features
@ -86,6 +90,9 @@ sed -i -e's/EXTRA_DIST= config.rpath /EXTRA_DIST=/' Makefile.am
# patch -p1 # patch -p1
%patch1 -p1 %patch1 -p1
%patch2 -p1 %patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
# #
%if 0%{?suse_version} < 1020 %if 0%{?suse_version} < 1020
%patch99 -p1 %patch99 -p1
@ -134,8 +141,8 @@ mkdir -p %{buildroot}%{_localstatedir}/lib/alsa
%{_mandir}/man*/* %{_mandir}/man*/*
%{_mandir}/fr %{_mandir}/fr
%{_bindir}/* %{_bindir}/*
%exclude %{_bindir}/bat %exclude %{_bindir}/alsabat
%exclude %{_mandir}/man*/bat.* %exclude %{_mandir}/man*/alsabat.*
%{_sbindir}/* %{_sbindir}/*
%{_datadir}/sounds/alsa %{_datadir}/sounds/alsa
%{_datadir}/alsa %{_datadir}/alsa
@ -149,9 +156,9 @@ mkdir -p %{buildroot}%{_localstatedir}/lib/alsa
%{_localstatedir}/lib/alsa %{_localstatedir}/lib/alsa
%endif %endif
%files -n bat %files -n alsabat
%defattr(-, root, root) %defattr(-, root, root)
%{_bindir}/bat %{_bindir}/alsabat
%{_mandir}/man*/bat.* %{_mandir}/man*/alsabat.*
%changelog %changelog