Commit graph

1016 commits

Author SHA1 Message Date
Takashi Iwai
3047f8fa5a Fix possible problems of playback drain with rate plugin
Fixed the possible problems of playback drain with rate plugin
when partial data remains and not committed before.
2005-05-12 13:34:59 +00:00
Jaroslav Kysela
f658e3e148 remove broken *_step initialization (caused by previous Fedora 4 patch)
Thanks to Abramo for notice.
2005-05-10 07:05:47 +00:00
Jaroslav Kysela
412fb54e0d Fedora 4 patch - gcc4 fixes 2005-05-06 14:09:17 +00:00
Takashi Iwai
467d69c5bc Fix CPU hog with combination of rate plugin
Fix CPU hog with some apps (e.g. artsd) when rate plugin is used
together with dmix (or possible hw).
2005-04-22 16:36:13 +00:00
Takashi Iwai
56b3974439 Show verbose errors for invalid sw_params
Show verbose errors (when $LIBASOUND_DEBUG is set) for some invalid sw_params.
2005-04-20 14:31:33 +00:00
Takashi Iwai
0f0fea7450 Fix ATTRIBUTE_UNUSED
Remove invalid ATTRIBUTE_UNUSED and add it to necessary places.
2005-04-20 14:30:45 +00:00
Takashi Iwai
87ec7df91d Read $LIBASOUND_DEBUG as integer
Read $LIBASOUND_DEBUG as integer, 1 = hw_params dump, 2 = assert.
2005-04-20 14:26:49 +00:00
Takashi Iwai
cac370de25 Fix segfault
Fix segfault (occuring when buffer/period sizes are aligned).
2005-04-19 16:11:26 +00:00
Takashi Iwai
9a0f2817bb Fix timer read in non-TREAD mode
Fix timer read in non-TREAD mode.  (the struct is different.)
2005-04-15 09:22:48 +00:00
Takashi Iwai
bdabcb9679 Check timer protocol number for direct plugins
Check timer protocol number before enabling TREAD mode for direct plugins.
2005-04-14 15:29:06 +00:00
Takashi Iwai
c9fbe951a9 Suppress verbose debug messages
Suppress verbose debug messages in hw_params_set[min|max|minmax] errors.
2005-04-14 15:27:47 +00:00
Takashi Iwai
b579a024db Add verbose hw_params debugging
Added the verbose hw_params dump for debugging.
The verbose error message is shown with the current hw_params dump
when $LIBASOUND_DEBUG is set.
2005-04-14 14:22:13 +00:00
Jaroslav Kysela
f65d9f3108 Added snd_pcm_hw_params_set_rate_resample function
- snd_pcm_hw_params_set_rate_resample()
- snd_pcm_hw_params_get_rate_resample()
2005-04-12 12:09:55 +00:00
Takashi Iwai
72ad0e9ae7 Fix more CPU hang-up bugs in dmix
- Fix CPU hang-up during snd_pcm_drain()
  A new internal function snd_pcm_wait_nocheck() to force to call poll().

- Clean up, fix status() callback of dmix
2005-04-11 10:03:28 +00:00
Takashi Iwai
c915659538 Fix compile warning
Fix compile warning (forgot return 0).
2005-04-06 13:08:28 +00:00
Takashi Iwai
999609f7e0 Compile warning fixes
Trivial compile warning fixes.
2005-04-05 15:53:24 +00:00
Takashi Iwai
aa89f27de4 More fixes for 100% CPU hang with dmix
More fixes for 100% CPU hang-up problem with dmix.

- Clear timer queues properly when XRUN happens.
- Don't check XRUN when the stream isn't really running.
- Do hwsync properly for the delayed start state.
2005-04-05 15:50:15 +00:00
Takashi Iwai
e5b91844bf Fix channel_info callbacks of hooks, file and plug plugins
Fixed channel_info callbacks of hooks, file and plug plugins (BTS #1034).
snd_pcm_generic_channel_info_slave() is added.
2005-04-05 15:48:01 +00:00
Takashi Iwai
1889920a43 Fix segfault with downsampling
Fix segfault in the initialization for downsampling.
2005-03-31 15:24:40 +00:00
Takashi Iwai
a0a440dcf4 Stop timer at XRUN
Stop PCM timer at XRUN.
2005-03-31 15:23:20 +00:00
Takashi Iwai
5c91ee386d Check PCM format aliases
Check PCM format alias strings (e.g. "S16") as acceptable PCM formats.
2005-03-29 16:34:31 +00:00
Takashi Iwai
9207804912 Generic architecture support
Support dmix on generic architectures without atomic operations but
using a semaphore to avoid concurrent accesses.  This is less effective
than atomic operations but should work on every system.
2005-03-29 14:13:04 +00:00
Takashi Iwai
6a6a70ffe7 Do hwsync of slave PCM on dmix
Call hwsync of slave PCM on snd_pcm_hwsync() over dmix.
This reduces ocasional output noises, typically seen in xmms and bmp with
multi-threading on SMP/HT systems.

Disabled slowptr of default dmix definition again.
2005-03-29 14:10:16 +00:00
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
c5c9b2c8bb Fix noises on exapnd
Fixes noise on rate expansion (bug #1018).
2005-03-29 13:52:41 +00:00
Takashi Iwai
e64cab565e Fix noises in rate exapnsion
Fixed noises in rate exapnsion.
2005-03-24 20:28:56 +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
73008debc3 Add snd_pcm_parse_control_id()
Added a new function snd_pcm_parse_control_id() for the user controls.
This can be used in external plugins, too.
2005-03-09 11:57:54 +00:00
Takashi Iwai
227441b2c8 More doxygen comments
Added more doxygen comments in pcm_extplug and pcm_ioplug codes.
2005-03-09 11:54:58 +00:00
Clemens Ladisch
85171640fa fix the file plugin
Call snd_pcm_file_hw_params instead of snd_pcm_generic_hw_params
to prevent a crash when the file plugin is used.
2005-02-28 08:25:12 +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
7e5a7fbdbf Remove JACK plugin
Removed JACK plugin.  It's in alsa-plugins now.
2005-02-24 10:16:51 +00:00
Takashi Iwai
145f85fff8 Accept string type card
Accept string type card entry to be compatible with others.
2005-02-22 20:21:23 +00:00
Takashi Iwai
cf6e569bd7 Code clean-up
Small code clean-up
2005-02-14 15:48:14 +00:00
Takashi Iwai
d8f7de1b16 Support dl-object cache
Added the support of dl-object caches for PCM plugins.
2005-02-14 15:09:09 +00:00
Takashi Iwai
5eb794fe0b Add filter-type external plugin SDK
Added the SDK for filter-type PCM plugins.
Share some codes with ioplug.
2005-02-14 13:33:08 +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
237d46cfb6 Fix compile warnings
Fixed compile warnings with unused variables.
2005-02-09 17:28:08 +00:00
Takashi Iwai
94c4cdcd30 Add external PCM plugin SDK (draft version)
Added the external PCM plugin SDK (draft version).
This can be used to create external PCM plugins.
Example codes are found in alsa-plugins directory.
2005-02-08 20:57:51 +00:00
Takashi Iwai
d7a32ca06b Fix hw_params of lfloat plugin
Fixed the bogus hw_refine call in hw_params of lfloat plugin.
2005-02-08 20:48:39 +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
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
Takashi Iwai
7e74f2ef1b Fix the available formats
Fixed the available formats to be set in hw_refine.
2005-01-21 19:38:10 +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
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
Takashi Iwai
6cac58179b Add pcm_generic.h
Added the missing pcm_generic.h.
2005-01-20 17:46:33 +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