Takashi Iwai
d81d6940ca
Fix bugs in perm option
...
Fixed silly bugs in perm option.
2005-05-19 15:14:05 +00:00
Takashi Iwai
4e1723f9a5
More strict permission for IPC shm and sem
...
Use more strict permission for IPC shm and sem, too.
The permission follows to the value of ipc_perm config option, as
default 0600.
2005-05-19 14:36:04 +00:00
Takashi Iwai
13c7364997
Revert the shmget permission
...
Oops, a part of another patch was merged accidentally. Reverted.
2005-05-19 14:20:07 +00:00
Takashi Iwai
5227c7e170
Fix possible noises and optimization with dmix
...
dmix transfers data in asynchronously so that it doesn't write on the
last active period. This will allow the arbitrary buffer size in
future, too.
The hwsync call to slave is removed from commit and hwsync callbacks.
This hack was added to fix the noisy output (typically on xmms/bmp)
but it doesn't happen any more. Now the hwsync behavior is as same as
on 1.0.8 (i.e. hwsync is called only when slowptr option is set).
2005-05-19 14:14:04 +00:00
Takashi Iwai
1cd04dba82
Add perm option
...
Added "perm" option to file plugin to specify the file permission.
Changed the default permission to 0600.
2005-05-19 13:59:43 +00:00
Takashi Iwai
d5b9823447
Fix snd_pcm_wait() for multiple pollfd's
...
Fixed snd_pcm_wait() to handle multiple pollfd's.
2005-05-18 13:28:06 +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
e61d385993
Add protocl version check
...
- Added protocl version check. The caller of snd_pcm_{io|ext}plug_create()
must fill version field with SND_PCM_{IO|EXT}PLUG_VERSION beforehand.
- Added poll_descriptors and poll_descriptors_count callbacks for ioplug.
2005-05-18 10:47:52 +00:00
Takashi Iwai
97010dbfdb
Use snd_pcm_generic_t and its callbacks
...
Use snd_pcm_generic_t and its callbacks.
2005-05-18 10:46:03 +00:00
Takashi Iwai
842b573424
Add poll_descriptors and poll_descriptors_count callbacks
...
Added poll_descriptors and poll_descriptors_count callbacks for multiple
poll_fd's.
2005-05-18 10:45:06 +00:00
Takashi Iwai
cf4f4bc9c4
Fix drain of dmix without data
...
Fixed the drain of dmix plugin without any data.
It should return immediately.
2005-05-17 15:36:18 +00:00
Takashi Iwai
51313cb2dd
Remove pause and fix timer initialization in prepare
...
- Removed broken pause implementations.
- Fixed the timer initialization in prepare callback so that poll
works again after prepare.
2005-05-17 09:28:29 +00:00
Takashi Iwai
e76bbd74d7
Set up pcm->info properly
...
Set up pcm->info properly for ioplug according to the avaialbe callbacks.
2005-05-17 09:27:17 +00:00
Takashi Iwai
3092edabf2
Propagate pcm->info
...
Propate pcm->info bit flags from the slave PCM in refine.
This will fix the bug indicating bogus pause/resume capabilities.
2005-05-17 09:26:34 +00:00
Takashi Iwai
48bff53b36
Check timer version for read-block workaround
...
Check the timer protocl version whether to use poll for a workaround
of read-block problems.
2005-05-15 14:48:19 +00:00
Takashi Iwai
1aaf4a50af
Fix blocking during draining in dmix
...
Fix the blocking during draining in dmix plugin due to ioctl
conflicts (bug #1074 ). This is a temporary workaround.
2005-05-15 13:54:00 +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
3403d9e622
Fix partial commit in drain
...
Fix the partial commit in draining with rate plugin.
2005-05-13 12:37:25 +00:00
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