Commit graph

346 commits

Author SHA1 Message Date
Arun Raghavan
0ac2cfce6d core: Add extended stream API to support compressed formats
This is the beginning of work to support compressed formats natively in
PulseAudio. This adds a pa_stream_new_extended() that takes a format
structure, sends it to the server (=> protocol extension) and has the
server negotiate with the appropropriate sink to figure out what format
it should use.

This is work in progress, and works only with PCM streams. Actual
compressed format support in some sink needs to be implemented, and
extensive testing is required.

More details on how this is supposed to work is available at:
http://pulseaudio.org/wiki/PassthroughSupport
2011-05-02 11:54:43 +05:30
Maarten Bosmans
eea248e233 build-system: Small fixes 2011-04-30 15:34:41 +01:00
Maarten Bosmans
155f2d5b9d build-system: Rearrange database selection 2011-04-30 15:34:24 +01:00
Maarten Bosmans
96d0ecb01b build-system: Replace some more conditionals with AS_IF 2011-04-30 15:33:15 +01:00
Maarten Bosmans
6da83d3cb6 build-system: Move dependency error messages to outer scope 2011-04-30 15:32:22 +01:00
Maarten Bosmans
459b5ef94d build-system: Move AC_DEFINE to separate line with AS_IF 2011-04-30 15:32:11 +01:00
Maarten Bosmans
78d174c29d build-system: Use AS_IF macro for configure output
And add some HAVE_[feature] variables for clarity.
2011-04-30 15:31:58 +01:00
Maarten Bosmans
18e5d0d089 build-system: Simplify AC_ARG_ENABLE usage
Make use of the enable_[feature] variable automatically defined
by AC_ARG_ENABLE instead of defining our own variable.
2011-04-30 15:31:40 +01:00
Arnaud Fontaine
adb16f9ff4 x11: More XCB fixes.
Commit 65ef80b fixed building with xcb-util >= 0.3.8, but the reply is never
checked (possible SIGSEGV if the reply is NULL) nor freed (memory leak at each
call of the functions).

Also, remove include and dependencies on xcb-atom, as it was only meaningful
for xcb_atom_get() and STRING, and depend instead on xcb >= 1.6 for
XCB_ATOM_STRING.
2011-04-30 14:26:45 +01:00
Daniel Mack
9ade504d45 build-sys: Make -isysroot and -mmacosx-version-min configurable 2011-04-23 18:23:38 +01:00
Daniel Mack
2411d9accd thread-posix: Use pthread_(get|set)name_np() if available
Newer generations of libpthread have functions to set and get the thread
names. If available, use them.
2011-04-23 18:23:37 +01:00
Daniel Mack
98f2209663 pulsecore:: Define _POSIX_C_SOURCE locally for rtclock on OSX
Defining this macro on a global level is disadvantageous for other APIs,
and as we need it for clock_gettime() only on Mac OS X, define it
locally in pulsecore/core-rtclock.c only.
2011-04-23 18:23:37 +01:00
Arun Raghavan
f49711c99a build: Bump Orc dependency to 0.4.11
0.4.9 errors out at compile time, and might as well bump to 0.4.11 since
that's the version being tested with and has been around for a while
now. Thanks to Paul Menzel <paulepanter@users.sourceforge.net> for
pointing this out.
2011-03-25 10:59:18 +00:00
Colin Guthrie
ae35ec1ed5 Merge remote-tracking branch 'zonique/osx' 2011-03-24 09:08:05 +00:00
Daniel Mack
85c5a2d749 configure.ac: add --mac-universal directive for OS X
On a system with all depency libs built as multi-arch binaries, this
option can now be used to build fat Mach-O binaries for multiple
architectures.
2011-03-21 00:32:29 +01:00
Colin Guthrie
d7ce59de88 Merge remote-tracking branch 'mkbosmans/mingw32-build' 2011-03-20 11:18:19 +00:00
Maarten Bosmans
c470680e1b Use pulsecore/arpa-inet.h to make arpa/inet.h functionality available
Automatically use replacement function on platforms (win32) where not all arpa/inet.h is available natively.
2011-03-19 13:41:05 +01:00
Maarten Bosmans
1afd233630 Make pulse compile with clang
This fixes the checking of supported compiler flags and the following error message for svolume_mmx:

pulsecore/svolume_mmx.c:157:76: error: invalid use of a cast in a inline asm context requiring an l-value:
  remove the cast or build with -fheinous-gnu-extensions
        : "+r" (samples), "+r" (volumes), "+r" (length), "=D" ((pa_reg_x86)channel), "=&r" (temp)
                                                               ~~~~~~~~~~~~^~~~~~~
2011-03-18 09:22:07 +00:00
Maarten Bosmans
33d1de487a configure: Drop some warnings
Drop -Winline and set -Wstrict-aliasing level to its default.
2011-03-02 15:03:18 +00:00
Arun Raghavan
3f6eb652cb introspect: Client-side implementation for has_volume/read_only_volume
This completes the client-side changes to the protocol extension
introduced by commit 99ddca89cd
2011-03-02 11:17:32 +00:00
Colin Guthrie
a3dbdb0446 Merge remote-tracking branch 'mkbosmans/mingw32-build' 2011-02-25 09:24:07 +00:00
Paul Menzel
1f848f82c4 build-sys: Correct typos in configure
s/Console Kit/ConsoleKit/ [1]
s/DBUS/D-Bus/ [2]

Plus some spelling fixes and context in warning sometimes shown to user

[1] http://www.freedesktop.org/wiki/Software/ConsoleKit
[2] http://www.freedesktop.org/wiki/Software/dbus
2011-02-22 10:07:47 +00:00
Maarten Bosmans
f2a9fd779e Give module-waveout a configure switch
- Also disable the scary DBus and udev warnings when building for win32
 - and only install some dbus/x11 specific files when appropriate
2011-02-17 12:02:31 +01:00
Maarten Bosmans
a951c779c6 Use PCRE if POSIX regex.h is not available 2011-02-17 11:58:22 +01:00
Maarten Bosmans
bb12ff8356 Apply #ifdefs around functionality not available on win32
And also the reverse: around some win32 specific functionality
2011-02-17 11:58:22 +01:00
Maarten Bosmans
974af43507 build: Don't include empty Makefile.am in subdirs 2011-01-31 12:40:43 +00:00
Colin Guthrie
a37e0963ef build-sys: Make --disable-dbus actually work.
Previously this argument passed to configure only worked if --disable-hal and
--disable-bluez was also passed which wasn't immediately obvious to the
untrained compiler.

This change simply makes --disable-dbus disable the other two as well
and errors out of specific, incompatible --enable/--disable flags
are provided.

The summary table is also adjusted and intended to try and show the
dependency relationship a little.
2011-01-11 11:26:48 +00:00
Colin Guthrie
0fae3ad2f8 build-sys: Put in specific warnings when there is no udev or DBUS support
Users have often come to me when their build doesn't work and typically
this is when they do not have dev headers for DBUS and udev installed
when building. Put in some specific warnings about these optional,
but critical, elements.

This will likely display this message on platforms where they are not
available, so patches welcome to hide them in a semi-intelligent way.
2011-01-11 10:28:06 +00:00
Arun Raghavan
de706d9cf7 build-sys: Fix a warning during distcheck
This adds a dummy Makefile.am to the dbus module to eliminate missing
directory warnings during distcheck.
2010-12-05 16:00:35 +00:00
Colin Guthrie
3e28f60592 build-sys: Replace dummy Makefiles with proper Makefile.am's
This is needed to better support out of tree builds (including
distcheck) and to ensure the necessary folders are created in the
build tree on configure and also works around an intl-tools bug
(https://bugs.launchpad.net/intltool/+bug/605826)

The Makefile.am's used are minimal (and in some cases completely
blank). At present they do not include anything interesting
with the majority of the real work still done by the monolitic
src/Makefile.am

It may make sense to start splitting out src/Makefile.am into
smaller chunks but this commit makes the minimum changes to address
the issues that result from using make distcheck and other out of
tree builds.

Note: This 'breaks' the ability to type make in e.g. the src/modules
folder and have all of PA rebuilt accordingly (this is because the
static Makefiles previously present just did a "make -C ..") which
was purportedly for use in emacs. But I'm sure there will be a better
and more robust way to configure emacs to do your builds properly if
this behaviour is still desirable.
2010-12-05 15:58:59 +00:00
Lennart Poettering
a754d5a999 build-sys: bump soname 2010-11-28 16:57:34 +00:00
Arun Raghavan
12b900858a volume: Add explicit checks for ARMv6 instructions
This ensures that the build does not fail if the ssat and pkhbt
instructions are not available (armv5te and below).

Fixes: http://www.pulseaudio.org/ticket/790
2010-11-28 16:23:18 +00:00
Colin Guthrie
6828c594e3 version: Drop the micro version number
As per discussions with Lennart, we will be moving to a two-component version
number scheme when the next release is made from git master branch.

This means we will be dropping the micro version component (although
for compatibility, it will remain defined as 0 in version.h).

For more information, please see the announcement here:
 http://thread.gmane.org/gmane.comp.audio.pulseaudio.general/7921
2010-11-28 15:56:20 +00:00
Colin Guthrie
3de129f3ac introspect: Include whether a stream is corked in the info callback. 2010-10-06 09:17:01 +01:00
Arun Raghavan
83d3c8f22b echo-cancel: orc-ify some bits for optimisation
This uses Orc to optimise an inner loop in the core NLMS function of the
Adrian echo canceller.
2010-09-23 17:17:03 +05:30
Colin Guthrie
38778117f8 x11: Partially convert to XCB.
This commit mostly converts the X11 handling to XCB. There are still
some uses of XLib to deal with the X11 session handling modules, however all
client-side code should now be free of XLib and thus this should fix Bug #799

Note that this removes the screen-based changes by Leszek Koltunski
in 65e80, however this will be restored in due course.
2010-09-18 12:04:09 +01:00
Pierre-Louis Bossart
9b6c84ad6e AC3 passthrough support
Second version after Tanu's feedback

TODO:
    - notify client that volume control is disabled
    - change sink rate in passthrough mode if needed
    - automatic detection of passthrough mode instead of hard
    coded profile names

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@intel.com>
2010-08-12 18:20:27 +01:00
Kees Cook
87fdbb544b core-util: ensure that we chmod only the dir we ourselves created 2010-05-08 14:19:08 +01:00
Colin Guthrie
5248a584a3 build-sys: Mention dbus support in the summary 2010-02-25 14:00:08 +00:00
Lennart Poettering
323f0ad403 build-sys: fix check for pthread_setaffinity_np() 2010-02-21 20:11:23 +01:00
Lennart Poettering
80093c94be build-sys: add gobject to build dependencies
Since we call g_object_unref() we need to link against gobject in
compliance of the new Fedora implicit DSO linking policy.
2010-02-21 17:47:27 +01:00
Lennart Poettering
5e2a80c7e3 bump soname 2010-02-09 22:16:05 +00:00
Lennart Poettering
63abcc8330 build-sys: bump soname 2010-02-09 22:12:16 +00:00
Daniel Mack
0ccc7afcd8 osx: add native zeroconf implementation via Bonjour
Avahi and dbus is too heavy for OSX just for the sake of publishing our
services via mDNS/Zeroconf. Apple has its own Zeroconf implementation
called Bonjour, and this patch adds a module that implements service
announcement with that API.

All data gathering is copied from module-zeroconf-publish.c, but
unfortunately the code there is too specifically made for avahi, so I
couldn't factor it out to reuse it.
2009-12-16 16:11:39 +08:00
Kim Lester
76acaa964e configure.ac: add DARWIN_OS variable
Signed-off-by: Kim Lester <kim@dfusion.com.au>
Signed-off-by: Daniel Mack <daniel@caiaq.de>
2009-12-09 06:31:03 +08:00
Arun Raghavan
e8a5746f2f Add a configure option to change 'udevrulesdir'
This patch serves two purposes:

  1) Allows something other than the de-facto standard udev rules dir or
     /lib/udev/rules.d to be used (the udev build system allows you to
     customise this)

  2) Allows a prefixed, non-root install (right now, the /lib/... path
     is hard-coded into the build system
2009-12-06 11:51:24 +00:00
Diego Elio 'Flameeyes' Pettenò
2caf59d49f Since now we have FreeBSD atomic operations, don't require libatomic_ops.
This lets the original configure script to pass on FreeBSD.
2009-11-21 00:27:35 +01:00
Diego Elio 'Flameeyes' Pettenò
ca637e5ba4 Simplify handling of NetBSD atomic ops discovery.
Instead of having a parameter to enable/disable them (which was also
ignored by the source code side), simply identify NetBSD 5 (when the atomic
ops were implemented the first time) in a $host switch and ignore checking
for libatomic_ops.
2009-11-21 00:17:33 +01:00
Diego Elio 'Flameeyes' Pettenò
5150a101ef Check for stow using AC_CHECK_PROG rather than type -p.
The type -p check is not compatible with POSIX shells, and indeed fails
when used with the FreeBSD 8 default shell. Instead the AC_CHECK_PROG macro
is written properly to look for the command.
2009-11-20 21:37:16 +01:00
Diego Elio 'Flameeyes' Pettenò
70ba21e78a Move the platform-specific defines after the compiler has been found.
Without this change, on OpenSolaris, it's possible that the compiler will
be reported, by default, as failing to produce executables, since
_XOPEN_SOURCE=600 requires a C99 compiler to compile even the simples of
the programs.
2009-11-20 21:08:05 +01:00