Commit graph

25 commits

Author SHA1 Message Date
Jaroslav Kysela
13fdc41785 add snd_device_name_hint() function and initial implementation
- add snd_device_name_hint() and snd_device_name_free_hint() functions
- add snd_ctl_iface_conf_name() functions
- do not accept parameters for the plugin definition without @args section
- add defaults.pcm.dmix.card/device and dsnoop.card/device definitions
- add hints for HDA-Intel.conf, pcm/dmix.conf, pcm/dsnoop.conf and alsa.conf
- add test/namehint test utility
- doxygen related cleanups
2006-10-11 13:18:57 +02:00
Takashi Iwai
da17b50892 Add default dmix rate and format definitions in alsa.conf
Added defaults.pcm.dmix_format and dmix_rate definitions to
alsa.conf.  They are referred as the default values of standard
dmix/dsnoop PCM.
2006-06-16 19:27:35 +02:00
Takashi Iwai
04a5f529db Add PCM definitions dpl and dpl2
Add PCM definitions "dpl" and "dpl2" in pcm/dpl.conf.
Include the file via
	<confdir:pcm/dpl.conf>
for use.
2006-04-06 19:08:27 +02:00
Takashi Iwai
1128efc7d4 Fix buffer size handling of direct plugins
Introduce "max_periods" option to specify the max number of periods
per buffer to each plugin.

- When max_periods = -1, the fixed buffer size as the slave size is
  used (old behavior).
- When max_periods = 0 (or 1), the number of periods is variable
  between 2 and the slave buffer size.
- When max_periods greater than 2 is given, it specifies the max
  periods of that pcm explicitly.

When no option is given in the PCM defintion, the value
"defaults.pcm.dmix_max_periods" is referred as default.
The default value is 0, as defined in alsa.conf.
You can override this in ~/.asoundrc or /etc/asound.conf as you like.
2006-04-06 18:49:11 +02:00
Takashi Iwai
7e6c920836 dmix - Allow more flexible buffer sizes
With the patch, dmix allows apps to use more flexible buffer sizes.
The max buffer size is unlimited, and the minimal buffer size is
(period size * 2).  The buffer size is aligned to period size.

The period size is still bound to the period size of slave PCM.

To back to the old behavior (the fixed buffer size), you can set

   defaults.pcm.dmix_variable_buffer false

in your configuration.
2006-03-21 10:27:35 +00:00
Takashi Iwai
7eff603576 Support multi-card/device for direct plugins
- Support multi-card/device for dmix/dsnoop/dshare plugins
  The unique ipc key is calculated based on card/device/sub index

- Clean up and share the code among all d* plugins

- Refer the defaults.pcm.* configuration
  The base ipc_key number, ipc_gid and ipc_perm are referred.
2006-01-16 13:15:32 +00:00
Takashi Iwai
dee6f010b7 Use S16_LE as default for dmix
Use S16_LE as default format for dmix, instead of S16.
2005-09-19 12:38:14 +00:00
Sasha Khapyorsky
dba82373c6 modem's pcm "two device" config
This defines two modem related pcm devices: "phoneline" is driver's pcm
reference, with "modem" the line will be "Hook-Off"ed automatically.

Signed-off-by: Sasha Khapyorsky <sashak@smlink.com>
2005-09-12 10:37:22 +00:00
Jaroslav Kysela
af6544a274 dmix and dsnoop configuration - added ipc_perm 0660 (to handle all users with audio group) 2005-09-08 06:36:00 +00:00
Jaroslav Kysela
3a763ae3c5 use ipc_gid for dmix and dsnoop
- added ipc_gid audio
- removed ipc_key_add_uid
2005-05-30 10:16:59 +00:00
Takashi Iwai
06044933cc Use S16 for default format
Use S16 (endian-dependent) for the default PCM format of dmix/dnsoop
configurations.
2005-03-29 16:35:28 +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
7acb52ed84 Evaluate CARD argument
Evaluate $CARD argument properly even when no card-specific default
PCM is given.
2005-03-24 17:19:05 +00:00
Takashi Iwai
e87851b96f Enable slowptr option as default
Enabled slowptr option as default.
This seems to eliminate the occasional noises on SMP/HT systems (maybe
some race or cache mismatch).
2005-03-24 11:59:18 +00:00
Takashi Iwai
9309430ae8 Make dsnoop card-specific
Make dsnoop card-specific.  Its definition is moved to pcm/dsnoop.conf.
2005-01-27 15:45:05 +00:00
Takashi Iwai
c9b868889e Fix a typo in default period size
Fixed a typo in the default period size.
2005-01-27 15:44:06 +00:00
Takashi Iwai
cf865cc990 Make dmix card-specific
The parameters of dmix PCM definition are now card-specific.
As default, period_size = 1024 and periods = 8 are used.
2005-01-13 15:45:42 +00:00
Takashi Iwai
d2a1301073 Make "default" PCM card-specific
"default" PCM can be card-specific.
The definition is moved to pcm/default.conf, and read on-demmand via
aliases.conf.  The card config can override the default config.
2005-01-03 14:42:11 +00:00
Takashi Iwai
2e15c60a94 Added the definition of modem PCM type 2004-07-12 16:21:29 +00:00
Takashi Iwai
b9a25e2ac8 Peter Zubaj <pzad@pobox.sk>:
- Added surround71 and side pcm definitions.
- Added the support of side speakers on Audigy 2 ZS.
2004-06-28 10:40:24 +00:00
Jaroslav Kysela
e09736109e Added surround41 and surround50 definitions 2003-08-12 09:34:38 +00:00
Jaroslav Kysela
c39882f602 Configuration:
- changed snd_config_get_id function to follow semantic of other get functions
  - added snd_config_test_id
  - added runtime pointer type (not persistent)
    - added snd_config_make_pointer, snd_config_set_pointer, snd_config_get_pointer
  - added type/contents checking for callback functions
    - changed 'void *private_data' to 'snd_config_t *private_data'
  - renamed card_strtype functions to card_driver
Control:
  - fixed passing parameters to snd_ctl_async
Async handlers:
  - added public snd_async_handler_get_signo function
Documentation:
  - moved all documentation to source files
2001-11-19 08:14:21 +00:00
Jaroslav Kysela
97bb37101a Added iec958.conf 2001-06-25 08:45:53 +00:00
Takashi Iwai
828562a5ee Added missing iec958.conf.
Added defaults for iec958.
Fixed slave type in IEC1712.conf.
Corrected config file for CMI8738.
2001-06-22 09:01:22 +00:00
Jaroslav Kysela
bc581b87ae Added snd_config_hook_load_for_all_cards.
Added private_data parameter for snd_config_hooks function.
Fixed the return value mess in the config parser routines.
The include file could begin with 'confdir:' which is replaced with /usr/share/alsa.
The snd_config_search_definitions looks for raw name at first (without suggested root).
Added snd_func_private_card_strtype function.
All configuration files moved to the src/conf directory.
Configuration files modified to use load-on-demand feature using hooks.
2001-06-21 13:41:50 +00:00