summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* build-sys: bump sonamev0.9.23stable-queueColin Guthrie2011-06-231-1/+1
|
* build-sys: Add echo-cancel dummy MakefileColin Guthrie2011-06-233-1/+22
|
* SSE/MMX: Fix problem with highpitched noise on i386David Henningsson2011-06-222-4/+20
| | | | | | | | The "rm" basm constraint doesn't work with my version of gcc (4.5.2), not even in a simple example. Since we usually only have 5 registers available on i386, force it to be memory on that architecture. Signed-off-by: David Henningsson <david.henningsson@canonical.com>
* device-manager: Free a hook slot to prevent segv on unloadColin Guthrie2011-06-061-0/+3
|
* pulsecore: Add a couple pa_asserts() on pa_tagstruct* calls.Colin Guthrie2011-06-061-0/+2
|
* module-combine-sink: Check running flag before rendering in null modeForest Bond2011-06-051-0/+4
| | | | | This makes process_render_null consistent with render_memblock and avoids introducing slight inaccuracies in early latency estimates.
* module-combine-sink: Initialize smoother in paused stateForest Bond2011-06-051-6/+9
| | | | | | | | | | | | | The smoother is paused on initialization and resumed when the sink state is set to running. Otherwise, early latency estimates are too low since there is some delay between module initialization and entering the running state. After the smoother is initially resumed, it is paused when the sink state is not running. The previous behavior was to pause only when the sink enters suspended state, however, this would lead to large errors in latency estimates after the sink has been idle for some time.
* module-combine-sink: Initialize smoother with offset pa_rtclock_now()Forest Bond2011-06-051-1/+1
| | | | | The smoother was being initialized with offset zero, which caused the sink latency to be unconditionally reported as zero.
* streams: Fix the actual resampler method shown in debug messages.Colin Guthrie2011-06-052-0/+2
|
* rtkit: use private bus connection in order to avoid threading issues when ↵Lennart Poettering2011-05-111-1/+2
| | | | invoking pa_make_realtime()
* x11: More XCB fixes.Arnaud Fontaine2011-05-072-14/+26
| | | | | | | | | | 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.
* x11: Fix build errors with newest xcb-util.Maciej Grela2011-05-071-9/+17
| | | | | | The xcb_atom_get functions were removed from xcb-util. Changed these to xcb_intern_atom/xcb_intern_atom_reply. Also, STRING is now XCB_ATOM_STRING.
* vala: More vala fixesAlexander Kurtz2011-04-191-4/+6
| | | | | | | | | | | | | | | 1. Remove the "has_destroy_function=false" attribute. It was only necessary because of a bug in vala which is fixed in 0.12. [1] 2. Add sizes to all fixed-size arrays to make vala recognize them as such. Using symbolic constants for this is not yet supported. [2] 3. CardInfo struct: Move the brackets in the list of available profiles to the type to make it clear that this is a dynamically-sized array. [3] [1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=622773 [2] https://bugzilla.gnome.org/show_bug.cgi?id=647788 [3] http://0pointer.de/lennart/projects/pulseaudio/doxygen/structpa__card__info.html
* http: support HTTP HEADMatthijs Kooijman2011-04-151-3/+44
| | | | http://pulseaudio.org/ticket/781
* vala: ChannelMap has no destroy function.Sean McNamara2011-03-311-1/+1
|
* module-jack-sink/source: protect against null return in jack_get_portsDavid Henningsson2011-03-282-10/+16
| | | | | | | | | | | | | | | | | | | | Just picking up a crash report from Ubuntu, here's the result. -- David Henningsson, Canonical Ltd. http://launchpad.net/~diwic From 934c52c79bb6faed56a64d6e15f9b285f687afee Mon Sep 17 00:00:00 2001 From: David Henningsson <david.henningsson@canonical.com> Date: Mon, 28 Mar 2011 14:30:44 +0200 Subject: [PATCH] module-jack-sink/source: protect against null return in jack_get_ports According to jack_get_ports documentation, it seems like returning NULL is valid, and that it should be freed using jack_free. Reported-by: Grayson Peddie BugLink: http://bugs.launchpad.net/bugs/733424 Signed-off-by: David Henningsson <david.henningsson@canonical.com>
* build-sys: Link lirc libraries in right orderJyri Sarha2011-03-281-1/+1
| | | | | | | | Wrong order of libraries causes libtool to link primarily from lirc library location and not from $(libdir) location in install phase. This is a problem if you have an older version pulseaudio libs installed under same directory as liblirc and you are building a newer version with some other directory prefix.
* build-sys: Link binaries linking libpulsecommon to libpulse tooJyri Sarha2011-03-281-32/+32
| | | | | Build fails if a symbol is removed from from libpulsecommon. Linking explicitly to libpulse fixes the problem.
* build-sys: Link binaries linking libpulse to libpulsecommon tooJyri Sarha2011-03-281-9/+9
| | | | | | | Build appeared to fails when a new function is added to libpulsecommon. This is because build uses libpulsecommon that is installed into system instead of the one that is being built. Explicit linking to libpulsecommon fixes the problem.
* i18n: Update POTFILES.*Arun Raghavan2011-03-281-0/+1
| | | | | Add new modules, and skip module-virtual-sink for i18n since it's really meant to be a template for writing other modules.
* echo-cancel: Fix source may_move_to functionArun Raghavan2011-03-281-1/+1
| | | | | | | This is required to make sure that the source output between module-echo-cancel and ALSA can't get plugged to the virtual source or monitor of the virtual sink that we expose. This could be triggered by changing the profile of the underlying ALSA device.
* echo-cancel: Use S16NE for adrian moduleArun Raghavan2011-03-281-9/+5
| | | | | | This forces us to get native-endian samples in the adrian module so that we can rely on the existing endianness conversion mechanisms instead of doing it in the module.
* echo-cancel: Ensure correct handling of endiannessArun Raghavan2011-03-282-3/+4
| | | | | | The adrian module was using home-brewed endianness conversion instead of the appropriate mactos, and speex assumed a little-endian host. This fixes both of these.
* echo-cancel: Fix out-of-tree buildArun Raghavan2011-03-281-0/+2
|
* echo-cancel: Fix make distcheckRico Tzschichholz2011-03-281-3/+4
| | | | | Add missing files to module_echo_cancel_la_SOURCES Add Adrian license file to EXTRA_DIST
* echo-cancel: pause timer when echo canceling is offWim Taymans2011-03-281-16/+25
| | | | | While the sink or source is in the suspended state, disable the timer callback because we are not doing any echo canceling then.
* echo-cancel: improve accuracyWim Taymans2011-03-281-1/+5
| | | | | Make the echo canceler drift up to 1ms now that things are more accurate. Add 10 samples of headroom to allow for timing inaccuracies.
* echo-cancel: rework alignment codeWim Taymans2011-03-281-59/+76
| | | | | Rework the code to align capture and playback samples so that we can keep more accurate timings.
* echo-cancel: Mark immutable parameters as const in vfuncArun Raghavan2011-03-283-5/+5
| | | | | Marks the recording and playback streams as const in the pa_echo_canceller->run method for clarity.
* echo-cancel: Make blocksize a module-wide parameterArun Raghavan2011-03-284-43/+25
| | | | | | Since all algorithms will need to specify a block size (the amount of data to be processed together), we make this a common parameter and have the implementation set it at initialisation time.
* echo-cancel: Allow selection of AEC method using modargsArun Raghavan2011-03-281-8/+27
| | | | | This adds an "aec_method" module argument to allow us to select the AEC implementation to use.
* echo-cancel: Add alternative echo-cancellation implementationArun Raghavan2011-03-289-1/+802
| | | | | | | | | | | | This adds Andre Adrian's AEC implementation from his intercom project (http://andreadrian.de/intercom/) as an alternative to the speex echo cancellation routines. Since the implementation was in C++ and not in the form of a library, I have converted the code to C and made a local copy of the implementation. The implementation actually works on floating point data, so we can tweak it to work with both integer and floating point samples (currently we just use S16LE).
* echo-cancel: Let AEC module determine source/sink specArun Raghavan2011-03-283-24/+49
| | | | | | | | | | | | | Since the source and sink specification will need to be determined by the AEC algorithm (can it handle multi-channel audio, does it work with a fixed sample rate, etc.), we negotiate these using inout parameters at initialisation time. There is opportunity to make the sink-handling more elegant. Since the sink data isn't used for playback (just processing), we could pass through the data as-is and resample to the required spec before using in the cancellation algorithm. This isn't too important immediately, but would be nice to have.
* echo-cancel: Pass arguments to the specific canceller moduleArun Raghavan2011-03-283-33/+53
| | | | | This allows us to tweak module parameters for whichever AEC module is chosen.
* echo-cancel: Split out speex code from the core moduleArun Raghavan2011-03-284-36/+184
| | | | | This splits out the echo-cancelling core from the PA-specific bits to allow us to plug in other echo-cancellation engines.
* echo-cancel: Move the module into it's own directoryArun Raghavan2011-03-282-2/+2
| | | | This will make splitting out the canceller parts cleaner.
* echo-cancel: keep frame_size a power of 2Wim Taymans2011-03-281-1/+8
| | | | | | | The speex echo canceler prefers a power of 2 for the frame size. Round down the ideal frame_size to the nearest power of two. This makes sure we don't create more than the requested frame_size_ms latency while still providing a power of 2 to the speex echo canceller.
* echo-cancel: improve debugWim Taymans2011-03-281-11/+13
|
* echo-cancel: tweak the resync code a littleWim Taymans2011-03-281-5/+2
| | | | | | Try to keep the drift between source and sink within 4ms now that we have more accurate timings. Don't force a resync on latency changes but let the drift code handle it.
* echo-cancel: use the phone media roleWim Taymans2011-03-281-0/+2
| | | | | Tag the source and sink with the phone media roles so that they automatially connect to phone streams such as Empathy when using the intended-rols module.
* echo-cancel: take into account snapshot delayWim Taymans2011-03-281-5/+13
| | | | | Take into account the delay between taking the snapshot from the source and the sink. Improves the quality of the timings.
* make echo-cancel module that exposes a new sink and sourceWim Taymans2011-03-282-0/+1617
| | | | | | Make a new echo-cancel module that exposes a new sink and source. All data sent to the sink is matched against the data captured from the source and echo-canceled using the speex echo canceler.
* memblockq: implement new call pa_memblockq_peek_fixed_size()Lennart Poettering2011-03-283-13/+107
|
* vala: Fix path error in the last commit.Colin Guthrie2011-03-261-1/+1
|
* vala: move GLibMainLoop class into separate file to fix linker errorsAlexander Kurtz2011-03-264-12/+20
| | | | | | | | | | | | | | Vala uses the name of the *.vapi file to determine the libraries to link against. Since the pa_glib_mainloop_*() functions are in a separate library (libpulse-mainloop-glib.so) the corresponding objects in the Vala bindings have to be in a separate *.vapi file. If you are compiling an app without the GLib integration you could use: $ valac --pkg=libpulse test.vala but if you do use GLib you can use: $ valac --pkg=libpulse-mainloop-glib test.vala (libpulse is a dep of the libpulse-mainloop-glib so no need to specify it explicitly)
* vala: delegate FreeCb does not have a target.Sean McNamara2011-03-251-1/+1
|
* vala: Some bugfixes for the vala bindingsAlexander Kurtz2011-03-253-5/+7
| | | | | | | | | | | | | | 1. PA uses Vala's "Posix" package (see line 23 of libpulse.vapi). These dependencies have to be declared in the *.deps file. 2. Fix obvious copy/paste error. 3. Rename the parameter to match the C function. This simplifies understanding what this parameter means. 4. According to the official documentation the "dev" parameter for playback/capture streams on connection may be NULL and this is the default. Change the method definition accordingly.
* volume: Add a PA_VOLUME_UI_MAX define for the recommended max volume to show ↵Colin Guthrie2011-03-031-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | in UIs This value is not a technical upper limit, it's just a 'sensible' value that is not crazy high, but also allows software amplification above 0dB (aka 100%) for very quiet audio sources. We recommend that a comprehensive volume control UI should allow users to set volumes up to this limit, although of course should deal gracefully if the user has set the volume even higher than this without resulting in a feedback loop that effectively limits the upper volume. The value chosen is +11dB. This was selected somewhat subjectively and is very similar to the current 150% that gnome-volume-control uses (which is ~+10.57dB). On the plus side, we now recommend that everyone allows 'Volumes up to 11' which is pretty awesome. http://en.wikipedia.org/wiki/Up_to_eleven https://tango.0pointer.de/pipermail/pulseaudio-discuss/2010-April/006945.html https://tango.0pointer.de/pipermail/pulseaudio-discuss/2010-April/006950.html
* conf: Make system.pa use udev-detect and not hal-detect.Colin Guthrie2011-03-032-4/+4
| | | | Also fix a left over reference to HAL in default.pa
* module-rtp-recv: Remove smoother from write indexMaarten Bosmans2011-02-251-21/+3
| | | | | It isn't necessary anymore with the new algorithm. The slow adjust of the smoother was even detrimental to the accuracy of the rate estimate.