Debian

Available patches from Ubuntu

To see Ubuntu differences wrt. to Debian, write down a grep-dctrl query identifying the packages you're interested in:
grep-dctrl -n -sPackage Sources.Debian
(e.g. -FPackage linux-ntfs or linux-ntfs)

Modified packages are listed below:

Debian ( Changelog | PTS | Bugs ) Ubuntu ( Changelog | txt | LP | Bugs ) | Diff from Ubuntu

Source: alsa-utils

alsa-utils (1.1.9-0ubuntu1) eoan; urgency=medium * New upstream version -- Sebastien Bacher <seb128@ubuntu.com> Tue, 13 Aug 2019 20:29:26 +0200 alsa-utils (1.1.8-2ubuntu1) eoan; urgency=medium * Resynchronize on Debian (lp: #1787359), remaining changes: - Move init script volume settings to new alsactl database: + Set sane level for 'Speaker' and 'Headphone', needed for Dell Mini 9 and Dell E series + ute PC Beep on hda cards that support it during initial volume setup + Mute *Analog/Digital Control for Creative cards by default + Default Digital Input Source to be Digital Mic 1 so that users with digital mic will be able to use it out of the box + Mute "IEC958 Optical Raw" by default + Set sane level for headphone 1 for Dell Studio XPS with 2.6.30 + Prefer built-in digital mics on newer Dells + Unmute 'Line HP Swap' for Dove boards + Set reasonable volume levels for VMWare guests using snd.ens1371 - debian/README.init.cs4236: Include in /usr/share/doc/alsa-utils so that users of snd-cs4236 (e.g., ThinkPad 600) can have audible sound - debian/patches/unset_pulse_internal.patch: We don't want alsamixer to show the pulse mixer by default, since it can be controlled from pulseaudio itself - Add udev rule to apply UCM profiles for panda and equivalent hardware - Add Vcs-Bzr field - Put the daemon file in /var/lib/alsa - Create /run/alsa directory so that systemd services don't fail * Revert the previous change from Debian (done in salsa as well now) -- Sebastien Bacher <seb128@ubuntu.com> Wed, 20 Feb 2019 16:23:24 +0100

Modifications :
  1. Download patch debian/patches/add_extra_volume_defaults.patch

    --- 1.1.8-2/debian/patches/add_extra_volume_defaults.patch 1970-01-01 00:00:00.000000000 +0000 +++ 1.1.9-0ubuntu1/debian/patches/add_extra_volume_defaults.patch 2019-08-13 19:29:24.000000000 +0000 @@ -0,0 +1,113 @@ +Index: alsa-utils-1.1.1/alsactl/init/default +=================================================================== +--- alsa-utils-1.1.1.orig/alsactl/init/default ++++ alsa-utils-1.1.1/alsactl/init/default +@@ -206,6 +206,12 @@ CTL{name}="DAC Playback Switch",CTL{do_s + CTL{values}="on" + + CTL{reset}="mixer" ++CTL{name}="DAC Playback Volume",CTL{index}="1",CTL{do_search}=="1", \ ++ CTL{values}="$env{pvolume}",RESULT!="0",CTL{values}="$env{ppercent}" ++CTL{name}="DAC Playback Switch",CTL{index}="1",CTL{do_search}=="1", \ ++ CTL{values}="on" ++ ++CTL{reset}="mixer" + CTL{name}="Synth Playback Volume",CTL{do_search}=="1", \ + CTL{values}="$env{pvolume}",RESULT!="0",CTL{values}="$env{ppercent}" + CTL{name}="Synth Playback Switch",CTL{do_search}=="1", \ +@@ -247,6 +253,81 @@ CTL{name}="AC97 Playback Volume",CTL{do_ + CTL{name}="AC97 Playback Switch",CTL{do_search}=="1", \ + CTL{values}="on" + ++# Ubuntu bug #19648 ++CTL{reset}="mixer" ++CTL{name}="IEC958 Switch",CTL{do_search}=="1", \ ++ CTL{values}="off" ++CTL{name}="IEC958 Capture Monitor",CTL{do_search}=="1", \ ++ CTL{values}="off" ++# Ubuntu #408370 ++CTL{name}="Optical Raw Playback Switch",CTL{do_search}=="1", \ ++ CTL{values}="off" ++ ++# Ubuntu unknown bug (bug nr probably similar to 5813) ++CTL{reset}="mixer" ++CTL{name}="Master Surround Playback Volume",CTL{do_search}=="1", \ ++ CTL{values}="$env{pvolume}",RESULT!="0",CTL{values}="$env{ppercent}" ++CTL{name}="Master Surround Playback Switch",CTL{do_search}=="1", \ ++ CTL{values}="on" ++ ++# dropped - name not present in kernel 2.6.38: ++# Dynamic Range Compression Volume/Switch ++# VIA DXS ++ ++# Ubuntu - Required for SB Live 7.1/24-bit (ca0106) ++CTL{reset}="mixer" ++CTL{name}="Analog Front Playback Volume",CTL{do_search}=="1", \ ++ CTL{values}="$env{pvolume}",RESULT!="0",CTL{values}="$env{ppercent}" ++CTL{name}="Analog Front Playback Switch",CTL{do_search}=="1", \ ++ CTL{values}="on" ++ ++# Ubuntu #597791 ++CTL{reset}="mixer" ++CTL{name}="Front Speaker Playback Volume",CTL{do_search}=="1", \ ++ CTL{values}="$env{pvolume}",RESULT!="0",CTL{values}="$env{ppercent}" ++CTL{name}="Front Speaker Playback Switch",CTL{do_search}=="1", \ ++ CTL{values}="on" ++ ++# Ubuntu #331589 ++CTL{reset}="mixer" ++CTL{name}="PC Beep Playback Volume",CTL{do_search}=="1", \ ++ CTL{values}="0%" ++CTL{name}="PC Beep Playback Switch",CTL{do_search}=="1", \ ++ CTL{values}="off" ++ ++# Required for hardware allowing toggles for AC97 through IEC958, ++# valid values are 0, 1, 2, 3. Needs to be set to 0 for PCM1. ++CTL{reset}="mixer" ++CTL{name}="IEC958 Playback AC97-SPSA",CTL{do_search}=="1", \ ++ CTL{values}="0" ++ ++# Required on some notebooks with ICH4: ++CTL{reset}="mixer" ++CTL{name}="Headphone Jack Sense",CTL{do_search}=="1", \ ++ CTL{values}="off" ++CTL{name}="Line Jack Sense",CTL{do_search}=="1", \ ++ CTL{values}="off" ++ ++CTL{reset}="mixer" ++CTL{name}="Audigy Analog/Digital Output Jack",CTL{do_search}=="1", \ ++ CTL{values}="off" ++CTL{name}="SB Live Analog/Digital Output Jack",CTL{do_search}=="1", \ ++ CTL{values}="off" ++ ++# HDA-Intel w/ "Digital" capture mixer (See Ubuntu #193823) ++CTL{reset}="mixer" ++CTL{name}="Digital Playback Volume",CTL{do_search}=="1", \ ++ CTL{values}="$env{pvolume}",RESULT!="0",CTL{values}="$env{ppercent}" ++CTL{name}="Digital Playback Switch",CTL{do_search}=="1", \ ++ CTL{values}="on" ++ ++# Dove boards need 'Line HP Swap' unmuted for the jack adjacent ++# to the serial port (Ubuntu #451635) ++CTL{reset}="mixer" ++CTL{name}="Line HP Swap Switch",CTL{do_search}=="1", \ ++ CTL{values}="on" ++ ++ + # + # Powermacs + # +@@ -272,11 +353,13 @@ LABEL="" + + CTL{name}="Input Source",PROGRAM!="__ctl_search", GOTO="" + CTL{enums}=="*|Internal Mic|*",CTL{values}="Internal Mic", GOTO="" ++CTL{enums}=="*|Digital Mic|*",CTL{values}="Digital Mic", GOTO="" + CTL{enums}=="*|Mic|*",CTL{values}="Mic" + LABEL="" + + CTL{name}="Digital Input Source",PROGRAM!="__ctl_search", GOTO="" + CTL{enums}=="*|Digital Mic 1|*",CTL{values}="Digital Mic 1", GOTO="" ++CTL{enums}=="*|Digital Mic|*",CTL{values}="Digital Mic", GOTO="" + CTL{enums}=="*|Mic|*",CTL{values}="Mic" + LABEL="" +
  2. Download patch alsactl/.gitignore

    --- 1.1.8-2/alsactl/.gitignore 2019-01-07 14:01:46.000000000 +0000 +++ 1.1.9-0ubuntu1/alsactl/.gitignore 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -alsa-store.service -alsa-restore.service -90-alsa-restore.rules
  3. Download patch alsa-info/Makefile.in
  4. Download patch po/boldquot.sed

    --- 1.1.8-2/po/boldquot.sed 1970-01-01 00:00:00.000000000 +0000 +++ 1.1.9-0ubuntu1/po/boldquot.sed 2019-05-10 07:12:27.000000000 +0000 @@ -0,0 +1,10 @@ +s/"\([^"]*\)"/“\1”/g +s/`\([^`']*\)'/‘\1’/g +s/ '\([^`']*\)' / ‘\1’ /g +s/ '\([^`']*\)'$/ ‘\1’/g +s/^'\([^`']*\)' /‘\1’ /g +s/“”/""/g +s/“/“/g +s/”/”/g +s/‘/‘/g +s/’/’/g Binary files 1.1.8-2/po/de.gmo and 1.1.9-0ubuntu1/po/de.gmo differ
  5. Download patch m4/progtest.m4

    --- 1.1.8-2/m4/progtest.m4 1970-01-01 00:00:00.000000000 +0000 +++ 1.1.9-0ubuntu1/m4/progtest.m4 2019-05-10 07:12:27.000000000 +0000 @@ -0,0 +1,91 @@ +# progtest.m4 serial 7 (gettext-0.18.2) +dnl Copyright (C) 1996-2003, 2005, 2008-2016 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. +dnl +dnl This file can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper <drepper@cygnus.com>, 1996. + +AC_PREREQ([2.50]) + +# Search path for a program which passes the given test. + +dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, +dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) +AC_DEFUN([AM_PATH_PROG_WITH_TEST], +[ +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which + # contains only /bin. Note that ksh looks also at the FPATH variable, + # so we have to set that as well for the test. + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + || PATH_SEPARATOR=';' + } +fi + +# Find out how to test for executable files. Don't use a zero-byte file, +# as systems may use methods other than mode bits to determine executability. +cat >conf$$.file <<_ASEOF +#! /bin/sh +exit 0 +_ASEOF +chmod +x conf$$.file +if test -x conf$$.file >/dev/null 2>&1; then + ac_executable_p="test -x" +else + ac_executable_p="test -f" +fi +rm -f conf$$.file + +# Extract the first word of "$2", so it can be a program name with args. +set dummy $2; ac_word=[$]2 +AC_MSG_CHECKING([for $ac_word]) +AC_CACHE_VAL([ac_cv_path_$1], +[case "[$]$1" in + [[\\/]]* | ?:[[\\/]]*) + ac_cv_path_$1="[$]$1" # Let the user override the test with a path. + ;; + *) + ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in ifelse([$5], , $PATH, [$5]); do + IFS="$ac_save_IFS" + test -z "$ac_dir" && ac_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then + echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD + if [$3]; then + ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi + fi + done + done + IFS="$ac_save_IFS" +dnl If no 4th arg is given, leave the cache variable unset, +dnl so AC_PATH_PROGS will keep looking. +ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" +])dnl + ;; +esac])dnl +$1="$ac_cv_path_$1" +if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then + AC_MSG_RESULT([$][$1]) +else + AC_MSG_RESULT([no]) +fi +AC_SUBST([$1])dnl +])
  6. Download patch alsactl/init/Makefile.in
  7. Download patch README.md

    --- 1.1.8-2/README.md 2019-01-07 14:01:46.000000000 +0000 +++ 1.1.9-0ubuntu1/README.md 2019-05-10 06:57:22.000000000 +0000 @@ -11,6 +11,7 @@ alsaconf | the ALSA driver configurator alsa-info | a script to gather information about ALSA subsystem alsactl | an utility for soundcard settings management aplay/arecord | an utility for the playback / capture of .wav,.voc,.au files +axfer | an utility to transfer audio data frame (enhancement of aplay) amixer | a command line mixer alsamixer | a ncurses mixer amidi | a utility to send/receive sysex dumps or other MIDI data
  8. Download patch po/en@boldquot.header

    --- 1.1.8-2/po/en@boldquot.header 1970-01-01 00:00:00.000000000 +0000 +++ 1.1.9-0ubuntu1/po/en@boldquot.header 2019-05-10 07:12:27.000000000 +0000 @@ -0,0 +1,25 @@ +# All this catalog "translates" are quotation characters. +# The msgids must be ASCII and therefore cannot contain real quotation +# characters, only substitutes like grave accent (0x60), apostrophe (0x27) +# and double quote (0x22). These substitutes look strange; see +# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html +# +# This catalog translates grave accent (0x60) and apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019). +# It also translates pairs of apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019) +# and pairs of quotation mark (0x22) to +# left double quotation mark (U+201C) and right double quotation mark (U+201D). +# +# When output to an UTF-8 terminal, the quotation characters appear perfectly. +# When output to an ISO-8859-1 terminal, the single quotation marks are +# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to +# grave/acute accent (by libiconv), and the double quotation marks are +# transliterated to 0x22. +# When output to an ASCII terminal, the single quotation marks are +# transliterated to apostrophes, and the double quotation marks are +# transliterated to 0x22. +# +# This catalog furthermore displays the text between the quotation marks in +# bold face, assuming the VT100/XTerm escape sequences. +#
  9. Download patch amixer/go

    --- 1.1.8-2/amixer/go 2019-01-07 14:01:46.000000000 +0000 +++ 1.1.9-0ubuntu1/amixer/go 1970-01-01 00:00:00.000000000 +0000 @@ -1,10 +0,0 @@ -#!/bin/bash - -#GDB="gdb --args" -GDB="" - -ALSA_MIXER_SIMPLE_MODULES="$HOME/hg/alsa-lib/modules/mixer/simple/.libs" \ -ALSA_MIXER_SIMPLE="$HOME/hg/alsa-lib/src/conf/smixer.conf" \ -ALSA_MIXER_SIMPLE_MPYTHON="$HOME/hg/alsa-lib/modules/mixer/simple/python/main.py" \ -LD_PRELOAD="$HOME/hg/alsa-lib/src/.libs/libasound.so" \ -$GDB ./amixer "$@"
  10. Download patch alsaloop/effect-sweep.c

    --- 1.1.8-2/alsaloop/effect-sweep.c 2019-01-07 14:01:46.000000000 +0000 +++ 1.1.9-0ubuntu1/alsaloop/effect-sweep.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,128 +0,0 @@ -/* - * Bandpass filter sweep effect - * Copyright (c) Maarten de Boer <mdeboer@iua.upf.es> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program 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 General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#include <math.h> -#include <alsa/asoundlib.h> - -struct effect_private { - /* filter the sweep variables */ - float lfo,dlfo,fs,fc,BW,C,D,a0,a1,a2,b1,b2,*x[3],*y[3]; - float lfo_depth, lfo_center; - unsigned int channels; -}; - -static int effect_init(struct lookback *loopback, - void *private_data, - snd_pcm_access_t access, - unsigned int channels, - unsigned int rate, - snd_pcm_format_t format) -{ - struct effect_private *priv = private_data; - int i; - -#if __BYTE_ORDER == __LITTLE_ENDIAN - if (format != SND_PCM_FORMAT_S16_LE) - return -EIO; -#elif __BYTE_ORDER == __BIG_ENDIAN - if (format != SND_PCM_FORMAT_S16_BE) - return -EIO; -#else - return -EIO; -#endif - priv->fs = (float) rate; - priv->channels = channels; - for (i = 0; i < 3; i++) { - priv->x[i] = calloc(channels * sizeof(float)); - priv->y[i] = calloc(channels * sizeof(float)); - } - return 0; -} - -static int effect_done(struct loopback *loopback, - void *private_data) -{ - struct effect_private *priv = private_data; - int i; - - for (i = 0; i < 3; i++) { - free(priv->x[i]); - free(priv->y[i]); - } - return 0; -} - -static int effect_apply(struct loopback *loopback, - void *private_data, - const snd_pcm_channel_area_t *areas, - snd_uframes_t offset, - snd_uframes_t frames) -{ - struct effect_private *priv = private_data; - short *samples = (short*)areas[0].addr + offset*priv->channels; - snd_uframes_t i; - - for (i=0; i < frames; i++) { - int chn; - - fc = sin(priv->lfo)*priv->lfo_depth+priv->lfo_center; - priv->lfo += priv->dlfo; - if (priv->lfo>2.*M_PI) priv->lfo -= 2.*M_PI; - priv->C = 1./tan(M_PI*priv->BW/priv->fs); - priv->D = 2.*cos(2*M_PI*fc/fs); - priv->a0 = 1./(1.+priv->C); - priv->a1 = 0; - priv->a2 = -priv->a0; - priv->b1 = -priv->C*priv->D*a0; - priv->b2 = (priv->C-1)*priv->a0; - - for (chn=0; chn < priv->channels; chn++) - { - priv->x[chn][2] = priv->x[chn][1]; - priv->x[chn][1] = priv->x[chn][0]; - - priv->y[chn][2] = priv->y[chn][1]; - priv->y[chn][1] = priv->y[chn][0]; - - priv->x[chn][0] = samples[i*channels+chn]; - priv->y[chn][0] = priv->a0*priv->x[0][chn] - + priv->a1*priv->x[1][chn] + priv->a2*x[2][chn] - - priv->b1*priv->y[1][chn] - priv->b2*y[2][chn]; - samples[i*channels+chn] = priv->y[chn][0]; - } - } - return 0; -} - -void effect_init_sweep(void) -{ - struct effect_private *priv; - - priv = register_effect(effect_init, - effect_apply, - effect_done, - sizeof(struct effectprivate)); - if (priv) { - priv->lfo_center = 2000.; - priv->lfo_depth = 1800.; - priv->lfo_freq = 0.2; - priv->BW = 50; - } -}
  11. Download patch po/de.po
  12. Download patch po/en@quot.header

    --- 1.1.8-2/po/en@quot.header 1970-01-01 00:00:00.000000000 +0000 +++ 1.1.9-0ubuntu1/po/en@quot.header 2019-05-10 07:12:27.000000000 +0000 @@ -0,0 +1,22 @@ +# All this catalog "translates" are quotation characters. +# The msgids must be ASCII and therefore cannot contain real quotation +# characters, only substitutes like grave accent (0x60), apostrophe (0x27) +# and double quote (0x22). These substitutes look strange; see +# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html +# +# This catalog translates grave accent (0x60) and apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019). +# It also translates pairs of apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019) +# and pairs of quotation mark (0x22) to +# left double quotation mark (U+201C) and right double quotation mark (U+201D). +# +# When output to an UTF-8 terminal, the quotation characters appear perfectly. +# When output to an ISO-8859-1 terminal, the single quotation marks are +# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to +# grave/acute accent (by libiconv), and the double quotation marks are +# transliterated to 0x22. +# When output to an ASCII terminal, the single quotation marks are +# transliterated to apostrophes, and the double quotation marks are +# transliterated to 0x22. +# Binary files 1.1.8-2/po/fr.gmo and 1.1.9-0ubuntu1/po/fr.gmo differ
  13. Download patch m4/po.m4
  14. Download patch axfer/axfer-transfer.1
  15. Download patch m4/lib-prefix.m4
  16. Download patch config.sub
  17. Download patch config.guess
  18. Download patch axfer/xfer-libasound-irq-mmap.c

    --- 1.1.8-2/axfer/xfer-libasound-irq-mmap.c 2019-01-07 14:01:46.000000000 +0000 +++ 1.1.9-0ubuntu1/axfer/xfer-libasound-irq-mmap.c 2019-05-10 06:57:22.000000000 +0000 @@ -110,7 +110,7 @@ static int irq_mmap_process_frames(struc // MEMO: either snd_pcm_avail_update() and snd_pcm_mmap_begin() can // return the same number of available frames. avail = snd_pcm_avail_update(state->handle); - if (avail < 0) + if ((snd_pcm_sframes_t)avail < 0) return (int)avail; if (*frame_count < avail) avail = *frame_count;
  19. Download patch include/version.h

    --- 1.1.8-2/include/version.h 1970-01-01 00:00:00.000000000 +0000 +++ 1.1.9-0ubuntu1/include/version.h 2019-05-10 07:12:39.000000000 +0000 @@ -0,0 +1,12 @@ +/* + * version.h + */ + +#define SND_UTIL_MAJOR 1 +#define SND_UTIL_MINOR 1 +#define SND_UTIL_SUBMINOR 9 +#define SND_UTIL_VERSION ((SND_UTIL_MAJOR<<16)|\ + (SND_UTIL_MINOR<<8)|\ + SND_UTIL_SUBMINOR) +#define SND_UTIL_VERSION_STR "1.1.9" +
  20. Download patch debian/patches/create_run_alsa.patch

    --- 1.1.8-2/debian/patches/create_run_alsa.patch 1970-01-01 00:00:00.000000000 +0000 +++ 1.1.9-0ubuntu1/debian/patches/create_run_alsa.patch 2019-08-13 19:29:24.000000000 +0000 @@ -0,0 +1,22 @@ +Index: alsa-utils-1.1.8/alsactl/alsa-restore.service.in +=================================================================== +--- alsa-utils-1.1.8.orig/alsactl/alsa-restore.service.in ++++ alsa-utils-1.1.8/alsactl/alsa-restore.service.in +@@ -13,5 +13,6 @@ ConditionPathExists=@asoundrcfile@ + [Service] + Type=oneshot + RemainAfterExit=true ++ExecStartPre=/bin/mkdir -p @alsactlhome@ + ExecStart=-@sbindir@/alsactl -E HOME=@alsactlhome@ restore + ExecStop=-@sbindir@/alsactl -E HOME=@alsactlhome@ store +Index: alsa-utils-1.1.8/alsactl/alsa-state.service.in +=================================================================== +--- alsa-utils-1.1.8.orig/alsactl/alsa-state.service.in ++++ alsa-utils-1.1.8/alsactl/alsa-state.service.in +@@ -10,5 +10,6 @@ ConditionPathExists=@daemonswitch@ + + [Service] + Type=simple ++ExecStartPre=/bin/mkdir -p @alsactlhome@ + ExecStart=-@sbindir@/alsactl -E HOME=@alsactlhome@ -s -n 19 -c rdaemon + ExecStop=-@sbindir@/alsactl -E HOME=@alsactlhome@ -s kill save_and_quit
  21. Download patch axfer/container-voc.c

    --- 1.1.8-2/axfer/container-voc.c 2019-01-07 14:01:46.000000000 +0000 +++ 1.1.9-0ubuntu1/axfer/container-voc.c 2019-05-10 06:57:22.000000000 +0000 @@ -234,7 +234,7 @@ static int build_time_constant(unsigned frames_per_second) break; } - if (i < ARRAY_SIZE(ex_v110_time_consts) || + if (i < ARRAY_SIZE(ex_v110_time_consts) && frames_per_second <= 192000) { *code = ex_v110_time_consts[i].code; } else { @@ -520,29 +520,31 @@ static int detect_format_block(struct co { struct parser_state *state = cntr->private_data; struct block_header header; - void *buf = NULL; + void *buf; int err; again: + buf = NULL; err = cache_data_block(cntr, &header, &buf); if (err < 0) return err; + if (buf) { + if (header.type == BLOCK_TYPE_EXTENDED_V110_FORMAT) { + err = parse_extended_v110_format(state, buf); + } else if (header.type == BLOCK_TYPE_V120_DATA) { + err = parse_v120_format_block(state, buf); + } else if (header.type == BLOCK_TYPE_V110_DATA) { + err = parse_v110_data(state, buf); + } else { + free(buf); + goto again; + } - if (header.type == BLOCK_TYPE_EXTENDED_V110_FORMAT) { - err = parse_extended_v110_format(state, buf); - } else if (header.type == BLOCK_TYPE_V120_DATA) { - err = parse_v120_format_block(state, buf); - } else if (header.type == BLOCK_TYPE_V110_DATA) { - err = parse_v110_data(state, buf); - } else { free(buf); - goto again; - } - - free(buf); - if (err < 0) - return err; + if (err < 0) + return err; + } // Expect to detect block_v110_data. if (header.type == BLOCK_TYPE_EXTENDED_V110_FORMAT) @@ -620,8 +622,8 @@ static int write_v120_format_block(struc build_block_data_size(block->size, 12 + byte_count); block->frames_per_second = htole32(frames_per_second); - block->bits_per_sample = htole16(state->bytes_per_sample * 8); - block->samples_per_frame = htole16(state->samples_per_frame); + block->bits_per_sample = state->bytes_per_sample * 8; + block->samples_per_frame = state->samples_per_frame; block->code_id = htole16(state->code_id); return container_recursive_write(cntr, block, sizeof(*block));
  22. Download patch iecset/Makefile.in
  23. Download patch aplay/arecord.1
  24. Download patch debian/90-alsa-ucm.rules

    --- 1.1.8-2/debian/90-alsa-ucm.rules 1970-01-01 00:00:00.000000000 +0000 +++ 1.1.9-0ubuntu1/debian/90-alsa-ucm.rules 2019-08-13 19:29:24.000000000 +0000 @@ -0,0 +1,14 @@ +SUBSYSTEM!="sound", GOTO="sound_end" +ACTION!="change", GOTO="sound_end" +KERNEL!="card*", GOTO="sound_end" + +ATTRS{id}=="PandaBoard", RUN+="/usr/bin/alsaucm -c PandaBoard set _verb HiFi" +ATTRS{id}=="PandaBoard", RUN+="/usr/bin/alsaucm -c PandaBoard set _verb Record" +ATTRS{id}=="PandaBoardES", RUN+="/usr/bin/alsaucm -c PandaBoardES set _verb HiFi" +ATTRS{id}=="PandaBoardES", RUN+="/usr/bin/alsaucm -c PandaBoardES set _verb Record" +ATTRS{id}=="SDP4430", RUN+="/usr/bin/alsaucm -c SDP4430 set _verb HiFi" +ATTRS{id}=="SDP4430", RUN+="/usr/bin/alsaucm -c SDP4430 set _verb Record" +ATTRS{id}=="tegraalc5632", RUN+="/usr/bin/alsaucm -c tegraalc5632" +ATTRS{id}=="DAISY-I2S", RUN+="/usr/bin/alsaucm -c DAISY-I2S set _verb HiFi" + +LABEL="sound_end"
  25. Download patch axfer/test/mapper-test.c

    --- 1.1.8-2/axfer/test/mapper-test.c 2019-01-07 14:01:46.000000000 +0000 +++ 1.1.9-0ubuntu1/axfer/test/mapper-test.c 2019-05-10 06:57:22.000000000 +0000 @@ -71,7 +71,7 @@ static int test_demux(struct mapper_tria unsigned int bytes_per_sample; uint64_t total_frame_count; int i; - int err; + int err = 0; for (i = 0; i < cntr_count; ++i) { snd_pcm_format_t format; @@ -163,7 +163,7 @@ static int test_mux(struct mapper_trial unsigned int bytes_per_sample; uint64_t total_frame_count; int i; - int err; + int err = 0; for (i = 0; i < cntr_count; ++i) { snd_pcm_format_t format; @@ -300,8 +300,10 @@ static int test_vector(struct mapper_tri for (i = 0; i < cntr_count; ++i) { bufs[i] = malloc(size); - if (bufs[i] == NULL) + if (bufs[i] == NULL) { + err = -ENOMEM; goto end; + } memset(bufs[i], 0, size); }
  26. Download patch bat/tests/Makefile.in
  27. Download patch amidi/Makefile.in
  28. Download patch include/Makefile.in
  29. Download patch alsactl/monitor.c

    --- 1.1.8-2/alsactl/monitor.c 2019-01-07 14:01:46.000000000 +0000 +++ 1.1.9-0ubuntu1/alsactl/monitor.c 2019-05-10 06:57:22.000000000 +0000 @@ -369,8 +369,6 @@ static int run_dispatcher(int epfd, int remove_source_entry(entry); } } - if (err < 0) - break; } end: free(epev);
  30. Download patch po/quot.sed

    --- 1.1.8-2/po/quot.sed 1970-01-01 00:00:00.000000000 +0000 +++ 1.1.9-0ubuntu1/po/quot.sed 2019-05-10 07:12:27.000000000 +0000 @@ -0,0 +1,6 @@ +s/"\([^"]*\)"/“\1”/g +s/`\([^`']*\)'/‘\1’/g +s/ '\([^`']*\)' / ‘\1’ /g +s/ '\([^`']*\)'$/ ‘\1’/g +s/^'\([^`']*\)' /‘\1’ /g +s/“”/""/g
  31. Download patch alsactl/init_parse.c

    --- 1.1.8-2/alsactl/init_parse.c 2019-01-07 14:01:46.000000000 +0000 +++ 1.1.9-0ubuntu1/alsactl/init_parse.c 2019-05-10 06:57:22.000000000 +0000 @@ -1675,8 +1675,10 @@ static int parse(struct space *space, co linenum = 0; linesize = 128; line = malloc(linesize); - if (line == NULL) + if (line == NULL) { + file_unmap(buf, bufsize); return -ENOMEM; + } space->filename = filename; while (!err && pos < bufsize && !space->quit) { count = line_width(buf, bufsize, pos);
  32. Download patch alsaconf/Makefile.in
  33. Download patch seq/aconnect/Makefile.in
  34. Download patch po/stamp-po

    --- 1.1.8-2/po/stamp-po 1970-01-01 00:00:00.000000000 +0000 +++ 1.1.9-0ubuntu1/po/stamp-po 2019-05-10 07:12:44.000000000 +0000 @@ -0,0 +1 @@ +timestamp
  35. Download patch install-sh
  36. Download patch alsaucm/go.sh

    --- 1.1.8-2/alsaucm/go.sh 2019-01-07 14:01:46.000000000 +0000 +++ 1.1.9-0ubuntu1/alsaucm/go.sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ -#!/bin/bash - -#GDB="gdb --args" - -ALSA_CONFIG_UCM="$HOME/alsa/alsa-lib/test/ucm" \ -LD_PRELOAD="$HOME/alsa/alsa-lib/src/.libs/libasound.so" \ -$GDB ./alsaucm "$@"
  37. Download patch alsamixer/volume_mapping.c

    --- 1.1.8-2/alsamixer/volume_mapping.c 2019-01-07 14:01:46.000000000 +0000 +++ 1.1.9-0ubuntu1/alsamixer/volume_mapping.c 2019-05-10 06:57:22.000000000 +0000 @@ -36,11 +36,6 @@ #include <stdbool.h> #include "volume_mapping.h" -#ifdef __UCLIBC__ -/* 10^x = 10^(log e^x) = (e^x)^log10 = e^(x * log 10) */ -#define exp10(x) (exp((x) * log(10))) -#endif /* __UCLIBC__ */ - #define MAX_LINEAR_DB_SCALE 24 static inline bool use_linear_dB_scale(long dBmin, long dBmax)
  38. Download patch alsamixer/Makefile.am

    --- 1.1.8-2/alsamixer/Makefile.am 2019-01-07 14:01:46.000000000 +0000 +++ 1.1.9-0ubuntu1/alsamixer/Makefile.am 2019-05-10 06:57:22.000000000 +0000 @@ -1,4 +1,4 @@ -AM_CFLAGS = @CURSES_CFLAGS@ -DCURSESINC="@CURSESINC@" +AM_CFLAGS = -D_GNU_SOURCE @CURSES_CFLAGS@ -DCURSESINC="@CURSESINC@" LDADD = @CURSESLIB@ bin_PROGRAMS = alsamixer
  39. Download patch debian/control

    --- 1.1.8-2/debian/control 2019-03-30 09:18:40.000000000 +0000 +++ 1.1.9-0ubuntu1/debian/control 2019-08-13 19:29:24.000000000 +0000 @@ -1,7 +1,8 @@ Source: alsa-utils Section: sound Priority: optional -Maintainer: Debian ALSA Maintainers <pkg-alsa-devel@lists.alioth.debian.org> +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +XSBC-Original-Maintainer: Debian ALSA Maintainers <pkg-alsa-devel@lists.alioth.debian.org> Uploaders: Jordi Mallach <jordi@debian.org>, Elimar Riesebieter <riesebie@lxtec.de>, Luke Yelavich <themuso@ubuntu.com>
  40. Download patch m4/lib-link.m4
  41. Download patch axfer/container.c

    --- 1.1.8-2/axfer/container.c 2019-01-07 14:01:46.000000000 +0000 +++ 1.1.9-0ubuntu1/axfer/container.c 2019-05-10 06:57:22.000000000 +0000 @@ -296,7 +296,7 @@ int container_context_pre_process(struct unsigned int *frames_per_second, uint64_t *frame_count) { - uint64_t byte_count; + uint64_t byte_count = 0; unsigned int bytes_per_frame; int err;
  42. Download patch debian/patches/unset_pulse_internal.patch

    --- 1.1.8-2/debian/patches/unset_pulse_internal.patch 1970-01-01 00:00:00.000000000 +0000 +++ 1.1.9-0ubuntu1/debian/patches/unset_pulse_internal.patch 2019-08-13 19:29:24.000000000 +0000 @@ -0,0 +1,59 @@ +Index: alsa-utils-1.1.1/alsamixer/cli.c +=================================================================== +--- alsa-utils-1.1.1.orig/alsamixer/cli.c ++++ alsa-utils-1.1.1/alsamixer/cli.c +@@ -123,6 +123,10 @@ int main(int argc, char *argv[]) + textdomain(PACKAGE); + #endif + ++ /* We don't want to control a pulseaudio mixer, since that can be done from ++ * pulseaudio itself. */ ++ setenv("PULSE_INTERNAL", "0", 1); ++ + parse_options(argc, argv); + + create_mixer_object(&selem_regopt); +Index: alsa-utils-1.1.1/amixer/amixer.c +=================================================================== +--- alsa-utils-1.1.1.orig/amixer/amixer.c ++++ alsa-utils-1.1.1/amixer/amixer.c +@@ -1764,6 +1764,11 @@ int main(int argc, char *argv[]) + { + int morehelp, level = 0; + int read_stdin = 0; ++ ++ /* We don't want to control a pulseaudio mixer, since that can be done ++ * from pulseaudio itself. */ ++ setenv("PULSE_INTERNAL", "0", 1); ++ + static const struct option long_option[] = + { + {"help", 0, NULL, 'h'}, +Index: alsa-utils-1.1.1/iecset/iecset.c +=================================================================== +--- alsa-utils-1.1.1.orig/iecset/iecset.c ++++ alsa-utils-1.1.1/iecset/iecset.c +@@ -324,6 +324,10 @@ int main(int argc, char **argv) + char tmpname[32]; + int parms[IDX_LAST]; + ++ /* We don't want to control a pulseaudio mixer, since that can be done ++ * from pulseaudio itself. */ ++ setenv("PULSE_INTERNAL", "0", 1); ++ + for (i = 0; i < IDX_LAST; i++) + parms[i] = -1; /* not set */ + +Index: alsa-utils-1.1.1/alsactl/alsactl.c +=================================================================== +--- alsa-utils-1.1.1.orig/alsactl/alsactl.c ++++ alsa-utils-1.1.1/alsactl/alsactl.c +@@ -171,6 +171,8 @@ static void do_nice(int use_nice, int sc + + int main(int argc, char *argv[]) + { ++ setenv("PULSE_INTERNAL", "0", 1); ++ + static const char *const devfiles[] = { + "/dev/snd/controlC", + "/dev/snd/pcmC",
  43. Download patch configure.ac

    --- 1.1.8-2/configure.ac 2019-01-07 14:01:46.000000000 +0000 +++ 1.1.9-0ubuntu1/configure.ac 2019-05-10 07:12:28.000000000 +0000 @@ -1,6 +1,6 @@ dnl Process this file with autoconf to produce a configure script. AC_PREREQ(2.59) -AC_INIT(alsa-utils, 1.1.8) +AC_INIT(alsa-utils, 1.1.9) AC_CONFIG_SRCDIR([aplay/aplay.c]) AC_PREFIX_DEFAULT(/usr) AM_INIT_AUTOMAKE
  44. Download patch seq/aseqdump/Makefile.in
  45. Download patch axfer/container.h

    --- 1.1.8-2/axfer/container.h 2019-01-07 14:01:46.000000000 +0000 +++ 1.1.9-0ubuntu1/axfer/container.h 2019-05-10 06:57:22.000000000 +0000 @@ -120,7 +120,7 @@ extern const struct container_builder co extern const struct container_parser container_parser_voc; extern const struct container_builder container_builder_voc; -const struct container_parser container_parser_raw; -const struct container_builder container_builder_raw; +extern const struct container_parser container_parser_raw; +extern const struct container_builder container_builder_raw; #endif
  46. Download patch po/remove-potcdate.sin

    --- 1.1.8-2/po/remove-potcdate.sin 1970-01-01 00:00:00.000000000 +0000 +++ 1.1.9-0ubuntu1/po/remove-potcdate.sin 2019-05-10 07:12:27.000000000 +0000 @@ -0,0 +1,19 @@ +# Sed script that remove the POT-Creation-Date line in the header entry +# from a POT file. +# +# The distinction between the first and the following occurrences of the +# pattern is achieved by looking at the hold space. +/^"POT-Creation-Date: .*"$/{ +x +# Test if the hold space is empty. +s/P/P/ +ta +# Yes it was empty. First occurrence. Remove the line. +g +d +bb +:a +# The hold space was nonempty. Following occurrences. Do nothing. +x +:b +}
  47. Download patch alsactl/Makefile.in
  48. Download patch bat/Makefile.in
  49. Download patch alsamixer/Makefile.in
  50. Download patch m4/lib-ld.m4

    --- 1.1.8-2/m4/lib-ld.m4 1970-01-01 00:00:00.000000000 +0000 +++ 1.1.9-0ubuntu1/m4/lib-ld.m4 2019-05-10 07:12:27.000000000 +0000 @@ -0,0 +1,119 @@ +# lib-ld.m4 serial 6 +dnl Copyright (C) 1996-2003, 2009-2016 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl Subroutines of libtool.m4, +dnl with replacements s/_*LT_PATH/AC_LIB_PROG/ and s/lt_/acl_/ to avoid +dnl collision with libtool.m4. + +dnl From libtool-2.4. Sets the variable with_gnu_ld to yes or no. +AC_DEFUN([AC_LIB_PROG_LD_GNU], +[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld], +[# I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 </dev/null` in +*GNU* | *'with BFD'*) + acl_cv_prog_gnu_ld=yes + ;; +*) + acl_cv_prog_gnu_ld=no + ;; +esac]) +with_gnu_ld=$acl_cv_prog_gnu_ld +]) + +dnl From libtool-2.4. Sets the variable LD. +AC_DEFUN([AC_LIB_PROG_LD], +[AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl + +AC_ARG_WITH([gnu-ld], + [AS_HELP_STRING([--with-gnu-ld], + [assume the C compiler uses GNU ld [default=no]])], + [test "$withval" = no || with_gnu_ld=yes], + [with_gnu_ld=no])dnl + +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which + # contains only /bin. Note that ksh looks also at the FPATH variable, + # so we have to set that as well for the test. + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + || PATH_SEPARATOR=';' + } +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by $CC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]]* | ?:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'` + while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL([acl_cv_path_LD], +[if test -z "$LD"; then + acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$acl_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + acl_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$acl_cv_path_LD" -v 2>&1 </dev/null` in + *GNU* | *'with BFD'*) + test "$with_gnu_ld" != no && break + ;; + *) + test "$with_gnu_ld" != yes && break + ;; + esac + fi + done + IFS="$acl_save_ifs" +else + acl_cv_path_LD="$LD" # Let the user override the test with a path. +fi]) +LD="$acl_cv_path_LD" +if test -n "$LD"; then + AC_MSG_RESULT([$LD]) +else + AC_MSG_RESULT([no]) +fi +test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) +AC_LIB_PROG_LD_GNU +])
  51. Download patch .gitignore

    --- 1.1.8-2/.gitignore 2019-01-07 14:01:46.000000000 +0000 +++ 1.1.9-0ubuntu1/.gitignore 1970-01-01 00:00:00.000000000 +0000 @@ -1,69 +0,0 @@ -!.travis.yml -configure -config.log -config.cache -config.status -config.guess -config.rpath -config.sub -Makefile.conf -confdefs.h -aclocal.m4 -Makefile -Makefile.in -version -autom4te.cache -compile -depcomp -missing -install-sh -mkinstalldirs -ABOUT-NLS -*.ok -*.gmo -*.o -*~ -.deps - -alsactl/alsactl -alsactl/alsactl_init.7 -alsactl/alsa-state.service -alsactl/alsa-restore.service -alsactl/alsa-store.service -alsaconf/alsaconf -alsamixer/alsamixer -amidi/amidi -amixer/amixer -aplay/aplay -aplay/arecord -aplay/arecord.1 -bat/alsabat -iecset/iecset -seq/aconnect/aconnect -seq/aplaymidi/aplaymidi -seq/aplaymidi/arecordmidi -seq/aseqdump/aseqdump -seq/aseqnet/aseqnet -speaker-test/speaker-test -alsaloop/alsaloop -alsaucm/alsaucm -alsaucm/alsaucm.1 -alsaucm/89-alsa-ucm.rules -topology/alsatplg - -include/aconfig.h* -include/stamp-* -include/version.h -po/Makefile* -po/POTFILES -po/Rules-quot -po/*.header -po/*.sin -po/*.sed -po/*.gmo -po/stamp-po -po/alsa-utils.pot -po/Makevars.template -po/ChangeLog -m4/* -utils/*.spec
  52. Download patch axfer/xfer-options.c

    --- 1.1.8-2/axfer/xfer-options.c 2019-01-07 14:01:46.000000000 +0000 +++ 1.1.9-0ubuntu1/axfer/xfer-options.c 2019-05-10 06:57:22.000000000 +0000 @@ -349,8 +349,11 @@ int xfer_options_parse_args(struct xfer_ xfer->multiple_cntrs = true; else if (key == OPT_DUMP_HW_PARAMS) xfer->dump_hw_params = true; - else if (key == '?') + else if (key == '?') { + free(l_opts); + free(s_opts); return -EINVAL; + } else if (key == OPT_MAX_FILE_TIME || key == OPT_USE_STRFTIME || key == OPT_PROCESS_ID_FILE || @@ -395,7 +398,7 @@ void xfer_options_calculate_duration(str uint64_t frame_count; if (xfer->duration_seconds > 0) { - frame_count = xfer->duration_seconds * xfer->frames_per_second; + frame_count = (uint64_t)xfer->duration_seconds * (uint64_t)xfer->frames_per_second; if (frame_count < *total_frame_count) *total_frame_count = frame_count; }
  53. Download patch alsaloop/Makefile.in
  54. Download patch missing
  55. Download patch config.rpath
  56. Download patch axfer/test/Makefile.am

    --- 1.1.8-2/axfer/test/Makefile.am 2019-01-07 14:01:46.000000000 +0000 +++ 1.1.9-0ubuntu1/axfer/test/Makefile.am 2019-05-10 06:57:22.000000000 +0000 @@ -14,6 +14,7 @@ container_test_SOURCES = \ ../container-voc.c \ ../container-raw.c \ generator.c \ + generator.h \ container-test.c mapper_test_SOURCES = \ @@ -28,4 +29,5 @@ mapper_test_SOURCES = \ ../mapper-single.c \ ../mapper-multiple.c \ generator.c \ + generator.h \ mapper-test.c
  57. Download patch amixer/Makefile.am

    --- 1.1.8-2/amixer/Makefile.am 2019-01-07 14:01:46.000000000 +0000 +++ 1.1.9-0ubuntu1/amixer/Makefile.am 2019-05-10 06:57:22.000000000 +0000 @@ -1,3 +1,4 @@ +AM_CFLAGS = -D_GNU_SOURCE AM_CPPFLAGS = -I$(top_srcdir)/include LDADD = -lm # LDFLAGS = -static
  58. Download patch seq/aplaymidi/arecordmidi.c

    --- 1.1.8-2/seq/aplaymidi/arecordmidi.c 2019-01-07 14:01:46.000000000 +0000 +++ 1.1.9-0ubuntu1/seq/aplaymidi/arecordmidi.c 2019-05-10 06:57:22.000000000 +0000 @@ -86,6 +86,25 @@ static int ts_num = 4; /* time signature static int ts_div = 4; /* time signature: denominator */ static int ts_dd = 2; /* time signature: denominator as a power of two */ +/* Parse a decimal number from a command line argument. */ +static long arg_parse_decimal_num(const char *str, int *err) +{ + long val; + char *endptr; + + errno = 0; + val = strtol(str, &endptr, 0); + if (errno > 0) { + *err = -errno; + return 0; + } + if (*endptr != '\0') { + *err = -EINVAL; + return 0; + } + + return val; +} /* prints an error message to stderr, and dies */ static void fatal(const char *msg, ...) @@ -612,7 +631,7 @@ static void write_file(void) fwrite("MThd\0\0\0\6", 1, 8, file); /* type 0 or 1 */ fputc(0, file); - fputc(used_tracks > 1, file); + fputc(used_tracks > 1 ? 1 : 0, file); /* number of tracks */ fputc((used_tracks >> 8) & 0xff, file); fputc(used_tracks & 0xff, file); @@ -690,7 +709,8 @@ static void help(const char *argv0) " -t,--ticks=ticks resolution in ticks per beat or frame\n" " -s,--split-channels create a track for each channel\n" " -m,--metronome=client:port play a metronome signal\n" - " -i,--timesig=nn:dd time signature\n", + " -i,--timesig=nn:dd time signature\n" + " -n,--num-events=events fixed number of events to record, then exit\n", argv0); } @@ -706,7 +726,7 @@ static void sighandler(int sig) int main(int argc, char *argv[]) { - static const char short_options[] = "hVlp:b:f:t:sdm:i:"; + static const char short_options[] = "hVlp:b:f:t:sdm:i:n:"; static const struct option long_options[] = { {"help", 0, NULL, 'h'}, {"version", 0, NULL, 'V'}, @@ -719,6 +739,7 @@ int main(int argc, char *argv[]) {"dump", 0, NULL, 'd'}, {"metronome", 1, NULL, 'm'}, {"timesig", 1, NULL, 'i'}, + {"num-events", 1, NULL, 'n'}, { } }; @@ -727,6 +748,9 @@ int main(int argc, char *argv[]) struct pollfd *pfds; int npfds; int c, err; + /* If |num_events| isn't specified, leave it at 0. */ + long num_events = 0; + long events_received = 0; init_seq(); @@ -775,6 +799,16 @@ int main(int argc, char *argv[]) case 'i': time_signature(optarg); break; + case 'n': + err = 0; + num_events = arg_parse_decimal_num(optarg, &err); + if (err != 0) { + fatal("Couldn't parse num_events argument: %s\n", + strerror(-err)); + } + if (num_events <= 0) + fatal("num_events must be greater than 0"); + break; default: help(argv[0]); return 1; @@ -864,13 +898,20 @@ int main(int argc, char *argv[]) err = snd_seq_event_input(seq, &event); if (err < 0) break; - if (event) + if (event) { record_event(event); + events_received++; + } } while (err > 0); if (stop) break; + if (num_events && (events_received == num_events)) + break; } + if (num_events && events_received < num_events) + fputs("Warning: Received signal before num_events\n", stdout); + finish_tracks(); write_file();
  59. Download patch include/aconfig.h.in

    --- 1.1.8-2/include/aconfig.h.in 1970-01-01 00:00:00.000000000 +0000 +++ 1.1.9-0ubuntu1/include/aconfig.h.in 2019-05-10 07:12:29.000000000 +0000 @@ -0,0 +1,172 @@ +/* include/aconfig.h.in. Generated from configure.ac by autoheader. */ + +/* directory containing alsa configuration */ +#undef DATADIR + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +#undef ENABLE_NLS + +/* Define if curses-based programs can show translated messages. */ +#undef ENABLE_NLS_IN_CURSES + +/* Define to 1 if you have the <alsa/mixer.h> header file. */ +#undef HAVE_ALSA_MIXER_H + +/* Define to 1 if you have the <alsa/pcm.h> header file. */ +#undef HAVE_ALSA_PCM_H + +/* Define to 1 if you have the <alsa/rawmidi.h> header file. */ +#undef HAVE_ALSA_RAWMIDI_H + +/* Define to 1 if you have the <alsa/seq.h> header file. */ +#undef HAVE_ALSA_SEQ_H + +/* Define to 1 if you have the <alsa/topology.h> header file. */ +#undef HAVE_ALSA_TOPOLOGY_H + +/* Define to 1 if you have the <alsa/use-case.h> header file. */ +#undef HAVE_ALSA_USE_CASE_H + +/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the + CoreFoundation framework. */ +#undef HAVE_CFLOCALECOPYCURRENT + +/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in + the CoreFoundation framework. */ +#undef HAVE_CFPREFERENCESCOPYAPPVALUE + +/* Have clock gettime */ +#undef HAVE_CLOCK_GETTIME + +/* Have curses set_escdelay */ +#undef HAVE_CURSES_ESCDELAY + +/* Define if the GNU dcgettext() function is already present or preinstalled. + */ +#undef HAVE_DCGETTEXT + +/* Define to 1 if you have the <form.h> header file. */ +#undef HAVE_FORM_H + +/* Define if the GNU gettext() function is already present or preinstalled. */ +#undef HAVE_GETTEXT + +/* Define if you have the iconv() function and it works. */ +#undef HAVE_ICONV + +/* Define to 1 if you have the <inttypes.h> header file. */ +#undef HAVE_INTTYPES_H + +/* Define to 1 if you have the `asound' library (-lasound). */ +#undef HAVE_LIBASOUND + +/* Define to 1 if you have the `fftw3f' library (-lfftw3f). */ +#undef HAVE_LIBFFTW3F + +/* Define to 1 if you have the `m' library (-lm). */ +#undef HAVE_LIBM + +/* Define to 1 if you have the `pthread' library (-lpthread). */ +#undef HAVE_LIBPTHREAD + +/* Have librt */ +#undef HAVE_LIBRT + +/* Define to 1 if you have the `tinyalsa' library (-ltinyalsa). */ +#undef HAVE_LIBTINYALSA + +/* Define to 1 if you have the <memory.h> header file. */ +#undef HAVE_MEMORY_H + +/* Define to 1 if you have the <menu.h> header file. */ +#undef HAVE_MENU_H + +/* Define to 1 if you have the <panel.h> header file. */ +#undef HAVE_PANEL_H + +/* Define to 1 if you have the <samplerate.h> header file. */ +#undef HAVE_SAMPLERATE_H + +/* alsa-lib supports snd_seq_client_info_get_card */ +#undef HAVE_SEQ_CLIENT_INFO_GET_CARD + +/* alsa-lib supports snd_seq_client_info_get_pid */ +#undef HAVE_SEQ_CLIENT_INFO_GET_PID + +/* Define to 1 if you have the <stdint.h> header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the <stdlib.h> header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the <strings.h> header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the <string.h> header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the <sys/stat.h> header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the <sys/types.h> header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the <unistd.h> header file. */ +#undef HAVE_UNISTD_H + +/* Name of package */ +#undef PACKAGE + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the home page for this package. */ +#undef PACKAGE_URL + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* directory containing sample data */ +#undef SOUNDSDIR + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */ +#undef TIME_WITH_SYS_TIME + +/* ALSA util version */ +#undef VERSION + +/* Define if FFADO library is available */ +#undef WITH_FFADO + +/* Enable large inode numbers on Mac OS X 10.5. */ +#ifndef _DARWIN_USE_64_BIT_INODE +# define _DARWIN_USE_64_BIT_INODE 1 +#endif + +/* Number of bits in a file offset, on hosts where this is settable. */ +#undef _FILE_OFFSET_BITS + +/* Define for large files, on AIX-style hosts. */ +#undef _LARGE_FILES + +/* Define to empty if `const' does not conform to ANSI C. */ +#undef const + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +#undef inline +#endif
  60. Download patch debian/patches/vmware_audio_volume.patch

    --- 1.1.8-2/debian/patches/vmware_audio_volume.patch 1970-01-01 00:00:00.000000000 +0000 +++ 1.1.9-0ubuntu1/debian/patches/vmware_audio_volume.patch 2019-08-13 19:29:24.000000000 +0000 @@ -0,0 +1,45 @@ +Index: alsa-utils-1.1.3/alsactl/init/Makefile.am +=================================================================== +--- alsa-utils-1.1.3.orig/alsactl/init/Makefile.am ++++ alsa-utils-1.1.3/alsactl/init/Makefile.am +@@ -1,7 +1,7 @@ + + init_files = \ + 00main default help info test \ +- hda ca0106 ++ hda ca0106 ens1371 + EXTRA_DIST = $(init_files) + alsainitdir = $(datadir)/alsa/init + alsainit_DATA = $(init_files) +Index: alsa-utils-1.1.3/alsactl/init/00main +=================================================================== +--- alsa-utils-1.1.3.orig/alsactl/init/00main ++++ alsa-utils-1.1.3/alsactl/init/00main +@@ -32,6 +32,7 @@ RESULT=="skip", GOTO="init_end" + # real ALSA configuration database + CARDINFO{driver}=="HDA-Intel", INCLUDE="hda", GOTO="init_end" + CARDINFO{driver}=="CA0106", INCLUDE="ca0106", GOTO="init_end" ++CARDINFO{driver}=="ENS1371", INCLUDE="ens1371", GOTO="init_end" + CARDINFO{driver}=="Test", INCLUDE="test", GOTO="init_end" + + LABEL="init_end" +Index: alsa-utils-1.1.3/alsactl/init/ens1371 +=================================================================== +--- /dev/null ++++ alsa-utils-1.1.3/alsactl/init/ens1371 +@@ -0,0 +1,15 @@ ++# Configuration for ensoniq based cards ++ ++CARDINFO{mixername}=="Cirrus Logic CS4297A rev 3", \ ++ ATTR{subsystem_vendor}=="0x1274", ATTR{subsystem_device}=="0x1371", \ ++ GOTO="vmware-ac97" ++RESULT="false", EXIT="return" ++ ++LABEL="vmware-ac97" ++# playback ++CTL{reset}="mixer" ++CTL{name}="Master Playback Volume", CTL{value}="0dB,0dB" ++CTL{name}="Master Playback Switch", CTL{value}="on" ++CTL{name}="PCM Playback Volume", CTL{value}="51dB,51dB" ++CTL{name}="PCM Playback Switch", CTL{value}="on" ++RESULT="true", EXIT="return"
  61. Download patch configure
  62. Download patch seq/aseqnet/Makefile.in
  63. Download patch aplay/Makefile.in
  64. Download patch aplay/aplay.c

    --- 1.1.8-2/aplay/aplay.c 2019-01-07 14:01:46.000000000 +0000 +++ 1.1.9-0ubuntu1/aplay/aplay.c 2019-05-10 06:57:22.000000000 +0000 @@ -1411,7 +1411,11 @@ static void set_params(void) chunk_size, buffer_size); prg_exit(EXIT_FAILURE); } - snd_pcm_sw_params_current(handle, swparams); + err = snd_pcm_sw_params_current(handle, swparams); + if (err < 0) { + error(_("Unable to get current sw params.")); + prg_exit(EXIT_FAILURE); + } if (avail_min < 0) n = chunk_size; else @@ -2690,8 +2694,6 @@ static void end_voc(int fd) bt.datalen_h = (u_char) ((cnt & 0xFF0000) >> 16); if (lseek64(fd, length_seek, SEEK_SET) == length_seek) xwrite(fd, &bt, sizeof(VocBlockType)); - if (fd != 1) - close(fd); } static void end_wave(int fd) @@ -2712,8 +2714,6 @@ static void end_wave(int fd) xwrite(fd, &rifflen, 4); if (lseek64(fd, length_seek, SEEK_SET) == length_seek) xwrite(fd, &cd, sizeof(WaveChunkHeader)); - if (fd != 1) - close(fd); } static void end_au(int fd) @@ -2725,8 +2725,6 @@ static void end_au(int fd) ah.data_size = fdcount > 0xffffffff ? 0xffffffff : BE_INT(fdcount); if (lseek64(fd, length_seek, SEEK_SET) == length_seek) xwrite(fd, &ah.data_size, sizeof(ah.data_size)); - if (fd != 1) - close(fd); } static void header(int rtype, char *name) @@ -2938,7 +2936,7 @@ static void playback(char *name) break; } - if (fd != 0) + if (fd != fileno(stdin)) close(fd); } @@ -3151,7 +3149,7 @@ static void capture(char *orig_name) if (!name || !strcmp(name, "-")) { fd = fileno(stdout); name = "stdout"; - tostdout=1; + tostdout = 1; if (count > fmt_rec_table[file_type].max_filesize) count = fmt_rec_table[file_type].max_filesize; } @@ -3159,7 +3157,7 @@ static void capture(char *orig_name) do { /* open a file to write */ - if(!tostdout) { + if (!tostdout) { /* upon the second file we start the numbering scheme */ if (filecount || use_strftime) { filecount = new_capture_file(orig_name, namebuf, @@ -3218,8 +3216,10 @@ static void capture(char *orig_name) } /* finish sample container */ - if (fmt_rec_table[file_type].end && !tostdout) { - fmt_rec_table[file_type].end(fd); + if (!tostdout) { + if (fmt_rec_table[file_type].end) + fmt_rec_table[file_type].end(fd); + close(fd); fd = -1; }
  65. Download patch debian/patches/series

    --- 1.1.8-2/debian/patches/series 2019-03-30 09:18:40.000000000 +0000 +++ 1.1.9-0ubuntu1/debian/patches/series 2019-08-13 19:29:24.000000000 +0000 @@ -3,4 +3,7 @@ udev_test_alsactl.patch spellfixes.patch systemd_Documentation_key.patch do-not-check-for-sys-kernel-uevent_helper.patch -Fix-alsactl-to-restore-config.patch +unset_pulse_internal.patch +add_extra_volume_defaults.patch +vmware_audio_volume.patch +create_run_alsa.patch
  66. Download patch axfer/test/Makefile.in
  67. Download patch amixer/Makefile.in
  68. Download patch alsaloop/pcmjob.c

    --- 1.1.8-2/alsaloop/pcmjob.c 2019-01-07 14:01:46.000000000 +0000 +++ 1.1.9-0ubuntu1/alsaloop/pcmjob.c 2019-05-10 06:57:22.000000000 +0000 @@ -293,7 +293,7 @@ static int increase_playback_avail_min(s /* avoid 100% CPU usage for broken plugins */ ts.tv_sec = 0; ts.tv_nsec = 10000; - err = nanosleep(&ts, NULL); + nanosleep(&ts, NULL); return 0; } snd_pcm_sw_params_alloca(&swparams);
  69. Download patch alsamixer/go

    --- 1.1.8-2/alsamixer/go 2019-01-07 14:01:46.000000000 +0000 +++ 1.1.9-0ubuntu1/alsamixer/go 1970-01-01 00:00:00.000000000 +0000 @@ -1,10 +0,0 @@ -#!/bin/bash - -#GDB="gdb --args" -GDB="" - -ALSA_MIXER_SIMPLE_MODULES="$HOME/hg/alsa-lib/modules/mixer/simple/.libs" \ -ALSA_MIXER_SIMPLE="$HOME/hg/alsa-lib/src/conf/smixer.conf" \ -ALSA_MIXER_SIMPLE_MPYTHON="$HOME/hg/alsa-lib/modules/mixer/simple/python/main.py" \ -LD_PRELOAD="$HOME/hg/alsa-lib/src/.libs/libasound.so" \ -$GDB ./alsamixer "$@"
  70. Download patch axfer/waiter-select.c

    --- 1.1.8-2/axfer/waiter-select.c 2019-01-07 14:01:46.000000000 +0000 +++ 1.1.9-0ubuntu1/axfer/waiter-select.c 2019-05-10 06:57:22.000000000 +0000 @@ -15,10 +15,19 @@ #include <sys/select.h> // Except for POLLERR. -#define POLLIN_SET (POLLRDNORM | POLLRDBAND | POLLIN | POLLHUP) -#define POLLOUT_SET (POLLWRBAND | POLLWRNORM | POLLOUT) +#ifdef POLLRDNORM +// This program is for userspace compliant to POSIX 2008 (IEEE 1003.1:2008). +// This is the default compliance level since glibc-2.12 or later. +# define POLLIN_SET (POLLRDNORM | POLLRDBAND | POLLIN | POLLHUP) +# define POLLOUT_SET (POLLWRBAND | POLLWRNORM | POLLOUT) +#else +// However it's allowed to be for old compliance levels. +# define POLLIN_SET (POLLIN | POLLHUP) +# define POLLOUT_SET (POLLOUT) +#endif #define POLLEX_SET (POLLPRI) + struct select_state { fd_set rfds_rd; fd_set rfds_wr;
  71. Download patch bat/tests/asound_state/Makefile.in
  72. Download patch po/insert-header.sin

    --- 1.1.8-2/po/insert-header.sin 1970-01-01 00:00:00.000000000 +0000 +++ 1.1.9-0ubuntu1/po/insert-header.sin 2019-05-10 07:12:27.000000000 +0000 @@ -0,0 +1,23 @@ +# Sed script that inserts the file called HEADER before the header entry. +# +# At each occurrence of a line starting with "msgid ", we execute the following +# commands. At the first occurrence, insert the file. At the following +# occurrences, do nothing. The distinction between the first and the following +# occurrences is achieved by looking at the hold space. +/^msgid /{ +x +# Test if the hold space is empty. +s/m/m/ +ta +# Yes it was empty. First occurrence. Read the file. +r HEADER +# Output the file's contents by reading the next line. But don't lose the +# current line while doing this. +g +N +bb +:a +# The hold space was nonempty. Following occurrences. Do nothing. +x +:b +} Binary files 1.1.8-2/po/ja.gmo and 1.1.9-0ubuntu1/po/ja.gmo differ
  73. Download patch alsaloop/test.sh

    --- 1.1.8-2/alsaloop/test.sh 2019-01-07 14:01:46.000000000 +0000 +++ 1.1.9-0ubuntu1/alsaloop/test.sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,94 +0,0 @@ -#!/bin/bash - -#DBG="gdb --args " -#DBG="strace" -#DBG="valgrind --leak-check=full" -ARGS= -CFGFILE="/tmp/alsaloop.test.cfg" - -test1() { - echo "TEST1" - $DBG ./alsaloop -C hw:1,0 -P plughw:0,0 \ - --tlatency 50000 \ - --mixer "name='Master Playback Volume'@name='Master Playback Volume'" \ - --mixer "name='Master Playback Switch'@name='Master Playback Switch'" \ - --mixer "name='PCM Playback Volume'" \ - --ossmixer "Master@VOLUME" \ - --ossmixer "PCM@PCM" \ - $ARGS -} - -test2() { - echo "TEST2" -cat > $CFGFILE <<EOF -# first job --C hw:1,0,0 -P hw:0,0,0 --tlatency 50000 --thread 1 \ - --mixer "name='Master Playback Volume'@name='Master Playback Volume'" \ - --mixer "name='Master Playback Switch'@name='Master Playback Switch'" \ - --mixer "name='PCM Playback Volume'" -# next line - second job --C hw:1,0,1 -P hw:0,1,0 --tlatency 50000 --thread 2 -EOF - $DBG ./alsaloop -d --config $CFGFILE $ARGS -} - -test3() { - echo "TEST3" - LATENCY=180000 -cat > $CFGFILE <<EOF --C hw:1,0,0 -P plug:dmix:0 --tlatency $LATENCY --thread 0 \ - --mixer "name='Master Playback Volume'@name='Master Playback Volume'" \ - --mixer "name='Master Playback Switch'@name='Master Playback Switch'" \ - --mixer "name='PCM Playback Volume'" \ - --ossmixer "name=Master@VOLUME" --C hw:1,0,1 -P plug:dmix:0 --tlatency $LATENCY --thread 1 --C hw:1,0,2 -P plug:dmix:0 --tlatency $LATENCY --thread 2 --C hw:1,0,3 -P plug:dmix:0 --tlatency $LATENCY --thread 3 --C hw:1,0,4 -P plug:dmix:0 --tlatency $LATENCY --thread 4 --C hw:1,0,5 -P plug:dmix:0 --tlatency $LATENCY --thread 5 --C hw:1,0,6 -P plug:dmix:0 --tlatency $LATENCY --thread 6 --C hw:1,0,7 -P plug:dmix:0 --tlatency $LATENCY --thread 7 -EOF - $DBG ./alsaloop --config $CFGFILE $ARGS -} - -test4() { - echo "TEST4" - $DBG ./alsaloop -C hw:1,0 -P plughw:0,0 -a off -r 11025 \ - --tlatency 50000 \ - --mixer "name='Master Playback Volume'@name='Master Playback Volume'" \ - --mixer "name='Master Playback Switch'@name='Master Playback Switch'" \ - --mixer "name='PCM Playback Volume'" \ - $ARGS -} - -test5() { - echo "TEST5" -cat > $CFGFILE <<EOF --C hw:1,0,0 -P plughw:0,0 --tlatency 50000 --thread 1 \ - --mixer "name='Master Playback Volume'@name='Master Playback Volume'" \ - --mixer "name='Master Playback Switch'@name='Master Playback Switch'" \ - --mixer "name='PCM Playback Volume'" \ - --ossmixer "name=Master@VOLUME" --C hw:1,0,1 -P plughw:0,1 --tlatency 50000 --thread 2 -EOF - $DBG ./alsaloop --config $CFGFILE $ARGS -} - -sigusr1() { - pid=$(ps ax | grep alsaloop | grep -v grep | colrm 7 255) - if test -n "$pid"; then - echo "Killing alsaloop $pid..." - kill -SIGUSR1 $pid - fi -} - -case "$1" in -test1) shift; ARGS="$@"; test1 ;; -test2) shift; ARGS="$@"; test2 ;; -test3) shift; ARGS="$@"; test3 ;; -test4) shift; ARGS="$@"; test4 ;; -test5) shift; ARGS="$@"; test5 ;; -usr|sig*) sigusr1 ;; -*) ARGS="$@"; test1 ;; -esac
  74. Download patch po/ja.po
  75. Download patch debian/README.init.cs4236

    --- 1.1.8-2/debian/README.init.cs4236 1970-01-01 00:00:00.000000000 +0000 +++ 1.1.9-0ubuntu1/debian/README.init.cs4236 2019-08-13 19:29:24.000000000 +0000 @@ -0,0 +1,45 @@ +#! /bin/bash + +## Provided by Mkarcher at http://www.thinkwiki.org/wiki/Script_for_configuring_the_CS4239_sound_chip_in_PnP_mode +## Modified by Daniel T Chen for Debian/Ubuntu, redistributable +## under GPLv2 or later + +for dev in /sys/bus/pnp/devices/* +do + grep CSC0100 $dev/id > /dev/null && WSSDEV=$dev + grep CSC0110 $dev/id > /dev/null && CTLDEV=$dev +done + +echo activate > $WSSDEV/resources +echo activate > $CTLDEV/resources + +{ read + read bla port1 + read bla port2 + read bla port3 + read bla irq + read bla dma1 + read bla dma2 + # Hack: with PnPBIOS: ports are: port1: WSS, port2: OPL, port3: sb (unneeded) + # with ACPI-PnP:ports are: port1: OPL, port2: sb, port3: WSS + # (ACPI bios seems to be wrong here, the PnP-card-code in snd-cs4236.c uses the + # PnPBIOS port order) + # Detect port order using the fixed OPL port as reference + if [ ${port2%%-*} = 0x388 ] + then + # PnPBIOS: usual order + port=${port1%%-*} + oplport=${port2%%-*} + else + # ACPI: mixed-up order + port=${port3%%-*} + oplport=${port1%%-*} + fi + } < $WSSDEV/resources + +{ read + read bla port1 + cport=${port1%%-*} +} < $CTLDEV/resources + +modprobe snd-cs4236 port=$port cport=$cport fm_port=$oplport irq=$irq dma1=$dma1 dma2=$dma2 isapnp=0
  76. Download patch compile
  77. Download patch aclocal.m4
  78. Download patch ABOUT-NLS
  79. Download patch m4/Makefile.am

    --- 1.1.8-2/m4/Makefile.am 2019-01-07 14:01:46.000000000 +0000 +++ 1.1.9-0ubuntu1/m4/Makefile.am 2019-05-10 07:12:27.000000000 +0000 @@ -1 +1 @@ -EXTRA_DIST = gettext.m4 +EXTRA_DIST = gettext.m4 iconv.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 nls.m4 po.m4 progtest.m4 gettext.m4
  80. Download patch debian/docs

    --- 1.1.8-2/debian/docs 1970-01-01 00:00:00.000000000 +0000 +++ 1.1.9-0ubuntu1/debian/docs 2019-08-13 19:29:24.000000000 +0000 @@ -0,0 +1 @@ +debian/README.init.cs4236
  81. Download patch axfer/frame-cache.c

    --- 1.1.8-2/axfer/frame-cache.c 2019-01-07 14:01:46.000000000 +0000 +++ 1.1.9-0ubuntu1/axfer/frame-cache.c 2019-05-10 06:57:22.000000000 +0000 @@ -50,13 +50,18 @@ int frame_cache_init(struct frame_cache unsigned int samples_per_frame, unsigned int frames_per_cache) { + cache->access = access; + cache->remained_count = 0; + cache->bytes_per_sample = bytes_per_sample; + cache->samples_per_frame = samples_per_frame; + cache->frames_per_cache = frames_per_cache; + if (access == SND_PCM_ACCESS_RW_INTERLEAVED) cache->align_frames = align_frames_in_i; else if (access == SND_PCM_ACCESS_RW_NONINTERLEAVED) cache->align_frames = align_frames_in_n; else return -EINVAL; - cache->access = access; if (access == SND_PCM_ACCESS_RW_INTERLEAVED) { char *buf; @@ -64,45 +69,42 @@ int frame_cache_init(struct frame_cache buf = calloc(frames_per_cache, bytes_per_sample * samples_per_frame); if (buf == NULL) - return -ENOMEM; + goto nomem; cache->buf = buf; cache->buf_ptr = buf; } else { - char **bufs; - char **buf_ptrs; + char **bufs = calloc(samples_per_frame, sizeof(*bufs)); + char **buf_ptrs = calloc(samples_per_frame, sizeof(*buf_ptrs)); int i; - bufs = calloc(samples_per_frame, sizeof(*bufs)); - if (bufs == NULL) - return -ENOMEM; - buf_ptrs = calloc(samples_per_frame, sizeof(*buf_ptrs)); - if (buf_ptrs == NULL) - return -ENOMEM; + cache->buf = bufs; + cache->buf_ptr = buf_ptrs; + if (bufs == NULL || buf_ptrs == NULL) + goto nomem; for (i = 0; i < samples_per_frame; ++i) { bufs[i] = calloc(frames_per_cache, bytes_per_sample); if (bufs[i] == NULL) - return -ENOMEM; + goto nomem; buf_ptrs[i] = bufs[i]; } - cache->buf = bufs; - cache->buf_ptr = buf_ptrs; } - cache->remained_count = 0; - cache->bytes_per_sample = bytes_per_sample; - cache->samples_per_frame = samples_per_frame; - cache->frames_per_cache = frames_per_cache; return 0; + +nomem: + frame_cache_destroy(cache); + return -ENOMEM; } void frame_cache_destroy(struct frame_cache *cache) { if (cache->access == SND_PCM_ACCESS_RW_NONINTERLEAVED) { - int i; - for (i = 0; i < cache->samples_per_frame; ++i) { - char **bufs = cache->buf; - free(bufs[i]); + char **bufs = cache->buf; + if (bufs) { + int i; + for (i = 0; i < cache->samples_per_frame; ++i) + free(bufs[i]); } free(cache->buf_ptr); }
  82. Download patch debian/patches/Fix-alsactl-to-restore-config.patch

    --- 1.1.8-2/debian/patches/Fix-alsactl-to-restore-config.patch 2019-03-30 09:18:40.000000000 +0000 +++ 1.1.9-0ubuntu1/debian/patches/Fix-alsactl-to-restore-config.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,46 +0,0 @@ -From 6198e81500938a1e0f5e9d8f58c4e45dec2ee6b3 Mon Sep 17 00:00:00 2001 -From: Elimar Riesebieter <riesebie@lxtec.de> -Date: Sat, 30 Mar 2019 10:07:46 +0100 -Subject: [PATCH] Fix-alsactl-to-restore-config. - ---- - alsactl/alsa-restore.service.in | 2 +- - alsactl/alsa-state.service.in | 5 +++-- - 2 files changed, 4 insertions(+), 3 deletions(-) - -diff --git a/alsactl/alsa-restore.service.in b/alsactl/alsa-restore.service.in -index 38ffea7..74b9290 100644 ---- a/alsactl/alsa-restore.service.in -+++ b/alsactl/alsa-restore.service.in -@@ -8,7 +8,7 @@ Description=Save/Restore Sound Card State - Documentation=man:alsactl(1) - ConditionPathExists=!@daemonswitch@ - ConditionPathExistsGlob=/dev/snd/control* --ConditionPathExists=@asoundrcfile@ -+After=alsa-state.service - - [Service] - Type=oneshot -diff --git a/alsactl/alsa-state.service.in b/alsactl/alsa-state.service.in -index a3c6e49..f631cc3 100644 ---- a/alsactl/alsa-state.service.in -+++ b/alsactl/alsa-state.service.in -@@ -1,4 +1,4 @@ --# -+ - # Note that two different ALSA card state management schemes exist and they - # can be switched using a file exist check - /etc/alsa/state-daemon.conf . - # -@@ -6,7 +6,8 @@ - [Unit] - Description=Manage Sound Card State (restore and store) - Documentation=man:alsactl(1) --ConditionPathExists=@daemonswitch@ -+ConditionPathExists=!@daemonswitch@ -+After=sysinit.target - - [Service] - Type=simple --- -2.20.1 -
  83. Download patch m4/iconv.m4
  84. Download patch po/Rules-quot

    --- 1.1.8-2/po/Rules-quot 1970-01-01 00:00:00.000000000 +0000 +++ 1.1.9-0ubuntu1/po/Rules-quot 2019-05-10 07:12:27.000000000 +0000 @@ -0,0 +1,58 @@ +# This file, Rules-quot, can be copied and used freely without restrictions. +# Special Makefile rules for English message catalogs with quotation marks. + +DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot + +.SUFFIXES: .insert-header .po-update-en + +en@quot.po-create: + $(MAKE) en@quot.po-update +en@boldquot.po-create: + $(MAKE) en@boldquot.po-update + +en@quot.po-update: en@quot.po-update-en +en@boldquot.po-update: en@boldquot.po-update-en + +.insert-header.po-update-en: + @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \ + if test "$(PACKAGE)" = "gettext-tools" && test "$(CROSS_COMPILING)" != "yes"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \ + tmpdir=`pwd`; \ + echo "$$lang:"; \ + ll=`echo $$lang | sed -e 's/@.*//'`; \ + LC_ALL=C; export LC_ALL; \ + cd $(srcdir); \ + if $(MSGINIT) $(MSGINIT_OPTIONS) -i $(DOMAIN).pot --no-translator -l $$lang -o - 2>/dev/null \ + | $(SED) -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | \ + { case `$(MSGFILTER) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-8] | 0.1[0-8].*) \ + $(MSGFILTER) $(SED) -f `echo $$lang | sed -e 's/.*@//'`.sed \ + ;; \ + *) \ + $(MSGFILTER) `echo $$lang | sed -e 's/.*@//'` \ + ;; \ + esac } 2>/dev/null > $$tmpdir/$$lang.new.po \ + ; then \ + if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \ + if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ + :; \ + else \ + echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "creation of $$lang.po failed!" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi + +en@quot.insert-header: insert-header.sin + sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header + +en@boldquot.insert-header: insert-header.sin + sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header + +mostlyclean: mostlyclean-quot +mostlyclean-quot: + rm -f *.insert-header
  85. Download patch alsa-info/alsa-info.sh
  86. Download patch seq/Makefile.in
  87. Download patch seq/aplaymidi/Makefile.in
  88. Download patch alsaucm/Makefile.in
  89. Download patch po/Makefile.in.in
  90. Download patch Makefile.am

    --- 1.1.8-2/Makefile.am 2019-01-07 14:01:46.000000000 +0000 +++ 1.1.9-0ubuntu1/Makefile.am 2019-05-10 07:12:27.000000000 +0000 @@ -32,7 +32,7 @@ if HAVE_TOPOLOGY SUBDIRS += topology endif -EXTRA_DIST= README.md TODO gitcompile +EXTRA_DIST= config.rpath README.md TODO gitcompile AUTOMAKE_OPTIONS=foreign ACLOCAL_AMFLAGS = -I m4
  91. Download patch m4/gettext.m4
  92. Download patch bat/tests/alsabat_main.sh

    --- 1.1.8-2/bat/tests/alsabat_main.sh 2019-01-07 14:01:46.000000000 +0000 +++ 1.1.9-0ubuntu1/bat/tests/alsabat_main.sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,178 +0,0 @@ -#!/bin/bash - -#/* -# * Copyright (C) 2013-2016 Intel Corporation -# * -# * This program is free software; you can redistribute it and/or modify -# * it under the terms of the GNU General Public License as published by -# * the Free Software Foundation; either version 2 of the License, or -# * (at your option) any later version. -# * -# * This program 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. -# * -# */ -#set -x - -#alsabat test scripts path -export ABAT_TEST_PATH=`pwd` - -#alsabat test log file, path+filename -Day=`date +"%Y-%m-%d-%H-%M"` -Log_FileName="test_result-"${Day}".log" -export ABAT_TEST_LOG_FILE=${ABAT_TEST_PATH}/log/${Log_FileName} - -#terminal display colour setting -ESC_GREEN="\033[32m" -ESC_RED="\033[31m" -ESC_YELLOW="\033[33;1m" -ESC_OFF="\033[0m" - -#total/pass/fail test cases number -total_case_number=0 -suit_number=1 -pass_number=0 -fail_number=0 -# =========================== Public function ========================== - -function get_platform_info() -{ - #to get the audio card number - Card_Number=$(aplay -l | grep "HDMI 0" | cut -b 6) - cd /proc/asound/card$Card_Number/ - for file in `ls` - do - if [[ $file == codec* ]]; then - #to get the hardware platform ID, currently Intel skylake, - #broadwell and haswell hardware platforms are supported - Platform_ID=`cat $file |grep "Codec:" |cut -d " " -f 3` - if [ "$Platform_ID" == "Skylake" ] \ - || [ "$Platform_ID" == "Broadwell" ] \ - || [ "$Platform_ID" == "Haswell" ]; then - echo $Platform_ID - break - exit 0 - fi - else - printf '\033[1;31m %-30s %s \033[1;31m%s\n\033[0m' \ - "Get platform information failed"; - exit 1 - fi - done -} - -#printf the "pass" info in the file -show_pass() -{ - echo -e "$suit_number - [$1]:test ------- PASS" >> $ABAT_TEST_LOG_FILE - printf '\033[1;33m %-30s %s \033[1;32m%s\n\033[0m' \ -"$suit_number - [$1]" "-------------------------------- " "PASS"; -} - -#printf the "fail" info in the file -show_fail() -{ - echo -e "$suit_number - [$1]:test ------- FAIL" >> $ABAT_TEST_LOG_FILE - printf '\033[1;33m %-30s %s \033[1;31m%s\n\033[0m' \ -"$suit_number - [$1]" "-------------------------------- " "FAIL"; -} - - -function run_test() -{ - for TestItem in $@ - do - Date=`date` - Dot="$Dot". - echo "Now doing $TestItem test$Dot" - - #map test case to test script - eval item='$'$TestItem - - #to check the test script existing - if [ ! -f "$item" ]; then - echo -e "\e[31m not found $TestItem script,confirm it firstly" - echo -e "\e[0m" - exit 1 - fi - - #to run each test script - eval "\$$TestItem" - Result=$? - #record the test result to the log file - if [ $Result -eq 0 ]; then - show_pass "$TestItem" - else - show_fail "$TestItem" - fi - suit_number=$(($suit_number + 1)) - - done -} - -function test_suites ( ) -{ - #define the test suites/cases need to be run - TestProgram="verify_Analog_audio_playback_and_capture \ - verify_HDMI_audio_playback verify_DP_audio_playback" - - #run each test suites/test cases - run_test "$TestProgram" - - # to printf the detailed test results on the screen - cat $ABAT_TEST_LOG_FILE |grep FAIL - case_number=$(($case_number - 1)) - total_case_number=`cat $ABAT_TEST_LOG_FILE |grep -c "Test target frequency:"` - pass_number=`cat $ABAT_TEST_LOG_FILE |grep -c "Passed"` - fail_number=`cat $ABAT_TEST_LOG_FILE |grep -c "Failed"` - echo -e "\e[0m" - echo -e "\e[1;33m *---------------------------------------------------*\n" - echo -e " * "Total" ${total_case_number} "cases", \ -"PASS:" ${pass_number} "cases", "FAIL:" ${fail_number} "cases", \ -"Passrate is:" $((pass_number*100/total_case_number)) "%" *\n" - echo -e " *-------------------------------------------------------*\e[0m\n" - - #the the result also will be saved on the log file - echo "Total" ${total_case_number} "cases", \ -"PASS:" ${pass_number} "cases", "FAIL:" ${fail_number} "cases", \ -"Passrate:" $((pass_number*100/total_case_number)) "%" >> ${ABAT_TEST_LOG_FILE} - - #return 0, if the script finishs normally - exit 0 -} - -function main ( ) -{ - echo "Test results are as follows:" > ${ABAT_TEST_LOG_FILE} - get_platform_info # get hardware platform information - cd $ABAT_TEST_PATH - - # make sure the log folder is exist - if [ ! -d "$ABAT_TEST_PATH/log/" ]; then - mkdir "log" - fi - - #map the test cases to test scripts - source map_test_case - - #setting the alsa configure environment - alsactl restore -f $ABAT_TEST_PATH/asound_state/asound.state.$Platform_ID - - #Printf the user interface info - clear - echo -e "\e[1;33m" - date - echo -e "\e[0m" - echo -e "\e[1;33m *-------------------------------------------------*\n" - echo -e " *--Running the audio automated test on $Platform_ID-------*\n" - echo -e " *------------------------------------------------------*\e[0m\n" - read -p "Press enter to continue" - - #run the test suites/test cases - test_suites -} - -#the main entrance function -main
  93. Download patch axfer/Makefile.in
  94. Download patch m4/Makefile.in
  95. Download patch po/alsa-utils.pot
  96. Download patch axfer/axfer.1

    --- 1.1.8-2/axfer/axfer.1 2019-01-07 14:01:46.000000000 +0000 +++ 1.1.9-0ubuntu1/axfer/axfer.1 2019-05-10 06:57:22.000000000 +0000 @@ -75,6 +75,13 @@ Operates for playback transmission. .I EXIT_FAILURE (1). +.SH UNIT TEST + +This program has unit tests for internal implementation. Please refer to the +manual of +.I axfer-transfer +for details. + .SH COMPATIBILITY TO APLAY The
  97. Download patch Makefile.in
  98. Download patch po/fr.po
  99. Download patch m4/nls.m4

    --- 1.1.8-2/m4/nls.m4 1970-01-01 00:00:00.000000000 +0000 +++ 1.1.9-0ubuntu1/m4/nls.m4 2019-05-10 07:12:27.000000000 +0000 @@ -0,0 +1,32 @@ +# nls.m4 serial 5 (gettext-0.18) +dnl Copyright (C) 1995-2003, 2005-2006, 2008-2014, 2016 Free Software +dnl Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. +dnl +dnl This file can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000. +dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003. + +AC_PREREQ([2.50]) + +AC_DEFUN([AM_NLS], +[ + AC_MSG_CHECKING([whether NLS is requested]) + dnl Default is enabled NLS + AC_ARG_ENABLE([nls], + [ --disable-nls do not use Native Language Support], + USE_NLS=$enableval, USE_NLS=yes) + AC_MSG_RESULT([$USE_NLS]) + AC_SUBST([USE_NLS]) +])
  100. Download patch depcomp
  101. ...
  1. alsa-utils