Add a patch from audacity adding some extra API calls audacity needs

- Cleanup spec-file
- Update svn snapshot to bring in some alsa samplerate handling fixes
- Run autoreconf for aarch64 support (rhbz#926363)
epel9
Hans de Goede 12 years ago
parent 4491fe84e1
commit 4d71fbe38f

@ -0,0 +1,188 @@
diff -wruN portaudio/include/pa_unix_oss.h portaudio-v19/include/pa_unix_oss.h
--- portaudio/include/pa_unix_oss.h 1969-12-31 18:00:00.000000000 -0600
+++ portaudio-v19/include/pa_unix_oss.h 2012-12-14 22:34:14.290247100 -0600
@@ -0,0 +1,52 @@
+#ifndef PA_UNIX_OSS_H
+#define PA_UNIX_OSS_H
+
+/*
+ * $Id: portaudio.patch,v 1.10 2009-06-30 04:52:59 llucius Exp $
+ * PortAudio Portable Real-Time Audio Library
+ * OSS-specific extensions
+ *
+ * Copyright (c) 1999-2000 Ross Bencina and Phil Burk
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files
+ * (the "Software"), to deal in the Software without restriction,
+ * including without limitation the rights to use, copy, modify, merge,
+ * publish, distribute, sublicense, and/or sell copies of the Software,
+ * and to permit persons to whom the Software is furnished to do so,
+ * subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * Any person wishing to distribute modifications to the Software is
+ * requested to send the modifications to the original developer so that
+ * they can be incorporated into the canonical version.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
+ * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ */
+
+/** @file
+ * OSS-specific PortAudio API extension header file.
+ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+const char *PaOSS_GetStreamInputDevice( PaStream *s );
+
+const char *PaOSS_GetStreamOutputDevice( PaStream *s );
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff -wruN portaudio/include/portaudio.h portaudio-v19/include/portaudio.h
--- portaudio/include/portaudio.h 2012-08-31 19:10:13.000000000 -0500
+++ portaudio-v19/include/portaudio.h 2012-12-14 22:34:14.368247200 -0600
@@ -1146,6 +1146,15 @@
signed long Pa_GetStreamWriteAvailable( PaStream* stream );
+/** Retrieve the host type handling an open stream.
+
+ @return Returns a non-negative value representing the host API type
+ handling an open stream or, a PaErrorCode (which are always negative)
+ if PortAudio is not initialized or an error is encountered.
+*/
+PaHostApiTypeId Pa_GetStreamHostApiType( PaStream* stream );
+
+
/* Miscellaneous utilities */
diff -wruN portaudio/src/common/pa_front.c portaudio-v19/src/common/pa_front.c
--- portaudio/src/common/pa_front.c 2012-12-04 12:39:48.000000000 -0600
+++ portaudio-v19/src/common/pa_front.c 2012-12-14 09:44:34.604344800 -0600
@@ -1216,8 +1216,10 @@
hostApiInputParametersPtr, hostApiOutputParametersPtr,
sampleRate, framesPerBuffer, streamFlags, streamCallback, userData );
- if( result == paNoError )
+ if( result == paNoError ) {
AddOpenStream( *stream );
+ PA_STREAM_REP(*stream)->hostApiType = hostApi->info.type;
+ }
PA_LOGAPI(("Pa_OpenStream returned:\n" ));
@@ -1729,6 +1731,32 @@
return result;
}
+PaHostApiTypeId Pa_GetStreamHostApiType( PaStream* stream )
+{
+ PaError error = PaUtil_ValidateStreamPointer( stream );
+ PaHostApiTypeId result;
+
+#ifdef PA_LOG_API_CALLS
+ PaUtil_DebugPrint("Pa_GetStreamHostApiType called:\n" );
+ PaUtil_DebugPrint("\tPaStream* stream: 0x%p\n", stream );
+#endif
+
+ if( error == paNoError )
+ {
+ result = PA_STREAM_REP(stream)->hostApiType;
+ }
+ else
+ {
+ result = (PaHostApiTypeId) error;
+ }
+
+#ifdef PA_LOG_API_CALLS
+ PaUtil_DebugPrint("Pa_GetStreamHostApiType returned:\n" );
+ PaUtil_DebugPrint("\tPaError: %d ( %s )\n\n", result, Pa_GetErrorText( result ) );
+#endif
+
+ return result;
+}
PaError Pa_GetSampleSize( PaSampleFormat format )
{
diff -wruN portaudio/src/common/pa_stream.c portaudio-v19/src/common/pa_stream.c
--- portaudio/src/common/pa_stream.c 2008-02-15 01:50:33.000000000 -0600
+++ portaudio-v19/src/common/pa_stream.c 2012-12-14 09:44:34.607345000 -0600
@@ -93,6 +93,8 @@
streamRepresentation->streamInfo.inputLatency = 0.;
streamRepresentation->streamInfo.outputLatency = 0.;
streamRepresentation->streamInfo.sampleRate = 0.;
+
+ streamRepresentation->hostApiType = 0;
}
diff -wruN portaudio/src/common/pa_stream.h portaudio-v19/src/common/pa_stream.h
--- portaudio/src/common/pa_stream.h 2008-02-15 01:50:33.000000000 -0600
+++ portaudio-v19/src/common/pa_stream.h 2012-12-14 09:44:34.610345200 -0600
@@ -152,6 +152,7 @@
PaStreamFinishedCallback *streamFinishedCallback;
void *userData;
PaStreamInfo streamInfo;
+ PaHostApiTypeId hostApiType;
} PaUtilStreamRepresentation;
diff -wruN portaudio/src/hostapi/oss/pa_unix_oss.c portaudio-v19/src/hostapi/oss/pa_unix_oss.c
--- portaudio/src/hostapi/oss/pa_unix_oss.c 2011-05-02 12:07:11.000000000 -0500
+++ portaudio-v19/src/hostapi/oss/pa_unix_oss.c 2012-12-14 09:44:34.625346000 -0600
@@ -2028,3 +2028,26 @@
#endif
}
+const char *PaOSS_GetStreamInputDevice( PaStream* s )
+{
+ PaOssStream *stream = (PaOssStream*)s;
+
+ if( stream->capture )
+ {
+ return stream->capture->devName;
+ }
+
+ return NULL;
+}
+
+const char *PaOSS_GetStreamOutputDevice( PaStream* s )
+{
+ PaOssStream *stream = (PaOssStream*)s;
+
+ if( stream->playback )
+ {
+ return stream->playback->devName;
+ }
+
+ return NULL;
+}
diff -up portaudio/configure.in~ portaudio/configure.in
--- portaudio/configure.in~ 2013-04-07 12:20:18.000000000 +0200
+++ portaudio/configure.in 2013-05-04 15:14:14.356191153 +0200
@@ -387,7 +387,7 @@ case "${host_os}" in
DLL_LIBS="$DLL_LIBS -lasound"
LIBS="$LIBS -lasound"
OTHER_OBJS="$OTHER_OBJS src/hostapi/alsa/pa_linux_alsa.o"
- INCLUDES="$INCLUDES pa_linux_alsa.h"
+ INCLUDES="$INCLUDES pa_linux_alsa.h pa_unix_oss.h"
AC_DEFINE(PA_USE_ALSA,1)
fi

@ -1,18 +1,21 @@
Summary: Free, cross platform, open-source, audio I/O library
Name: portaudio
Version: 19
Release: 15%{?dist}
License: MIT
Release: 16%{?dist}
Summary: Free, cross platform, open-source, audio I/O library
Group: System Environment/Libraries
License: MIT
URL: http://www.portaudio.com/
# This is http://www.portaudio.com/archives/pa_snapshot.tgz from 27-03-2011
Source: pa_snapshot.tgz
# This is http://www.portaudio.com/archives/pa_snapshot.tgz svn rev 1890
Source0: pa_snapshot.tgz
Patch1: portaudio-doxynodate.patch
Patch2: portaudio-pkgconfig-alsa.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
# Add some extra API needed by audacity
# http://audacity.googlecode.com/svn/audacity-src/trunk/lib-src/portmixer/portaudio.patch
Patch3: portaudio-audacity.patch
BuildRequires: doxygen
BuildRequires: alsa-lib-devel
BuildRequires: jack-audio-connection-kit-devel
BuildRequires: libtool
%description
PortAudio is a portable audio I/O library designed for cross-platform
@ -24,7 +27,7 @@ and will be converted to the native format internally.
%package devel
Summary: Development files for the portaudio audio I/O library
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}, pkgconfig
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
PortAudio is a portable audio I/O library designed for cross-platform
@ -40,6 +43,9 @@ portaudio library.
%setup -q -n %{name}
%patch1 -p1
%patch2 -p1
%patch3 -p1
# For both patch3 and aarch64 support
autoreconf -i -f
%build
@ -51,37 +57,36 @@ doxygen
%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT
%clean
rm -rf $RPM_BUILD_ROOT
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%defattr(-,root,root,-)
%doc LICENSE.txt README.txt
%{_libdir}/*.so.*
%files devel
%defattr(-,root,root,-)
%doc doc/html/*
%{_includedir}/portaudiocpp/
%{_includedir}/portaudio.h
%{_includedir}/pa_jack.h
%{_includedir}/pa_linux_alsa.h
%{_includedir}/pa_unix_oss.h
%exclude %{_libdir}/*.la
%{_libdir}/*.so
%{_libdir}/pkgconfig/*.pc
%changelog
* Sat May 4 2013 Hans de Goede <hdegoede@redhat.com> - 19-16
- Add a patch from audacity adding some extra API calls audacity needs
- Cleanup spec-file
- Update svn snapshot to bring in some alsa samplerate handling fixes
- Run autoreconf for aarch64 support (rhbz#926363)
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 19-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
@ -148,7 +153,7 @@ rm -rf $RPM_BUILD_ROOT
* Sun May 22 2005 Jeremy Katz <katzj@redhat.com> - 18.1-5
- rebuild on all arches
* Fri Apr 7 2005 Michael Schwendt <mschwendt[AT]users.sf.net> 18.1-4
* Thu Apr 7 2005 Michael Schwendt <mschwendt[AT]users.sf.net> 18.1-4
- rebuilt
* Tue Nov 16 2004 Matthias Saou <http://freshrpms.net/> 18.1-3

@ -1 +1 @@
f936481e3d7f4bb824b88a805e060c28 pa_snapshot.tgz
f618bfd2d51852fc8f839625c68b2685 pa_snapshot.tgz

Loading…
Cancel
Save