diff --git a/_service b/_service
new file mode 100644
index 0000000..1687254
--- /dev/null
+++ b/_service
@@ -0,0 +1,15 @@
+
+
+ spandsp
+ git
+ https://github.com/freeswitch/spandsp
+ master
+ f995f452ee79d03c4afa90b10e86a5f9c553920c
+ 3.0.0.g@TAG_OFFSET@
+
+
+ *.tar
+ xz
+
+
+
diff --git a/baselibs.conf b/baselibs.conf
index 6174295..0f644fc 100644
--- a/baselibs.conf
+++ b/baselibs.conf
@@ -1 +1 @@
-libspandsp2
+libspandsp3
diff --git a/spandsp-0.0.6.tar.gz b/spandsp-0.0.6.tar.gz
deleted file mode 100644
index 9285a9d..0000000
--- a/spandsp-0.0.6.tar.gz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:cc053ac67e8ac4bb992f258fd94f275a7872df959f6a87763965feabfdcc9465
-size 3309837
diff --git a/spandsp-3.0.0.g15.tar.xz b/spandsp-3.0.0.g15.tar.xz
new file mode 100644
index 0000000..8838393
--- /dev/null
+++ b/spandsp-3.0.0.g15.tar.xz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c797d5bcf90d8c0d5ffaa16e81c9065183009cfb30b5bcd063576b180217ffe0
+size 2794648
diff --git a/spandsp-autoconf.diff b/spandsp-autoconf.diff
deleted file mode 100644
index 4880eeb..0000000
--- a/spandsp-autoconf.diff
+++ /dev/null
@@ -1,49 +0,0 @@
-From: Jan Engelhardt
-Date: 2011-07-17 16:15:32.890081276 +0200
-Upstream: tbd
-
-build: resolve libtool warnings
-
-libtoolize: Consider adding "AC_CONFIG_MACRO_DIR([m4])" to configure.ac and
-libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree.
-libtoolize: Consider adding "-I m4" to ACLOCAL_AMFLAGS in Makefile.am.
-
-The extra file in m4 is for making sure the directory exists.
----
- Makefile.am | 2 ++
- configure.ac | 1 +
- m4/.gitignore | 2 ++
- 3 files changed, 5 insertions(+)
-
-Index: spandsp-0.0.6/Makefile.am
-===================================================================
---- spandsp-0.0.6.orig/Makefile.am
-+++ spandsp-0.0.6/Makefile.am
-@@ -16,6 +16,8 @@
- ## License along with this program; if not, write to the Free Software
- ## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-+ACLOCAL_AMFLAGS = -I m4
-+
- AM_CFLAGS = $(COMP_VENDOR_CFLAGS)
- AM_LDFLAGS = $(COMP_VENDOR_LDFLAGS)
-
-Index: spandsp-0.0.6/configure.ac
-===================================================================
---- spandsp-0.0.6.orig/configure.ac
-+++ spandsp-0.0.6/configure.ac
-@@ -45,6 +45,7 @@
-
- AC_CONFIG_SRCDIR([src/tone_generate.c])
- AC_CONFIG_AUX_DIR(config)
-+AC_CONFIG_MACRO_DIR([m4])
- AC_CONFIG_HEADERS([src/config.h:config-h.in])
- AM_INIT_AUTOMAKE([1.9.5])
-
-Index: spandsp-0.0.6/m4/.gitignore
-===================================================================
---- /dev/null
-+++ spandsp-0.0.6/m4/.gitignore
-@@ -0,0 +1,2 @@
-+/libtool.m4
-+/lt*.m4
diff --git a/spandsp-handle-international-dialstring-prefix.diff b/spandsp-handle-international-dialstring-prefix.diff
index b537fa6..86f856e 100644
--- a/spandsp-handle-international-dialstring-prefix.diff
+++ b/spandsp-handle-international-dialstring-prefix.diff
@@ -1,43 +1,39 @@
-Index: b/src/at_interpreter.c
+---
+ src/at_interpreter.c | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+Index: spandsp-3.0.0.g15/src/at_interpreter.c
===================================================================
---- a/src/at_interpreter.c
-+++ b/src/at_interpreter.c
-@@ -847,6 +847,7 @@ static const char *at_cmd_A(at_state_t *
+--- spandsp-3.0.0.g15.orig/src/at_interpreter.c
++++ spandsp-3.0.0.g15/src/at_interpreter.c
+@@ -921,6 +921,7 @@ static const char *at_cmd_A(at_state_t *
+
static const char *at_cmd_D(at_state_t *s, const char *t)
{
- int ok;
-+ int first;
++ int first = true;
char *u;
char num[100 + 1];
char ch;
-@@ -858,6 +859,7 @@ static const char *at_cmd_D(at_state_t *
- s->command_dial = FALSE;
- t += 1;
- ok = FALSE;
-+ first = TRUE;
- /* There are a numbers of options in a dial command string.
- Many are completely irrelevant in this application. */
- u = num;
-@@ -867,6 +869,7 @@ static const char *at_cmd_D(at_state_t *
+@@ -940,6 +941,7 @@ static const char *at_cmd_D(at_state_t *
{
/* V.250 6.3.1.1 Basic digit set */
*u++ = ch;
-+ first = FALSE;
++ first = false;
}
else
{
-@@ -880,7 +883,10 @@ static const char *at_cmd_D(at_state_t *
+@@ -953,7 +955,10 @@ static const char *at_cmd_D(at_state_t *
case '#':
/* V.250 6.3.1.1 Full DTMF repertoire */
if (!s->p.pulse_dial)
+ {
*u++ = ch;
-+ first = FALSE;
++ first = false;
+ }
break;
case ' ':
case '-':
-@@ -890,7 +896,10 @@ static const char *at_cmd_D(at_state_t *
+@@ -963,7 +968,10 @@ static const char *at_cmd_D(at_state_t *
break;
case '+':
/* V.250 6.3.1.1 International access code */
@@ -45,7 +41,7 @@ Index: b/src/at_interpreter.c
+ /* Allow + as first symbol in a dial string. */
+ if (first)
+ *u++ = ch;
-+ first = FALSE;
++ first = false;
break;
case ',':
/* V.250 6.3.1.2 Pause */
diff --git a/spandsp-raise-traintime-tolerance.diff b/spandsp-raise-traintime-tolerance.diff
index 9f4f78a..393dce6 100644
--- a/spandsp-raise-traintime-tolerance.diff
+++ b/spandsp-raise-traintime-tolerance.diff
@@ -1,20 +1,25 @@
Raise v17 training time tolerance, as found in iaxmodem supplied spandsp.
-diff -up -r spandsp-0.0.6/src/v17rx.c ../iaxmodem/iaxmodem-1.3.0/lib/spandsp/src/v17rx.c
---- a/src/v17rx.c 2016-02-07 02:24:28.000000000 +0100
-+++ b/src/v17rx.c 2014-06-30 18:21:39.000000000 +0200
-@@ -1046,10 +1046,10 @@ static void process_half_baud(v17_rx_sta
+---
+ src/v17rx.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+Index: spandsp-3.0.0.g15/src/v17rx.c
+===================================================================
+--- spandsp-3.0.0.g15.orig/src/v17rx.c
++++ spandsp-3.0.0.g15/src/v17rx.c
+@@ -1064,10 +1064,10 @@ static void process_half_baud(v17_rx_sta
s->carrier_track_i = 100.0f;
s->carrier_track_p = 500000.0f;
#endif
- /* TODO: This was increased by a factor of 10 after studying real world failures.
- However, it is not clear why this is an improvement, If something gives
- a huge training error, surely it shouldn't decode too well? */
-- if (s->training_error < (V17_TRAINING_SHORT_SEG_2_LEN - 8)*4.0f*constellation_spacing[s->space_map])
+- if (s->training_error < (V17_TRAINING_SHORT_SEG_2_LEN - 8)*FP_SCALE(4.0f)*FP_SCALE(1.0f)*constellation_spacing[s->space_map])
+ /* We need to be liberally accepting of poor fast-train training errors here.
+ Doing this affords the DTE the opportunity to make some use of whatever
+ valid Phase C data can be decoded. */
-+ if (s->training_error < (V17_TRAINING_SHORT_SEG_2_LEN - 8)*10.0f*constellation_spacing[s->space_map])
++ if (s->training_error < (V17_TRAINING_SHORT_SEG_2_LEN - 8)*FP_SCALE(10.0f)*FP_SCALE(1.0f)*constellation_spacing[s->space_map])
{
s->training_count = 0;
if (s->bits_per_symbol == 2)
diff --git a/spandsp.changes b/spandsp.changes
index 4122f96..007f5b6 100644
--- a/spandsp.changes
+++ b/spandsp.changes
@@ -1,3 +1,11 @@
+-------------------------------------------------------------------
+Sat Apr 2 07:34:40 UTC 2022 - Jan Engelhardt
+
+- Update to snapshot 3.0.0.g15
+ * Add ARMv7 NEON support
+ * Add V.32bis and V.34 support
+- Remove spandsp-autoconf.diff
+
-------------------------------------------------------------------
Sun Sep 6 14:04:36 UTC 2020 - Jan Engelhardt
diff --git a/spandsp.spec b/spandsp.spec
index 4acf783..06b0a9d 100644
--- a/spandsp.spec
+++ b/spandsp.spec
@@ -1,7 +1,7 @@
#
# spec file for package spandsp
#
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,21 +17,21 @@
Name: spandsp
-%define lname libspandsp2
-Summary: A DSP library for Telephony and SoftFAX
-License: LGPL-2.1-only AND GPL-2.0-only
-Group: Development/Libraries/C and C++
-Version: 0.0.6
+%define lname libspandsp3
+Version: 3.0.0.g15
Release: 0
-URL: http://soft-switch.org/
+Summary: A DSP library for Telephony and SoftFAX
+License: GPL-2.0-only AND LGPL-2.1-only
+Group: Development/Libraries/C and C++
+URL: https://github.com/freeswitch/spandsp
-Source: http://soft-switch.org/downloads/spandsp/%name-%version.tar.gz
+Source: %name-%version.tar.xz
Source2: baselibs.conf
-Patch1: spandsp-autoconf.diff
Patch2: spandsp-raise-traintime-tolerance.diff
Patch3: spandsp-handle-international-dialstring-prefix.diff
BuildRequires: docbook-xsl-stylesheets
BuildRequires: doxygen
+BuildRequires: libjpeg-devel
BuildRequires: libtiff-devel
BuildRequires: libtool
BuildRequires: libxslt
@@ -60,7 +60,7 @@ Summary: Development files for the SpanDSP library
License: LGPL-2.1-only
Group: Development/Libraries/C and C++
Requires: %lname = %version
-Requires: glibc-devel
+Requires: libjpeg-devel
Requires: libtiff-devel
%description devel
@@ -81,7 +81,7 @@ and a complete software FAX machine.
%package doc
Summary: Documentation for the libspandsp API
-License: LGPL-2.1-only AND GPL-2.0-only
+License: GPL-2.0-only AND LGPL-2.1-only
Group: Documentation/HTML
BuildArch: noarch
@@ -89,7 +89,7 @@ BuildArch: noarch
This package contains documentation for the libspandsp API.
%prep
-%autosetup -n %name-0.0.6 -p1
+%autosetup -p1
%build
%define _lto_cflags %nil
@@ -117,6 +117,7 @@ mkdir -p "%buildroot%_docdir/%name"
cp -a NEWS README DueDiligence ChangeLog doc/api/html \
"%buildroot/%_docdir/%name"
rm -f "%buildroot/%_libdir"/*.la
+ln -s ../spandsp.h "%buildroot/%_includedir/spandsp/spandsp.h"
%post -n %lname -p /sbin/ldconfig
%postun -n %lname -p /sbin/ldconfig
@@ -128,7 +129,7 @@ rm -f "%buildroot/%_libdir"/*.la
%_libdir/pkgconfig/*.pc
%files -n %lname
-%_libdir/lib%name.so.2*
+%_libdir/lib%name.so.3*
%files doc
%_docdir/%name/