diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 16:03:18 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 16:03:18 +0000 |
commit | 2dd5bc6a074165ddfbd57c4bd52c2d2dac8f47a1 (patch) | |
tree | 465b29cb405d3af0b0ad50c78e1dccc636594fec /src/utils/pa-info | |
parent | Initial commit. (diff) | |
download | pulseaudio-2dd5bc6a074165ddfbd57c4bd52c2d2dac8f47a1.tar.xz pulseaudio-2dd5bc6a074165ddfbd57c4bd52c2d2dac8f47a1.zip |
Adding upstream version 14.2.upstream/14.2upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/utils/pa-info')
-rwxr-xr-x | src/utils/pa-info | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/src/utils/pa-info b/src/utils/pa-info new file mode 100755 index 0000000..1b1cc29 --- /dev/null +++ b/src/utils/pa-info @@ -0,0 +1,78 @@ +#!/bin/bash + +# This file is part of PulseAudio. +# +# Copyright 2019 Russell Treleaven <rtreleaven@bunnykick.ca> +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>. + +export LC_ALL=C +header='________________' +function cards_get { + local line + local re='/proc/asound/card([0-9])' + local cards=() + while read -r line; do + [[ $line =~ $re ]] && cards+="${BASH_REMATCH[1]} " + done <<< "$(ls --directory /proc/asound/card[0-9])" + echo $cards +} +function jacks_do { + local cards=($(cards_get)) + for card in "${cards[@]}" ; do + echo "card=$card" + while read -r line; do + [[ $line != "" ]] && amixer -c$card cget "$line"; + done <<< "$(amixer -c$card controls | grep Jack)" + done +} +function alsa_info_do { + alsa_info=$(which alsa-info.sh) + [ $alsa_info ] || alsa_info=$(which alsa-info) + [ $alsa_info ] || alsa_info='/usr/share/alsa-base/alsa-info.sh' + [ -f $alsa_info ] && { + $alsa_info --stdout + return + } + echo "neither alsa-info.sh or alsa-info were found" +} +function pulseaudio_ps_do { + ps aux | grep pulseaudio +} +function cmd_do { + echo "$header" + echo "> $1" + $1 +} +cmds=( + 'pulseaudio_ps_do' + 'which pulseaudio' + 'pidof pulseaudio' + 'pulseaudio --version' + 'pactl info' + 'pactl list' + 'cat /etc/pulse/daemon.conf' + 'cat /etc/pulse/client.conf' + 'cat /etc/pulse/default.pa' + 'cat /etc/pulse/system.pa' + 'ls -alt /dev/snd/*' + 'lsof /dev/snd/*' + 'jacks_do' + 'aplay -L' + 'arecord -L' + 'alsa_info_do' +) +for cmd in "${cmds[@]}" ; do + cmd_do "$cmd" +done |