Commit graph

106 commits

Author SHA1 Message Date
Lennart Poettering
15769ead72 fix type of internally used sframes variable, to avoid unnecessary casts
This minor patch fixes the type of the sframes variable in
snd_pcm_plugin_forward(). With this fix we need to cast less and the
code is less confusing.

Signed-off-by: Lennart Poettering <lennart@poettering.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-07-20 17:26:55 +02:00
Lennart Poettering
0fbfe2d8d6 clamp snd_pcm_rewind()/snd_pcm_forward() into the right direction
The clamping of the input parameter in snd_pcm_rewind()/_forward() is
in the wrong direction.

Signed-off-by: Lennart Poettering <lennart@poettering.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-07-20 17:25:53 +02:00
Jaroslav Kysela
c88672d86f implemented snd_pcm_rewindable() and snd_pcm_forwardable(), removed can_rewind and can_forward 2008-04-21 12:46:50 +02:00
Jaroslav Kysela
2c1318803f Impemented snd_pcm_htimestamp() function. 2008-01-09 13:50:45 +01:00
Jaroslav Kysela
d25e281230 Changed Jaroslav Kysela's e-mail from perex@suse.cz to perex@perex.cz 2007-10-15 10:24:55 +02:00
Takashi Iwai
8048321c76 More better fix for linked start/stop
Instead of link_fd, more generic callback link_slaves is introduced.
This is called for linking the slave streams as the source to the
given master stream.
2007-03-13 02:52:33 +01:00
Takashi Iwai
ff176aa01a Make plugin functions static
Make plugin functions that are not referred from others static.
2006-03-29 09:35:14 +00:00
Takashi Iwai
18a6132a66 Fix PCM without control/status mmap
Fix the update of appl_ptr via mmap_commit when control/status structs
are not mmapped (e.g. 32bit compatible mode on 64bit kernel).
2006-03-29 09:32:18 +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
Jaroslav Kysela
412fb54e0d Fedora 4 patch - gcc4 fixes 2005-05-06 14:09:17 +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
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
4a4cc2a301 The rate plugin was redesigned. Now only whole periods are resampled to
avoid rounding problems and to allow using other "block" algorithms.
2004-02-04 09:21:11 +00:00
Takashi Iwai
8bcadcb2a6 - fixed the calculation of snd_pcm_avail() with plugin.
this will fix the slow playback problem on mplayer.
- the delay calculation is optimized a bit.
2003-10-30 18:46: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
157107491c Added snd_pcm_type_name()
Fixed rate conversion plugin (SIGSEGV) - rounding problem
2003-03-08 16:35:18 +00:00
Jaroslav Kysela
7ecb338398 Use internal snd_pcm_forward() version... 2003-03-07 18:46:25 +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
8720faaccb Cleanups in IPC stuff.
Cleanups in snd_pcm_close().
Added initial code for dmix plugin:
  - only skeleton, but all major problems should be solved
2003-02-04 14:48:51 +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
Takashi Iwai
12e89c5307 fixed compile warning (conversion between signed and unsigned). 2002-06-18 16:06:14 +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
6746dabeb1 Fixed capture for plugins 2002-04-16 19:24:58 +00:00
Jaroslav Kysela
c31a3bff06 Fixed typo 2002-03-11 13:19:28 +00:00
Takashi Iwai
9fc594f47b fixed segfault in rate conversions. 2002-03-08 14:29:09 +00:00
Jaroslav Kysela
aeeb396002 Added abort when no more frames can be processed 2002-03-03 09:24:14 +00:00
Jaroslav Kysela
4a0e9058a9 Fixed xfer variable initialization for capture in avail_update() 2002-02-21 15:03:50 +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
a24b602f28 Added initial comments for PCM plugins 2002-01-16 16:42:40 +00:00
Jaroslav Kysela
8c1887d7af Moved some prototypes from src/pcm/pcm_plugin.h to include/pcm_plugin.h.
Merged src/pcm/atomic.h to include/iatomic.h.
Added initial description of hw and hooks plugins.
2002-01-12 10:52:42 +00:00
Jaroslav Kysela
3e3df2d32b Updated GNU GPL license (address).
Changed GNU LGPL licence from 2.0 to 2.1.
2001-12-30 09:22:54 +00:00
Jaroslav Kysela
b7b11c3558 - added snd_pcm_mmap_begin_avail function; it is optimized for use after
snd_pcm_avail_update() call
- fixed broken hw_ptr management inside snd_pcm_plugin code
2001-12-09 18:41:23 +00:00
Jaroslav Kysela
b63e44aab0 Synchronized snd_pcm_write_areas and snd_pcm_read_areas with the kernel
write/read functions.
Changed snd_pcm_xfer_areas_func_t to return snd_pcm_sframes_t (pass errors).
2001-12-09 12:32:42 +00:00
Jaroslav Kysela
0917ba63b0 Changed result of mmap_commit callback
(follows description of snd_pcm_mmap_commit function).
2001-12-08 21:02:20 +00:00
Jaroslav Kysela
3c59c6b11d Added power management functions and defines. 2001-09-26 13:57:04 +00:00
Abramo Bagnara
c51095434d Fixed missing frames count initialization 2001-06-30 08:24:41 +00:00
Abramo Bagnara
6a3b962d06 Better PCM mmap API. Fixed pcm_multi 2001-04-13 15:40:53 +00:00
Abramo Bagnara
5b50ec848a Lot of cleanings with the help of gcc3 2001-03-29 17:50:28 +00:00
Abramo Bagnara
d87059867b Added pcm_meter skeleton 2001-03-01 22:47:34 +00:00
Abramo Bagnara
a02e742609 Added multithread aware status for plugins 2001-02-27 18:21:31 +00:00
Abramo Bagnara
3196ef28ae Typo 2001-02-27 17:02:56 +00:00
Abramo Bagnara
3830b168ef Improved plugin code (simpler, faster and multithread ready) 2001-02-27 13:42:12 +00:00
Abramo Bagnara
460660d4b4 More generic support for poll descriptors 2001-02-12 23:51:49 +00:00
Abramo Bagnara
a2d3434961 Completed mixer API. Improved iterators. Renamed control values struct. Rewritten simple elements implementation 2001-02-11 15:45:35 +00:00