This commit is contained in:
parent
3ad018544c
commit
25b11deb2d
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a0acfe840b519b9ab90f94878941ff2e77aac07c1e4d08c07f6d8c96661150ca
|
||||
size 714549
|
3
alsa-lib-1.0.14rc3.tar.bz2
Normal file
3
alsa-lib-1.0.14rc3.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:17b7e2ece54b5d39fe9c426ead25c3a0539e699fe257c80b51c19dc19dad640e
|
||||
size 715417
|
File diff suppressed because it is too large
Load Diff
184
alsa-oss-hg-fixes.diff
Normal file
184
alsa-oss-hg-fixes.diff
Normal file
@ -0,0 +1,184 @@
|
||||
diff -r 6b42089e67e3 alsa/alsa-oss.c
|
||||
--- a/alsa/alsa-oss.c Tue Aug 22 14:40:57 2006 +0200
|
||||
+++ b/alsa/alsa-oss.c Mon Feb 19 12:57:13 2007 +0100
|
||||
@@ -69,6 +69,7 @@ static int (*_select)(int n, fd_set *rea
|
||||
static int (*_select)(int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);
|
||||
static int (*_poll)(struct pollfd *ufds, unsigned int nfds, int timeout);
|
||||
static int (*_open)(const char *file, int oflag, ...);
|
||||
+static int (*_open64)(const char *file, int oflag, ...);
|
||||
static int (*_close)(int fd);
|
||||
static ssize_t (*_write)(int fd, const void *buf, size_t n);
|
||||
static ssize_t (*_read)(int fd, void *buf, size_t n);
|
||||
@@ -78,6 +79,7 @@ static int (*_munmap)(void* addr, size_t
|
||||
static int (*_munmap)(void* addr, size_t len);
|
||||
|
||||
static FILE *(*_fopen)(const char *path, const char *mode);
|
||||
+static FILE *(*_fopen64)(const char *path, const char *mode);
|
||||
|
||||
typedef struct ops {
|
||||
int (*close)(int fd);
|
||||
@@ -242,57 +244,73 @@ static ops_t ops[FD_CLASSES] = {
|
||||
},
|
||||
};
|
||||
|
||||
-int open(const char *file, int oflag, ...)
|
||||
-{
|
||||
- va_list args;
|
||||
- mode_t mode = 0;
|
||||
+static int dsp_open_helper(const char *file, int oflag)
|
||||
+{
|
||||
int fd;
|
||||
-
|
||||
- if (!initialized)
|
||||
- initialize();
|
||||
-
|
||||
- if (oflag & O_CREAT) {
|
||||
- va_start(args, oflag);
|
||||
- mode = va_arg(args, mode_t);
|
||||
- va_end(args);
|
||||
- }
|
||||
- if (is_dsp_device(file)) {
|
||||
- fd = lib_oss_pcm_open(file, oflag);
|
||||
- if (fd >= 0) {
|
||||
- int nfds;
|
||||
- fds[fd] = calloc(sizeof(fd_t), 1);
|
||||
- if (fds[fd] == NULL) {
|
||||
- ops[FD_OSS_DSP].close(fd);
|
||||
- errno = ENOMEM;
|
||||
- return -1;
|
||||
- }
|
||||
- fds[fd]->class = FD_OSS_DSP;
|
||||
- fds[fd]->oflags = oflag;
|
||||
- nfds = lib_oss_pcm_poll_fds(fd);
|
||||
- if (nfds > 0) {
|
||||
- fds[fd]->poll_fds = nfds;
|
||||
- poll_fds_add += nfds;
|
||||
- }
|
||||
- }
|
||||
- } else if (is_mixer_device(file)) {
|
||||
- fd = lib_oss_mixer_open(file, oflag);
|
||||
- if (fd >= 0) {
|
||||
- fds[fd] = calloc(sizeof(fd_t), 1);
|
||||
- if (fds[fd] == NULL) {
|
||||
- ops[FD_OSS_MIXER].close(fd);
|
||||
- errno = ENOMEM;
|
||||
- return -1;
|
||||
- }
|
||||
- fds[fd]->class = FD_OSS_MIXER;
|
||||
- fds[fd]->oflags = oflag;
|
||||
- }
|
||||
- } else {
|
||||
- fd = _open(file, oflag, mode);
|
||||
- if (fd >= 0)
|
||||
- assert(fds[fd] == NULL);
|
||||
+ fd = lib_oss_pcm_open(file, oflag);
|
||||
+ if (fd >= 0) {
|
||||
+ int nfds;
|
||||
+ fds[fd] = calloc(sizeof(fd_t), 1);
|
||||
+ if (fds[fd] == NULL) {
|
||||
+ ops[FD_OSS_DSP].close(fd);
|
||||
+ errno = ENOMEM;
|
||||
+ return -1;
|
||||
+ }
|
||||
+ fds[fd]->class = FD_OSS_DSP;
|
||||
+ fds[fd]->oflags = oflag;
|
||||
+ nfds = lib_oss_pcm_poll_fds(fd);
|
||||
+ if (nfds > 0) {
|
||||
+ fds[fd]->poll_fds = nfds;
|
||||
+ poll_fds_add += nfds;
|
||||
+ }
|
||||
}
|
||||
return fd;
|
||||
}
|
||||
+
|
||||
+static int mixer_open_helper(const char *file, int oflag)
|
||||
+{
|
||||
+ int fd;
|
||||
+ fd = lib_oss_mixer_open(file, oflag);
|
||||
+ if (fd >= 0) {
|
||||
+ fds[fd] = calloc(sizeof(fd_t), 1);
|
||||
+ if (fds[fd] == NULL) {
|
||||
+ ops[FD_OSS_MIXER].close(fd);
|
||||
+ errno = ENOMEM;
|
||||
+ return -1;
|
||||
+ }
|
||||
+ fds[fd]->class = FD_OSS_MIXER;
|
||||
+ fds[fd]->oflags = oflag;
|
||||
+ }
|
||||
+ return fd;
|
||||
+}
|
||||
+
|
||||
+#define DECL_OPEN(name, callback) \
|
||||
+int name(const char *file, int oflag, ...) \
|
||||
+{ \
|
||||
+ va_list args; \
|
||||
+ mode_t mode = 0; \
|
||||
+ int fd; \
|
||||
+ if (!initialized) \
|
||||
+ initialize(); \
|
||||
+ if (oflag & O_CREAT) { \
|
||||
+ va_start(args, oflag); \
|
||||
+ mode = va_arg(args, mode_t); \
|
||||
+ va_end(args); \
|
||||
+ } \
|
||||
+ if (is_dsp_device(file)) \
|
||||
+ fd = dsp_open_helper(file, oflag); \
|
||||
+ else if (is_mixer_device(file)) \
|
||||
+ fd = mixer_open_helper(file, oflag); \
|
||||
+ else { \
|
||||
+ fd = callback(file, oflag, mode); \
|
||||
+ if (fd >= 0) \
|
||||
+ assert(fds[fd] == NULL); \
|
||||
+ } \
|
||||
+ return fd; \
|
||||
+}
|
||||
+
|
||||
+DECL_OPEN(open, _open)
|
||||
+DECL_OPEN(open64, _open64)
|
||||
|
||||
int close(int fd)
|
||||
{
|
||||
@@ -730,7 +748,7 @@ FILE *fopen64(const char* path, const ch
|
||||
initialize();
|
||||
|
||||
if (!is_dsp_device(path))
|
||||
- return _fopen(path, mode);
|
||||
+ return _fopen64(path, mode);
|
||||
|
||||
return fake_fopen(path, mode, O_LARGEFILE);
|
||||
}
|
||||
@@ -765,19 +783,6 @@ int dup2(int fd, int fd2)
|
||||
return fcntl(fd, F_DUPFD, fd2);
|
||||
}
|
||||
#endif
|
||||
-
|
||||
-int open64(const char *file, int oflag, ...)
|
||||
-{
|
||||
- va_list args;
|
||||
- mode_t mode = 0;
|
||||
-
|
||||
- if (oflag & O_CREAT) {
|
||||
- va_start(args, oflag);
|
||||
- mode = va_arg(args, mode_t);
|
||||
- va_end(args);
|
||||
- }
|
||||
- return open(file, oflag | O_LARGEFILE, mode);
|
||||
-}
|
||||
|
||||
# define strong_alias(name, aliasname) \
|
||||
extern __typeof (name) aliasname __attribute__ ((alias (#name)));
|
||||
@@ -809,6 +814,7 @@ static void initialize()
|
||||
if (!fds)
|
||||
exit(1);
|
||||
_open = dlsym(RTLD_NEXT, "open");
|
||||
+ _open64 = dlsym(RTLD_NEXT, "open64");
|
||||
_close = dlsym(RTLD_NEXT, "close");
|
||||
_write = dlsym(RTLD_NEXT, "write");
|
||||
_read = dlsym(RTLD_NEXT, "read");
|
||||
@@ -819,5 +825,6 @@ static void initialize()
|
||||
_select = dlsym(RTLD_NEXT, "select");
|
||||
_poll = dlsym(RTLD_NEXT, "poll");
|
||||
_fopen = dlsym(RTLD_NEXT, "fopen");
|
||||
+ _fopen64 = dlsym(RTLD_NEXT, "fopen64");
|
||||
initialized = 1;
|
||||
}
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:9b8ede92cfa5f28d6bf6bb1253bdc562f8ac937797fb5e5303609e2e49c2e886
|
||||
size 980802
|
3
alsa-utils-1.0.14rc2.tar.bz2
Normal file
3
alsa-utils-1.0.14rc2.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:306bd7c4436c1c56a0a499317e23b5b58aea3718df17c138ab0df56fd9bf3e0c
|
||||
size 981123
|
@ -1,62 +0,0 @@
|
||||
diff -r 37fec0da2399 seq/aconnect/aconnect.1
|
||||
--- a/seq/aconnect/aconnect.1 Thu Dec 07 15:04:31 2006 +0100
|
||||
+++ b/seq/aconnect/aconnect.1 Mon Jan 08 11:44:20 2007 +0100
|
||||
@@ -1,5 +1,12 @@
|
||||
.TH aconnect 1 "August 31, 2000"
|
||||
-.LO 1
|
||||
+.de EX
|
||||
+.nf
|
||||
+.ft CW
|
||||
+..
|
||||
+.de EE
|
||||
+.ft R
|
||||
+.fi
|
||||
+..
|
||||
.SH NAME
|
||||
aconnect \- ALSA sequencer connection manager
|
||||
|
||||
@@ -33,12 +40,16 @@ For disconnection, use
|
||||
For disconnection, use
|
||||
.B \-d
|
||||
option.
|
||||
-.IP "" 4
|
||||
+.sp
|
||||
+.EX
|
||||
% aconnect \-d 64:0 65:0
|
||||
+.EE
|
||||
.PP
|
||||
The address can be given using the client's name.
|
||||
-.IP "" 4
|
||||
+.sp
|
||||
+.EX
|
||||
% aconnect External:0 Emu8000:1
|
||||
+.EE
|
||||
.PP
|
||||
Then the port 0 of the client matching with the string "External" is
|
||||
connected to the port 1 of the client matching with the "Emu8000".
|
||||
@@ -52,19 +63,15 @@ ports, can be listed with
|
||||
ports, can be listed with
|
||||
.B \-i
|
||||
option.
|
||||
-.IP "" 4
|
||||
+.sp
|
||||
+.EX
|
||||
% aconnect \-i
|
||||
-.br
|
||||
client 0: 'System' [type=kernel]
|
||||
-.in +4
|
||||
-0 'Timer '
|
||||
-.br
|
||||
-1 'Announce '
|
||||
-.in -4
|
||||
+ 0 'Timer '
|
||||
+ 1 'Announce '
|
||||
client 64: 'External MIDI\-0' [type=kernel]
|
||||
-.in +4
|
||||
-0 'MIDI 0\-0 '
|
||||
-.in -4
|
||||
+ 0 'MIDI 0\-0 '
|
||||
+.EE
|
||||
.PP
|
||||
Similarly, to see the output ports, use
|
||||
.B \-o
|
17
alsa.changes
17
alsa.changes
@ -1,3 +1,20 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Mar 14 16:42:02 CET 2007 - tiwai@suse.de
|
||||
|
||||
- update alsa-lib-1.0.14rc3
|
||||
* include last fixes
|
||||
* fix ladspa none policy
|
||||
* initialize dl handles where needed
|
||||
* fix error code in timer_query
|
||||
* fix compile warnings
|
||||
* add support for symbol prefixes in shlib
|
||||
* add card_name function
|
||||
* enable dmix for usb-audio
|
||||
* multi-plugin fixes from HG version
|
||||
- update alsa-utils-1.0.14rc2
|
||||
* include last fixes
|
||||
- fix LFS ops on alsa-oss wrapper
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jan 26 19:17:45 CET 2007 - tiwai@suse.de
|
||||
|
||||
|
37
alsa.spec
37
alsa.spec
@ -12,7 +12,7 @@
|
||||
|
||||
Name: alsa
|
||||
BuildRequires: doxygen
|
||||
%define package_version 1.0.14rc1
|
||||
%define package_version 1.0.14rc3
|
||||
License: GNU General Public License (GPL)
|
||||
Group: System/Libraries
|
||||
Provides: alsa-lib alsa-utils alsa-conf
|
||||
@ -21,9 +21,10 @@ PreReq: %insserv_prereq %fillup_prereq
|
||||
Autoreqprov: on
|
||||
Summary: Advanced Linux Sound Architecture
|
||||
Version: 1.0.13
|
||||
Release: 28
|
||||
Release: 33
|
||||
Source1: ftp://ftp.alsa-project.org/pub/lib/alsa-lib-%{package_version}.tar.bz2
|
||||
Source2: ftp://ftp.alsa-project.org/pub/util/alsa-utils-%{package_version}.tar.bz2
|
||||
# Source2: ftp://ftp.alsa-project.org/pub/util/alsa-utils-%{package_version}.tar.bz2
|
||||
Source2: ftp://ftp.alsa-project.org/pub/util/alsa-utils-1.0.14rc2.tar.bz2
|
||||
# Source5: ftp://ftp.alsa-project.org/pub/oss/alsa-oss-%{package_version}.tar.bz2
|
||||
Source5: ftp://ftp.alsa-project.org/pub/oss/alsa-oss-1.0.12.tar.bz2
|
||||
Source6: udev-soundfont
|
||||
@ -41,8 +42,8 @@ Source30: all_notes_off
|
||||
Source31: all_notes_off.bin
|
||||
Source32: all_notes_off.mid
|
||||
Patch1: alsa-lib-hg-fixes.diff
|
||||
Patch2: alsa-utils-hg-fixes.diff
|
||||
# Patch3: alsa-oss-hg-fixes.diff
|
||||
# Patch2: alsa-utils-hg-fixes.diff
|
||||
Patch3: alsa-oss-hg-fixes.diff
|
||||
URL: http://www.alsa-project.org/
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
|
||||
@ -98,12 +99,12 @@ Authors:
|
||||
cd alsa-lib*/.
|
||||
%patch1 -p1
|
||||
cd ..
|
||||
cd alsa-utils*/.
|
||||
%patch2 -p1
|
||||
cd ..
|
||||
# cd alsa-oss*/.
|
||||
# %patch3 -p1
|
||||
# cd alsa-utils*/.
|
||||
# %patch2 -p1
|
||||
# cd ..
|
||||
cd alsa-oss*/.
|
||||
%patch3 -p1
|
||||
cd ..
|
||||
%{?suse_update_config:%{suse_update_config -f alsa-lib*/. alsa-utils*/. alsa-oss*/.}}
|
||||
|
||||
%build
|
||||
@ -367,7 +368,21 @@ exit 0
|
||||
%defattr(-, root, root)
|
||||
%doc alsa-lib*/doc/doxygen/html/*
|
||||
|
||||
%changelog -n alsa
|
||||
%changelog
|
||||
* Wed Mar 14 2007 - tiwai@suse.de
|
||||
- update alsa-lib-1.0.14rc3
|
||||
* include last fixes
|
||||
* fix ladspa none policy
|
||||
* initialize dl handles where needed
|
||||
* fix error code in timer_query
|
||||
* fix compile warnings
|
||||
* add support for symbol prefixes in shlib
|
||||
* add card_name function
|
||||
* enable dmix for usb-audio
|
||||
* multi-plugin fixes from HG version
|
||||
- update alsa-utils-1.0.14rc2
|
||||
* include last fixes
|
||||
- fix LFS ops on alsa-oss wrapper
|
||||
* Fri Jan 26 2007 - tiwai@suse.de
|
||||
- fix file lists (#238223)
|
||||
* don't include unnecessary static libraries for libaoss
|
||||
|
Loading…
Reference in New Issue
Block a user