Commit graph

970 commits

Author SHA1 Message Date
Jaroslav Kysela
ee5465d113 Removed 2000-06-05 14:59:35 +00:00
Jaroslav Kysela
dd53a219d4 Added autoheader to cvscompile.
Added config.h.in to .cvsignore.
Removed old version defines from asoundlib.h.
2000-06-05 14:34:21 +00:00
Abramo Bagnara
1014e1a3ab Fixed sign 2000-06-04 16:25:32 +00:00
Abramo Bagnara
ef2a9bdd88 Added mmap_control access function. Converted static checks in asserts. Uniformed avail functions to kernel code 2000-06-04 13:13:01 +00:00
Abramo Bagnara
f11e203d6e Added snd_pcm_stream_state and snd_pcm_stream_byte_io. Added needed callbacks and cleaned some existing. Fixed byte_boundary request 2000-06-01 21:58:25 +00:00
Abramo Bagnara
da9be8d3a8 More seek support 2000-05-29 19:53:30 +00:00
Abramo Bagnara
1a7f88d10e Better names for ALSA API. Added min_fragments, max_fragments. 2000-05-27 16:52:17 +00:00
Abramo Bagnara
14b1742ff2 Moved format descriptions out of kernel space. Exported setup dump function. 2000-05-25 08:36:58 +00:00
Abramo Bagnara
9eb2c42445 Renamed samples in frames where appropriated. Added a compatibility hack for gcc 2.7.2.3 2000-05-24 21:35:55 +00:00
Abramo Bagnara
c582ff51b6 Removed frag_* fields. Collapsed I/O plugins. Added to mmap plugin support for stream mode 2000-05-23 12:52:06 +00:00
Abramo Bagnara
0b2b3c8a81 Changed route plugin arithmetic to unsigned. Choosen better names for plugin ops 2000-05-20 13:18:55 +00:00
Abramo Bagnara
2284d80ef0 Fixed one typo and one thinko 2000-05-18 14:38:10 +00:00
Abramo Bagnara
7b054f4dce - splitted mmap in logical steps
- optimized mmap transfer
- completed mmap helpers
- renamed pcm_plugin_build.c to pcm_common.c
2000-05-16 15:20:34 +00:00
Abramo Bagnara
2829304154 Fixed C++ warnings 2000-05-11 14:12:34 +00:00
Jaroslav Kysela
443b257314 Moved update call to corrent position.. 2000-05-09 15:44:18 +00:00
Abramo Bagnara
e77cbd919d Completed pcm_update implementation 2000-05-09 10:46:43 +00:00
Jaroslav Kysela
1cd6778173 Merged pcm2 branch. 2000-05-08 18:53:38 +00:00
Jaroslav Kysela
986c1500d2 Another API cleanups.
Added setup functions for rawmidi and timer interfaces.
2000-04-18 15:20:12 +00:00
Abramo Bagnara
ff5f643228 Cleaned pcm internals. Added mmap'able plugins 2000-04-17 17:39:16 +00:00
Abramo Bagnara
fe03a4781b Renamed for congruency two fields 2000-04-16 15:36:09 +00:00
Jaroslav Kysela
e1490018f9 Fixed C++ compilation. 2000-04-15 10:48:49 +00:00
Jaroslav Kysela
a2932a8f52 Fixed compilation problem (route plugin definition). 2000-04-13 09:28:04 +00:00
Abramo Bagnara
eda7dab1a0 Fixed plugins 2000-04-12 20:41:16 +00:00
Jaroslav Kysela
749f2ffd77 Added snd_pcm_format_physical_width... 2000-03-30 13:21:26 +00:00
Jaroslav Kysela
098b4b6a96 New plugin interface with readv/writev support.
Initial code.
2000-03-29 20:26:06 +00:00
Abramo Bagnara
43e11d788a Removed voices and volbal plugins. Rewritten interleave plugin. Changed some name in linear 2000-03-22 16:18:04 +00:00
Jaroslav Kysela
54d348c4d7 Plugin updates. The action callback has a new argument.
The mmap plugin is updated to accept frags_min & frags_max. Also,
SND_PCM_STOP_ROLLOVER behaves much better.
2000-03-21 17:36:27 +00:00
Takashi Iwai
43041cbe78 New functions for sequencer:
- snd_seq_event_output_buffer()
	Outputs an event on buffer without flushing to sequencer.
	Useful for non-blocking mode write.
- snd_seq_event_output_direct()
	Outputs an event directly to sequencer without using buffer.
	Thus the event can be passed even if output buffer is full.
- snd_seq_input_buffer_size(), snd_seq_output_buffer_size()
	Returns the size of input/output buffers
- snd_seq_resize_input_buffer(), snd_seq_resize_output_buffer()
	Changes the size of input/output buffers
2000-03-18 18:03:50 +00:00
Jaroslav Kysela
4931c0c7e2 Changed the switch interface.
Every switches are accessible via one ioctl.
2000-03-01 18:12:30 +00:00
Jaroslav Kysela
b316062856 Loopback API improvement - added silence block. 2000-02-18 18:12:50 +00:00
Abramo Bagnara
fc69109d69 added readv/writev support 2000-01-31 12:40:05 +00:00
Jaroslav Kysela
ab804c5072 Added extern to snd_mixer_weight_entry_t *snd_mixer_default_weights 2000-01-23 20:23:37 +00:00
Jaroslav Kysela
70a536e924 snd_seq_timestamp_t->real was renamed to snd_seq_timestamp_t->time
Some code is using real as a variable type.
2000-01-20 12:14:50 +00:00
Abramo Bagnara
50b815f16a Added group and elements sorting 2000-01-18 08:45:02 +00:00
Jaroslav Kysela
5edb3e94be Removed. 2000-01-12 08:35:47 +00:00
Jaroslav Kysela
be2d24f3e7 Added snd_hwdep_ioctl function. 2000-01-11 17:35:50 +00:00
Jaroslav Kysela
2cdc7a7767 Removed unfinished sequencer sync code. 2000-01-10 13:08:38 +00:00
Jaroslav Kysela
a6aee7bee0 Added the support for the hardware depedent interface. 2000-01-10 10:07:53 +00:00
Abramo Bagnara
d2911f9f34 uniformed alsa-lib interfaces 2000-01-09 22:44:52 +00:00
Jaroslav Kysela
393acc198e Compilation fix (removed snd_rawmidi_[output|input]_info_t). 2000-01-08 21:51:25 +00:00
Abramo Bagnara
63f5a79562 - splitted pcm channels in two different devices to handle mmap correctly
- removed mmap control device
- reordered pcm shared and not shared code
- changed O_WRONLY oss pcm modifier in a more symmetric and elegant way
- changed slightly control interface
- added snd-debug-check
- uniformed null pointer check
- fixed a typo in linear plugin
2000-01-08 20:11:33 +00:00
Jaroslav Kysela
d117462cb9 Takashi Iwai <iwai@ww.uni-erlangen.de>
Mon, 03 Jan 2000 10:47:02 +0100
- bugfix: proper handling of exclusive subscription
- bugfix and update: alsa-lib/test/seq* stuff
- minor updates (long option support, etc) of aconnect and aseqnet
- man pages for aconnect and aseqnet are added
2000-01-03 10:25:56 +00:00
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