Takashi Iwai
5e325ea18b
Delayed start for dmix
...
Introducing a private state for the delayed start of PCM stream.
This problem occurs when the rate plugin doesn't feed the data
properly before triggering START. This results in weird problems,
e.g. an inifinte loop of artsd eating 100% CPU time.
To solve this problem, the state is marked as "pending" when no
data appears at the trigger, and the stream is started later at
the mmap commit.
2005-03-29 14:06:00 +00:00
Takashi Iwai
248d0b285c
Fix compilation with gcc-4.0
...
Fixed compilation with gcc-4.0
2005-03-22 18:49:07 +00:00
Takashi Iwai
dab2b58e0e
Fix resume of dmix, dsnoop and dshare plugins
...
Fix the resume of dmix, dsnoop and dshare plugins.
[This replaces the timer mode with TREAD mode, and may trigger Oops
with the older kernel...]
2005-03-15 11:39:51 +00:00
Takashi Iwai
8003e03b50
Small code clean up
...
Small code clean up for readability.
2005-03-09 12:00:37 +00:00
Takashi Iwai
22846c486f
Split arch-dependent codes of dmix
...
Split arch-dependent codes of dmix to separate files.
2005-02-08 20:28:29 +00:00
Clemens Ladisch
c92969845d
start pcm when draining in prepared state
...
For consistency with hw pcms, dmix/dshare pcms are started
when draining in the prepared state with a non-empty buffer.
2005-02-07 09:13:58 +00:00
Takashi Iwai
680a60a688
Use snd_config_get_bool()
...
Cleanup using snd_config_get_bool() in possible places.
2005-01-21 19:37:00 +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
c83e9d7451
Fix handling of DISCONNECT state
...
Fixed the handling of DISCONNECT state in dmix (not to set bogus error
values to state).
2005-01-11 17:42:49 +00:00
Jaroslav Kysela
b7e8f57314
Try to fix period_time/period_size problems for direct plugin slaves
2004-10-29 10:56:13 +00:00
Stas Sergeev
6f515096d9
[ALSA-LIB] dmix: dont forget to return -EINVAL on errors
...
snd_pcm_dmix_open() returns success if the open fails attempting
to open not the HW plugin (dmix seems to be limited to use only
the HW plugin right now). This leads to memory corruptions and
eventually a SIGSEGV. The attached patch fixes the omission.
Signed-off-by: Stas Sergeev <stsp@aknet.ru>
2004-09-15 18:44:24 +00:00
Jaroslav Kysela
eafb492512
- added SYNC_PTR ioctl support for pcm_hw plugin
2004-05-22 10:14:32 +00:00
Clemens Ladisch
ef11ba77ed
document all PCM plugin parameters
2004-04-26 07:40:12 +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
5337e682f6
rewind returns error code rather than doing wrong operation
2004-02-18 20:15:49 +00:00
Jaroslav Kysela
a6ad2629e3
The format condition was wrong (dmix<->dsnoop)
2004-02-03 14:44:48 +00:00
Jaroslav Kysela
b798d89c0f
<atlka@pg.gda.pl>
...
- shm memory patch
- optimized a bit sample mixing routines in c and x_86 asm
2004-01-24 16:34:35 +00:00
Jaroslav Kysela
819a85fb2c
Added sync_ptr callback
2004-01-23 13:04:43 +00:00
Jaroslav Kysela
c508b496b4
Fixed poll() behaviour for direct plugins, also added snd_pcm_hwsync() call to start callback
2004-01-21 19:21:11 +00:00
Jaroslav Kysela
eeb5d6f0ac
Added slowptr options to direct plugins
2004-01-20 15:29:39 +00:00
Jaroslav Kysela
9105bb7fcd
Added SNDRV_PCM_STATE_DISCONNECTED state.
...
Changed direct plugins to handle DISCONNECT/SUSPEND states from slave.
2004-01-19 19:48:27 +00:00
Jaroslav Kysela
0545cf711d
Maik Broemme <mbroemme@plusserver.de>
...
- added ipc_perm for dmix plugin
Jaroslav Kysela <perex@suse.cz>
- added ipc_perm for dsnoop and dshare plugins
- added ipc_perm to doc/asoundrc.txt
2003-12-07 09:30:47 +00:00
Takashi Iwai
cdb9bc5139
added more documents and examples about plugins.
2003-10-23 14:42:47 +00:00
Takashi Iwai
243027a824
- support of dmix asm code for x86-64.
2003-09-17 17:09:45 +00:00
Jaroslav Kysela
95418afc67
Direct plugins update:
...
- moved more common code to pcm_direct.c
- added missing initialization of some variables in hw_params
2003-09-02 10:32:33 +00:00
Takashi Iwai
18927bfe9a
fixed dmix crashes by Clemens Ladisch <clemens@ladisch.de>:
...
pcm->name can be NULL (when an unnamed pcm node is embedded in another
pcm)
2003-08-07 14:20:32 +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
e03aaa1888
Added unlink of the communication socket name.
...
Added retry when the semaphore is lost (server is going down and removes
the global semaphore). Now the application creates a new direct server
automagically rather than the error return.
2003-07-15 19:15:10 +00:00
Jaroslav Kysela
6633460801
Clemens Ladisch <clemens@ladisch.de>
...
fix some wrong section/file/reference names
2003-07-01 09:23:38 +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
05d57ff3be
Added missing sync_ptr() call to pcm_status() function
2003-04-19 13:12:59 +00:00
Jaroslav Kysela
a10140cef6
Added more comments for 32-bit mixing
2003-03-19 16:42:47 +00:00
Jaroslav Kysela
7470a5b9af
dshare and dsnoop plugins are working now
2003-03-19 16:35:35 +00:00
Jaroslav Kysela
87538939bd
A small cleanup to 32-bit mix routine as Abramo suggested
2003-03-19 13:16:21 +00:00
Jaroslav Kysela
6235dab516
Corrected universal 32-bit mixing routine
2003-03-19 12:27:43 +00:00
Jaroslav Kysela
bc28eccdcd
Extracted common code from dmix plugin.
...
Initial framework for dsnoop and dshare plugins.
2003-03-18 20:37:42 +00:00
Jaroslav Kysela
2e7fe2865a
Moved send_fd/receive_fd routines to src/socket.c .
2003-03-18 18:00:05 +00:00
Jaroslav Kysela
ad49e473ec
Removed unused variable
2003-03-18 17:41:10 +00:00
Jaroslav Kysela
cfe6f7be54
Added bindings to dmix plugin
2003-03-18 17:08:38 +00:00
Jaroslav Kysela
9ccf002f54
Added 32-bit sample support to dmix plugin
2003-03-18 14:15:19 +00:00
Jaroslav Kysela
b439930525
Reverted back generic code
2003-03-01 20:18:50 +00:00
Jaroslav Kysela
0b3b4b912d
Reverted back code for generic mix function
2003-03-01 11:20:18 +00:00
Jaroslav Kysela
20f261e3fd
Fixed check_interleave test
2003-02-28 20:32:33 +00:00
Jaroslav Kysela
cf9e518d51
Timestamp update (struct timeval -> struct timespec).
2003-02-28 17:23:28 +00:00
Jaroslav Kysela
d55919b910
Removed debugging output
2003-02-25 13:35:40 +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
1c908a75c1
Moved asm i386 code to pcm_dmix_i386.h; UP optimization
2003-02-20 17:10:22 +00:00
Jaroslav Kysela
16f785ca13
added .p2align lines to i386 asm code
2003-02-20 15:45:01 +00:00