Commit graph

978 commits

Author SHA1 Message Date
Jaroslav Kysela
e4b58d20f1 Takashi Iwai <iwai@ww.uni-erlangen.de>
Thu, 30 Dec 1999 16:07:12 +0100
- fix of memory leak in seq_midi
- snd_seq_extract_output() accepts NULL ev_res argument (for removing the
  error event without malloc).
- addition of snd_seq_drain_input_buffer() and snd_seq_drain_output_buffer()
  functions in alsa-lib
1999-12-30 15:21:52 +00:00
Jaroslav Kysela
51dacc8e0e MMAP changes (/dev/snd/pcmcontrol).
Removed unregister callback from snd_minor_t.
1999-12-26 17:27:43 +00:00
Abramo Bagnara
3696e16613 Added snd_pcm_build_linear_format 1999-12-25 15:22:21 +00:00
Jaroslav Kysela
244d345fda Takashi Iwai <iwai@ww.uni-erlangen.de>
Wed, 22 Dec 1999 15:51:37 +0100
Changes in alsa-driver:

1. SND_SEQ_DEST_DIRECT was removed.  For direct dispatching, specify
   the scheduling queue as SND_SEQ_QUEUE_DIRECT.
   Source compatibility is kept if alsa-lib functions are used to set
   or check direct mode.
   Tested: pmidi, playmidi1, aconnect, aseqview, OSS emulation

2. The error event can be bounced to the sender as an encapsulated
   event with SND_SEQ_EVENT_BOUNCE type.  If the orignal event is
   variable length (like SYSEX), the data body is added after the
   copied event data.  (To access to it, use
   snd_seq_event_bounce_ext_data() macro.)
   This feature is enabled only when the sender is opened with read
   flag and has a client-filter flag SND_SEQ_FILTER_BOUNCE, so that
   as default it is disabled.

3. Maximum size of VARIABLE length event is defined as 2048 bytes.
   Larger events will be refused.
   Note that this is not the size of VARUSR nor VARIPC event.

4. Return error code was revised.
   Possible errors for read():
        -ENXIO  invalid client or file open mode
        -ENOSPC FIFO overflow (the flag is cleared after this error report)
        -EINVAL no enough user-space buffer to write the whole event
        -EFAULT seg. fault during copy to user space
   Possible errors for write():
        -ENXIO  invalid client or file open mode
        -ENOMEM malloc failed
        -EFAULT seg. fault during copy from user space
        -EINVAL invalid event
        -EAGAIN no space in output pool
        -EINTR  interrupts while sleep
        -EMLINK too many hops

        others  depends on return value from driver event_input callback

Changes in alsa-lib:

5. Behavior of snd_seq_flush_output() was changed.
   It flushes data in output buffer as much as possible.  This has
   two advantages.  One is that most data can be sent at one call,
   and another is that the error in write() can be detected directly
   from this function.
   The demerit of this implementation is that in non-blocking mode, it
   tries twice write() even if write pool of sequencer is full, which
   is not actually error.  In this case, flush_output() always returns
   -EAGAIN error code.
   After an error is detected (except for -EAGAIN in non-blocking
   mode), you should remove the error event via
   snd_seq_extract_output() as below.  Otherwise, it'll remain in
   output buffer and cause the same error again.

6. Some functions were added:
   snd_seq_exract_output(seq, &event)
        This extracts the first event on *output* buffer.  This will
        be useful to know (and remove) the event which causes error in
        write().
   snd_seq_event_input_pending(seq, fetch)
        Retunrs the number of events on input buffer.
        If no events exist in input buffer, it fetches from sequencer
        (only when flag is true).
   snd_seq_event_input_selective(seq, &ev, type, blocking)
        Retrieve the event from input with the given event type.
        If blocking is true, it waits until the target event is
        received.  It'll be useful for checking bounced error or
        waiting for hand-shake results (eg. loading insruments).
1999-12-22 15:05:51 +00:00
Jaroslav Kysela
a3aaf0582a Takashi Iwai <iwai@ww.uni-erlangen.de>
Frank van de Pol <frank@vande-pol.demon.nl>
Major sequencer changes and cleanups for 1.0.0.
1999-12-15 18:34:12 +00:00
Jaroslav Kysela
d33c93096a Added snd_pcm_get_format_name() to alsa-lib. 1999-12-11 20:36:13 +00:00
Jaroslav Kysela
20ebae20a7 Abramo Bagnara <abramo@alsa-project.org>
Sat, 11 Dec 1999 08:45:24 +0100
- changed lowlevel drivers to use pcm_misc.c functions
- fixed some bugs in pcm_plugin_build
- the plugin code is shared between alsa-lib and alsa-driver
1999-12-11 11:46:05 +00:00
Jaroslav Kysela
0f0ce09509 Added 'snd_card_get_name' & 'snd_card_get_longname'. 1999-12-11 10:50:39 +00:00
Jaroslav Kysela
6aabe84a5e Abramo Bagnara <abbagnara@racine.ra.it>
Sun, 05 Dec 1999 19:02:01 +0100

Bug fixed:
- duplicated deallocation for mmap'ed area
- missing deallocation in es18xx
- some bugs in volbal conversion

New features:
- virtual mixer for card-share (it seems to work, but I feel that it
  need further testing)

Misc:
- reorganization and extension of rate.c

Jaroslav changes:
- volbal source is mostly reverted back (no card-share mixer polling)
1999-12-06 00:01:26 +00:00
Jaroslav Kysela
863412f63e Added more open modes (O_APPEND).. 1999-12-05 21:12:24 +00:00
Jaroslav Kysela
78dc424b72 PCM plugin patches made by Abramo Bagnara.
Added new plugin - voice & balance.
1999-12-02 14:31:26 +00:00
Jaroslav Kysela
12e03f1928 Wed, 1 Dec 1999 19:46:33 +0100 (CET)
Uros Bizjak <uros@kss-loka.si>
  Included in this message, you will find a diff to alsa-lib, which
implements g721 adpcm codec. It works well (only consumes a lot of CPU),
and it plays back the same data as is recorded.

  Also added is CSP patch, which adds noise suppression when CSP is
started or stopped (A few TODOs less :) Also changed is copyright for
mulaw, alaw and adpcm codecs (Based on sun implementation ... + I added
myself - if you don't mind. Please check this copyright, if it is OK)
1999-12-01 19:44:14 +00:00
Jaroslav Kysela
f5e461caa3 PCM loopback API improved and added back the functionality.
Some mmap() changes for the OSS emulation.
1999-11-30 09:25:59 +00:00
Jaroslav Kysela
3239ca9940 Uros Bizjak <uros@kss-loka.si>
Sun, 28 Nov 1999 18:42:50 +0100 (CET)
mu-Law conversion plugin contains the Sun code now.
Added A-Law conversion plugin.
1999-11-28 18:10:47 +00:00
Jaroslav Kysela
091ee0f71b Mixer: Added filter ioctls for read events. 1999-11-27 16:33:58 +00:00
Jaroslav Kysela
767a681dcb Added new plugins & functions. 1999-11-24 17:00:39 +00:00
Jaroslav Kysela
2dc55fd684 Takashi Iwai <iwai@ww.uni-erlangen.de>
Tue, 16 Nov 1999 14:32:17 +0100
Some minor bug fixes in alsa-lib/seq.
1999-11-16 15:07:05 +00:00
Jaroslav Kysela
8328751e64 Fixed mmaped access.. 1999-11-08 23:19:36 +00:00
Jaroslav Kysela
8abf9370b5 Added snd_pcm_nonblock_mode... 1999-11-07 16:43:13 +00:00
Jaroslav Kysela
600dc6ae32 Merged pcm-v2 branch into main CVS tree. 1999-11-06 23:47:07 +00:00
Jaroslav Kysela
682deca370 Takashi Iwai <iwai@ww.uni-erlangen.de>
Fri, 17 Sep 1999 17:24:43 +0200

OK, the attached is the patch to alsa-driver and alsa-lib.
It will really violate the source/binary compatibility as
I wrote :-p

It includes:
 - change of event data for accessing Timer Port
 - new middle-level functions for sequencer in alsa-lib
 - some comments / fixes

The test programs in alsa-lib (playmidi1, aconnect, aseqnet)
were rewritten to use the new functions above.
I included also a patch to pmidi-1.2.2.
1999-09-17 16:17:21 +00:00
Jaroslav Kysela
928bbc4f10 More sequencer extension (event hop counter, get information about subscription).. 1999-08-26 10:23:28 +00:00
Jaroslav Kysela
57631a012c PCM SUBDEVICE selection enhancements 1999-08-22 13:34:31 +00:00
Jaroslav Kysela
b38a572356 Fixes for PCM loopback.. 1999-08-20 20:16:46 +00:00
Jaroslav Kysela
3555271122 Sequencer queue remove events 1999-08-19 16:35:48 +00:00
Jaroslav Kysela
57238d2b86 susumu-o@debian.or.jp - various fixes... 1999-07-29 13:10:52 +00:00
Jaroslav Kysela
79e733f00d Mixer read filter... 1999-07-27 19:45:10 +00:00
Jaroslav Kysela
9f2bbd5677 More mixer updates (probably last asound.h changes for group enhancements)... 1999-07-22 18:10:19 +00:00
Jaroslav Kysela
30e978b0b8 More mixer updates and some fixes... 1999-07-22 10:49:39 +00:00
Jaroslav Kysela
b85839431d Mixer interface updates (group extensions).. 1999-07-20 22:00:59 +00:00
Jaroslav Kysela
0a512c7d25 Mixer enhancements.. 1999-07-19 08:26:24 +00:00
Jaroslav Kysela
7abdbe78a0 More instrument API updates, pool purge & SLAB allocation fixes... 1999-07-10 08:52:04 +00:00
Jaroslav Kysela
227fe9d226 Updates for the control interface... 1999-06-22 13:18:24 +00:00
Jaroslav Kysela
d00535cc1b Sequencer changes (pool per client) by Takashi Iwai <iwai@ww.uni-erlangen.de> 1999-06-15 22:26:21 +00:00
Jaroslav Kysela
dc126564c7 PCM changes (record->capture)... 1999-06-12 19:23:10 +00:00
Jaroslav Kysela
c6d9012d55 Fixes for new types... 1999-06-03 21:41:29 +00:00
Frank van de Pol
19811bb9b4 Changed data type of alsa-lib handles from 'void *' to the specific type for
the handle in use. This should be more type-safe as the compiler will perform
checking on type now.
1999-06-02 00:40:30 +00:00
Jaroslav Kysela
7fc7063718 C++ fixes... 1999-05-28 14:06:13 +00:00
Jaroslav Kysela
e0741a5863 First IWFFFF code (instrument handling)... 1999-05-23 16:49:10 +00:00
Jaroslav Kysela
2e07583858 Changed e-mail from <perex@jcu.cz> to <perex@suse.cz>.. 1999-05-11 22:15:16 +00:00
Jaroslav Kysela
ef61108225 * HAL2 driver Ulf Carlsson <ulfc@thepuffingroup.com>
* Timer API changes/cleanups
* Sequencer API changes/cleanups
  - queue ioctls changed
  - instrument events added
1999-05-09 23:15:42 +00:00
Jaroslav Kysela
6e72ca3977 Recoded the universal switch interface... 1999-05-04 19:21:28 +00:00
Jaroslav Kysela
a5b307a711 Mixer v2.0 merged to the main CVS tree... 1999-05-02 16:21:30 +00:00
Jaroslav Kysela
3f541735e3 New universal switch v2.0 interface. 1999-03-27 19:44:51 +00:00
Jaroslav Kysela
c0e741dd8a Merged new-mixer branch... 1999-03-08 16:51:36 +00:00
Jaroslav Kysela
d0ca621a75 Changes for auto loader.. 1999-01-30 18:35:52 +00:00
Jaroslav Kysela
dc6d1ffeb0 Added back old defines for version... 1999-01-06 15:24:52 +00:00
Jaroslav Kysela
47b0531d86 Initial version... 1998-12-27 00:59:08 +00:00
Jaroslav Kysela
4518e4ca8e Sequencer updates... 1998-12-27 00:58:42 +00:00
Jaroslav Kysela
e8d923761f Added record channel operations. 1998-11-29 16:30:35 +00:00