Commit graph

141 commits

Author SHA1 Message Date
Takashi Iwai
3d0e3e2517 Add "nonblock" option for hw layer
Added a new "nonblock" option for hw layer.  This controls the non-blocking
"open" mode as default.

This option is set to TRUE as the default configuration.  If the old behavior
is preferred, set "defaults.pcm.nonblock" to 0 in /etc/asound.conf.
2006-01-13 11:52:01 +00:00
Jaroslav Kysela
bdfbbed5ca pcm dump() routines update: use spaces to indent texts 2005-12-11 08:24:13 +00:00
Takashi Iwai
087184b0f9 Fix doxygen documents
Fix the warnings of doxygen parsing.
Add some missing documentation.
2005-05-24 14:14:28 +00:00
Takashi Iwai
dd37bb20ee Move poll_* callbacks to fast_ops
Moved poll_* callbacks to fast_ops.
These callbacks may be called frequently indeed.
2005-05-23 09:03:16 +00:00
Takashi Iwai
a6d3b9e4e0 Remove poll_ask callback
Removed poll_ask callbacks.
poll_ask function is merged to poll_descriptors callbacks.
2005-05-18 10:50:09 +00:00
Takashi Iwai
10557ca6b9 Fix playback start with sync_ptr mode
Fix by Istvan Varadi <ivaradi@gmail.com>

- start the playback with snd_pcm_hw_start failed with -EPIPE, because
 some pointers were not updated. I attached a patch for alsa-lib 1.0.8,
 in which sync_ptr is called before SNDRV_PCM_IOCTL_START. It seems to
 solve the problem, though I don't know alsa-lib enough to be sure that
 this is the right solution...
2005-05-13 14:14:10 +00:00
Takashi Iwai
809e31561a Initialize structs for ioctls
Initialize the argument structs before calling ioctls to make
valgrind happy.
2005-02-24 20:57:56 +00:00
Takashi Iwai
f9b9015245 Fix resmgr support
Call normal open() before trying with res_open_device().
snd_open_device() is defined to do this procedure.
2005-02-11 16:35:24 +00:00
Takashi Iwai
77c925a71f Add resmgr support
Added the support for resmgr.  A new configure option --with-resmgr is added
to enable the resmgr support.
2005-01-26 10:50:28 +00:00
Jaroslav Kysela
a5831c7300 The stream linking problem for pcm_multi.c should be fixed now
- extended link_fd callback
- added snd_pcm_generic_link2()
- added _snd_pcm_link_descriptors()
2005-01-20 18:37:13 +00:00
Jaroslav Kysela
836987aa99 improved stream linking and plugin code cleanups
- added link/unlink/link_fd fast_ops callbacks
- moved code from snd_pcm_link to pcm_hw.c
- moved "empty" routines pointing to slave to pcm_generic.c
- introduced snd_pcm_generic_t
2005-01-20 15:07:51 +00:00
Takashi Iwai
2b54677fdb Change error message handling
Change the handling of non-fatal errors.  Now the non-fatal error
messages are not shown in stderr and no assert() as default.  The
behavior can be changed with LIBASOUND_DEBUG environment variable.
2004-12-21 14:11:00 +00:00
Jaroslav Kysela
457b8777ab fix for capture for case when status/control structures are not mmaped 2004-11-16 16:03:01 +00:00
Jaroslav Kysela
6987a8555c appl_ptr sync fix when status/control structures are not mmaped
The prepare and reset ioctls can modify appl_ptr, thus the user space
must take modified appl_ptr from driver.
2004-11-16 15:05:49 +00:00
Jaroslav Kysela
090fa69b51 Added check_std_error to avoid extra verbosity 2004-09-28 10:54:05 +00:00
Jaroslav Kysela
509e30494f compilation fix 2004-05-24 18:44:04 +00:00
Jaroslav Kysela
eafb492512 - added SYNC_PTR ioctl support for pcm_hw plugin 2004-05-22 10:14:32 +00:00
Takashi Iwai
494f3e66e4 fixed the handling of EINTR in read/write.
EINTR can be returned during ACPI suspend/resume.
2004-04-15 12:22:26 +00:00
Jaroslav Kysela
7c201b510a - added poll_ask callback to mangle avail_min (rate_plugin as example)
- added mangling of avail_min to rate_plugin
- added poll_fd_count variable
- FIXME: move poll_revents callback to fast_ops
2004-03-17 11:48:14 +00:00
Jaroslav Kysela
0acc42d0d7 VERSION_MAX == 2.0.5 2004-03-05 08:05:21 +00:00
Jaroslav Kysela
62ad89e954 Fixed warning 2004-02-01 19:23:41 +00:00
Takashi Iwai
7716fd1e3d fixes by Art Haas <ahaas@airmail.net>:
rewritten with C99 struct initialization style.
2003-07-25 17:02:00 +00:00
Jaroslav Kysela
68f5980103 Fixed fcntl() call 2003-05-04 20:07:30 +00:00
Jaroslav Kysela
573f85dc1d - added shm area manager code
- fixed parsing of period_size/buffer_size options for dmix, dsnoop and
  dshare plugins
2003-04-23 12:41:55 +00:00
Jaroslav Kysela
2459a6d1d1 Fixed tstamps for newer driver 2003-03-01 20:32:02 +00:00
Jaroslav Kysela
cf9e518d51 Timestamp update (struct timeval -> struct timespec). 2003-02-28 17:23:28 +00:00
Jaroslav Kysela
2950dbf725 A try to fix the errno mess 2003-02-23 20:00:07 +00:00
Jaroslav Kysela
0c72d7555a Use FORWARD ioctl 2003-02-23 19:48:08 +00:00
Jaroslav Kysela
7b09000813 Removed snd_pcm_hwdiff() function 2003-02-22 17:53:01 +00:00
Jaroslav Kysela
2dab1dfbc3 Removed snd_pcm_hwptr().
Added snd_pcm_hwdiff() and snd_pcm_forward().
Returned the behaviour for snd_pcm_mmap_begin().
2003-02-22 17:19:02 +00:00
Jaroslav Kysela
fbd99fdec0 Added snd_pcm_hwptr() and enhanced snd_pcm_mmap_begin() for no xrun mode. 2003-02-22 10:19:53 +00:00
Jaroslav Kysela
af89cefd99 More changes for dmix plugin:
- added poll_events to main pcm structure
  - added poll_revents callback to pcm->ops structure
  - fixed snd_pcm_wait() - call revents function and enhanced
    error code reporting
DMIX plugin:
  - more complete code (works at least for one instance)
  - still no "mix" code (it's silent)
2003-02-11 18:14:43 +00:00
Jaroslav Kysela
c7d58f398e Added rmask/cmask handling in refine 2003-02-08 09:26:43 +00:00
Jaroslav Kysela
073dff1ba1 Commented out FD_CLOEXEC fcntl() calls 2003-02-05 11:00:16 +00:00
Jaroslav Kysela
d4c27edb1c Fixed error paths in open 2003-02-04 16:40:47 +00:00
Takashi Iwai
176d858909 fixed typo. 2003-02-04 15:59:25 +00:00
Jaroslav Kysela
e5b227961e Splitted code to snd_pcm_hw_open_fd() function and added handling for FD_CLOEXEC flag 2003-02-04 13:33:44 +00:00
Jaroslav Kysela
8205a95376 Replaced snd_pcm_avail() with snd_pcm_hwsync() 2002-10-12 11:49:53 +00:00
Jaroslav Kysela
e859cf2644 Implemented snd_pcm_avail() function.
More documentation updates for snd_pcm_avail_update() and snd_pcm_delay().
Updated behaviour of read/write functions (wait when buffer is full) to
follow kernel.
2002-10-11 18:39:24 +00:00
Jaroslav Kysela
7f3942d827 Reverted back the PCM API.
New snd_pcm_hw_params_* functions are available only explicitly when
ALSA_PCM_NEW_HW_PARAMS_API is defined.
Updated documentation and test code to new API.
2002-09-19 16:12:13 +00:00
Jaroslav Kysela
b9343e0834 - unified snd_pcm_hw_params_* functions
- added backward compatibility for older non-compatible functions
- added --with-compat-rc3 to configure script to build library
  backwards compatible with 0.9.0rc3
- added symbol versioning like libc.so.6
  - ALSA_0.9      - alsa base
  - ALSA_0.9.0rc4 - first set of new functions (snd_pcm_hw_params_*)
2002-09-17 12:33:05 +00:00
Jaroslav Kysela
677b0f60d6 Added snd_pcm_hw_params_get_min_align; changed get_format, get_subformat and get_access function to return not mixed error and return value 2002-09-09 19:47:50 +00:00
Jaroslav Kysela
16b3bf447c Enhanced bitmasks in PCM - added support for more formats by Takashi and me 2002-06-26 02:04:11 +00:00
Jaroslav Kysela
7fbb1a3071 Removed dummy code 2002-06-10 11:16:58 +00:00
Takashi Iwai
54ae06305d don't recheck MMAP_XXX masks (in mmap_emulation mode only). 2002-04-30 12:40:11 +00:00
Jaroslav Kysela
c941c548f8 Moved ring buffer pointers and added a mechanism to transfer them via shm 2002-04-23 15:51:29 +00:00
Jaroslav Kysela
89d3f1d82f Added debug printf 2002-03-11 13:18:46 +00:00
Jaroslav Kysela
63fc0363c4 Added ommited break 2002-02-22 07:51:43 +00:00
Jaroslav Kysela
e128bf856e Cleaned the mmap_commit implementations in plugins.
Added undo callbacks for snd_pcm_plugin based plugins.
  - helpers when mmap_commit proceed only a partial transfer
Fixes to avail_update implementation in pcm_hw.c.
2002-02-21 15:01:34 +00:00
Jaroslav Kysela
9b0eebbcb7 Added a call to XRUN ioctl to update correctly PCM state 2002-02-21 08:45:19 +00:00