Commit graph

71 commits

Author SHA1 Message Date
Takashi Iwai
fc0e54c3cc Drop -I$includedir/alsa from alsa.pc
We used to put the additional include path $includedir/alsa in
pkgconfig just because some applications have included asoundlib.h
like
  #include <asoundlib.h>
although the canonical form should be
  #include <alsa/asoundlib.h>

However, adding this include path is significantly dangerous due to
possible conflicts of file names like version.h.  It's already the
reason to discourage people using alsa.pc for the packages.

In this patch, the additional include path from alsa.pc is dropped
finally.  At the same time, as a rescue plan for the programs
including via <asoundlib.h>, a stub header file is provided in
include/sound/asoundlib.h.  It just includes alsa/asoundlib.h with a
warning to suggest for replacing with alsa/asoundlib.h.
Actually this is the same file as we install into sys/asoundlib.h, so
the whole changes are very minimal here.

Acked-by: Jaroslav Kysela <perex@perex.cz>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2019-03-28 08:01:34 +01:00
Takashi Iwai
7a8a1d1552 pcm: Remove home brew atomic operations
We've had a few home brew atomic operations in a couple of places in
the PCM code.  This was for supporting the concurrent accesses, but in
practice, it couldn't cover the race properly by itself alone.

Since we have a wider concurrency protection via mutex now, we can get
rid of these atomic codes, which worsens the portability
significantly.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2016-07-11 15:25:30 +02:00
Thomas Klausner
e0d52fdd8a Introduce bswap.h for portable definitions of byte swap macros.
Signed-off-by: Thomas Klausner <wiz@NetBSD.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2016-03-03 16:18:10 +01:00
Thomas Klausner
25e6b5b473 Define some types if missing
Include Linux headers on Linux only.
For portability with non-Linux.

Signed-off-by: Thomas Klausner <wiz@NetBSD.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2016-03-03 10:59:52 +01:00
Liam Girdwood
fec1e8f253 topology: autotools: Add build support for topology core
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2015-07-30 17:10:14 +02:00
Matthieu Crapet
187ba1d8cd autotools: fix ucm partial build
When --disable-ucm configure option is specified,
don't install related include file.

Signed-off-by: Matthieu Crapet <Matthieu.Crapet@ingenico.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2015-01-14 16:07:55 +01:00
Patrick Welche
b669b50de2 autotools: update style
- rename configure.in to configure.ac
- replace INCLUDES with AM_CPPFLAGS
- modernize AM_INIT_AUTOMAKE invocation

Signed-off-by: Patrick Welche <prlw1@cam.ac.uk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-02-26 08:16:22 +01:00
Liam Girdwood
1c5afdb0c1 ucm: build - add build support for Use Case Manager
Add doxygen and make support for UCM.

CC: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Justin Xu <justinx@slimlogic.co.uk>
Signed-off-by: Stefan Schmidt <stefan@slimlogic.co.uk>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
2010-08-23 20:05:45 +02:00
Takashi Iwai
54a2cf5ecf Remove sequencer instrument layer
Remove obsoleted sequencer instrument layer from alsa-lib.
The old symbols are compiled in as default as dummy functions
(unless --disable-old-symbols is given to configure) so that
the old binaries can still work more or less.
2007-10-30 12:31:55 +01:00
Takashi Iwai
9bb7211f21 Fix clean-up of header files
Use DISTCLEANFILES instead of CLEANFILES for removal of dynamic
header files.
2007-07-11 16:55:54 +02:00
Takashi Iwai
582cc1f098 Create asoundlib.h dynamically according to configure options
Create asoundlib.h dynamically according to configure options.
This avoids the inclusion of unused API headers.
Also don't install unused API headers.
2007-07-10 15:58:41 +02:00
Takashi Iwai
33d69ef33b Create rate converter plugin SDK
Created a new rate converter plugin SDK.
A rate converter can be replaced as an extra plugin now.
The default rate converter is a built-in linear converter.

You can find a sample external converter in alsa-plugins package.
2006-04-06 18:37:55 +02:00
Takashi Iwai
787b0469e9 Allow separate build and source trees
From: Bernard Leak <bernard@brenda-arkle.demon.co.uk>

Allow separate build and source trees.

Modified for the latest CVS tree by tiwai.
2005-08-23 12:09:07 +00:00
Takashi Iwai
985c6f94d0 Fix compilation on a system with old alsa-lib headers
Fixed the compilation on a system with old alsa-lib headers.
A symlink alsa is created here to include all alsa-lib headers
locally even via #include <alsa/xxx.h>
2005-06-28 13:35:22 +00:00
Takashi Iwai
8a3d07022c Add external control plugin SDK
Added external control plugin SDK.
2005-06-09 17:12:08 +00:00
Jaroslav Kysela
597b4d0942 big simple mixer update
- exported all necessary functions to create a mixer module outside alsa-lib
- separated simple mixer API from the simple mixer implementation
  (using callbacks as usuall)
  - src/mixer/simple.c is the core
  - src/mixer/simple_none.c is the current (no-abstraction) implementation
    based on control names; note that this module does not depend on
    internal ALSA structures now
  - src/mixer/simple_abst.c is the ongoing abstraction which will use
    external dynamic modules; src/conf/smixer.conf will describe which
    modules will be used depending on the components from the driver
2005-06-03 13:33:04 +00:00
Takashi Iwai
bf5d2bfe47 Remove obsolete *_ordinary.h files
Remove obsolete *_ordinary.h files.
2005-05-30 16:21:25 +00:00
Takashi Iwai
91f7dd2378 Move old PCM API to pcm_old.h
Clean up -- move old 0.9.x PCM API to pcm_old.h.
2005-04-14 14:01:10 +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
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
9f491f4aa6 create a symlink for inclusion of alsa/xxx.h in the alsa-lib tree itself.
the symlink is created by configure script.
2003-07-14 10:16:38 +00:00
Jaroslav Kysela
640ee8faa7 Initial code for lisp interpreter 2003-06-24 19:30:08 +00:00
Jaroslav Kysela
4771213631 Renamed simple_* to ordinary_* (name clash for simple mixer) 2003-06-22 19:02:19 +00:00
Jaroslav Kysela
7c72da4ae5 Added simple_mixer and simple_pcm subdirs with some 'empty' code 2003-06-22 18:09:03 +00:00
Jaroslav Kysela
55a8da9341 Build system updates... 2002-10-22 20:20:03 +00:00
Takashi Iwai
7b2f5fa7e1 added the alsa-kernel header files into local tree. 2002-10-09 13:44:10 +00:00
Jaroslav Kysela
7f3942d827 Reverted back the PCM API.
New snd_pcm_hw_params_* functions are available only explicitly when
ALSA_PCM_NEW_HW_PARAMS_API is defined.
Updated documentation and test code to new API.
2002-09-19 16:12:13 +00:00
Jaroslav Kysela
b9343e0834 - unified snd_pcm_hw_params_* functions
- added backward compatibility for older non-compatible functions
- added --with-compat-rc3 to configure script to build library
  backwards compatible with 0.9.0rc3
- added symbol versioning like libc.so.6
  - ALSA_0.9      - alsa base
  - ALSA_0.9.0rc4 - first set of new functions (snd_pcm_hw_params_*)
2002-09-17 12:33:05 +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
Takashi Iwai
734decb839 Added asoundef.h (instead of symlink).
partly modified & comments added for doxygen.
2002-01-11 11:13:20 +00:00
Takashi Iwai
12dfa4ffd8 Removed comment (the latest automake doesn't like it). 2001-12-07 14:15:38 +00:00
Jaroslav Kysela
cd8b1b3c11 Added iatomic.h 2001-12-07 14:11:58 +00:00
Jaroslav Kysela
bf52f17264 Added EXTRA_CLEAN and SND_LIB_EXTRAVER 2001-11-24 10:12:17 +00:00
Jaroslav Kysela
51934bafca Added sys.h to noinst_HEADERS 2001-09-30 17:39:22 +00:00
Jaroslav Kysela
58345ae4f4 Separated asoundlib.h to small files. 2001-09-13 11:38:32 +00:00
Takashi Iwai
a0903bae9f Fixed installation. 2001-09-12 16:18:33 +00:00
Jaroslav Kysela
6157018e8a Ok, added warning to sys/asoundlib.h with redirection to alsa/asoundlib.h. 2001-09-11 12:18:56 +00:00
Jaroslav Kysela
c8cd1c9782 Added symlink for sys/asoundlib.h to alsa/asoundlib.h 2001-09-11 11:27:52 +00:00
Jaroslav Kysela
0a8749a802 Changed location of asoundlib.h from sys dir to alsa dir.
(it means that official location is '#include <alsa/asoundlib.h>')
2001-09-11 09:34:13 +00:00
Jaroslav Kysela
daebb1d1f0 Merged hwdep_m4.h to hwdep.h 2001-07-11 15:52:07 +00:00
Jaroslav Kysela
c20c954f3d Added documentation for instrument and midi event functions.
Removed snd_enum_() macros.
Documentation changes in asoundlib.h.
2001-07-11 14:09:01 +00:00
Jaroslav Kysela
88e5e45151 Major change to sequencer API.
The sequencer API is totally recoded with the style of "encapsulation"
in other api.
The structure becomes opaque and accessed only via functions.

Other changes:
- There is no longer group in client and port info.
- snd_seq_query_subs_t is renamed to snd_seq_query_subscribe_t.
- snd_seq_delete_port takes only the port id argument instead of
  port_info structure.
- snd_seq_input/output_buffer_size are renamed
  as snd_seq_get_input/output_buffer_size.
  Similarly snd_seq_resize_input/output_buffer are renamed as
  snd_seq_set_input/output_buffer_size.
- snd_seq_get_named_queue is renamed to snd_seq_query_named_queue.
- Sync codes are removed temporarily from API.
- Subscription conditions are accessed via the corresponding functions.
  convert_time is named now as time_update.
- snd_seq_get/set_queue_owner are removed.
  Use snd_seq_get/set_queue_info instead.
- Instrument put/get/remove structure is unified as snd_instr_header_t.
2001-07-04 13:54:13 +00:00
Jaroslav Kysela
232d703c23 Added snd_card_type_string_to_enum and snd_card_type_enum_to_string functions.
- the /usr/share/alsa/cards.conf file contains the translation table
Added snd_sctl_build and snd_sctl_free functions.
Recoded the surround plugin to use the surround.conf file.
 - the /usr/share/alsa/surround.conf file contains the surround configuration
2001-05-10 08:32:40 +00:00
Abramo Bagnara
b4ac62f3dd More documentation. Tiny change for simple mixer element API (get_range) 2001-03-30 09:43:29 +00:00
Jaroslav Kysela
e8a01ea4ed Merged rawmidi M4 files into the main ones.
The first attempt to create documentation for the RawMidi API.
2001-03-20 16:46:45 +00:00
Abramo Bagnara
fea0c73cdb Completed control and mixer API 2001-02-09 11:20:31 +00:00
Abramo Bagnara
8f0cb26fdf Control API encapsulation. Better names for kernel API. Simpler PCM hw_params API. Added missing const. 2001-02-06 23:48:10 +00:00
Abramo Bagnara
5bf23ae9a1 Encapsulated hwdep. Converted all enums to type safety 2001-02-05 15:44:42 +00:00
Abramo Bagnara
a7561a9c7e Corrected and completed encapsulation for PCM and rawmidi. Remove SND_PCM_HW_PARAM_* and use functions. Separated rawmidi info between streams 2001-02-04 17:03:17 +00:00
Abramo Bagnara
8712ffc6a5 Added snd_ prefix to mask and interval. Divided header.h wrappers 2001-01-30 16:51:26 +00:00