summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Remove unnecessary #includesMaarten Bosmans2011-06-22227-472/+76
|
* database: Support legacy format database entries.Colin Guthrie2011-06-225-181/+453
| | | | | | This adds code to specifically support legacy entries. I kept this code in a separate commit so that it can be (relatively) easily removed at some point in the future.
* device-restore: Add a new protocol extension for device-restore.Colin Guthrie2011-06-227-7/+745
| | | | | | This simply exposes the formats that a device supports via a simple protocol extension that will allow clients to setup what a connected receiver supports format wise.
* database: Convert our use of database files to save in tagstruct format.Colin Guthrie2011-06-224-368/+565
| | | | | | | | | | | | | This has the advantage of allowing versioned updates in the future, thus allowing us to be more user friendly going forward (as opposed to just ignoring entries from old versions). The primary motivation for this, however, is to allow variable length storage in each entry which will be needed for upcoming work. At present this commit will ignore any legacy entries but support for reading and subsequently converting legacy entries will be added shortly.
* esound,streams: Fix some crashes.Colin Guthrie2011-06-223-9/+14
| | | | | | | | | | After the rework to the add pa_sink_input_new_data_set_sink() (and the source equiv) calling with a NULL sink object will hit an assert. This caused crashes with the esd protocol and there was the potential (albeit unlikely) for a crash when creating a sink input without any sinks available (module-always-sink mitigates this risk but it's still a potential crasher).
* pactl: Add a set-source-output-volume commandArun Raghavan2011-06-221-1/+48
|
* source-output: Trivial code moveArun Raghavan2011-06-221-52/+52
| | | | Makes diff'ing with sink-input.c easier
* capture: Remove support for synchronised capture streams.Colin Guthrie2011-06-223-86/+2
| | | | | | This was added to ensure symmetry between playback and recording streams code, but in reality this makes little sense practically speaking and thus it is removed.
* alsa-mixer: select nearest alsa volume step in sync-volume modeJuho Hämäläinen2011-06-224-14/+76
|
* alsa-mixer: When setting hw volume, always round up with playback and down ↵Colin Guthrie2011-06-221-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | with capture. The previous logic in ade0a6f88464d8aecf83982d400ccfc402341920 does not work with for input volumes. This was discussed on the mailing list: https://tango.0pointer.de/pipermail/pulseaudio-discuss/2011-May/010091.html This approach can introduce a problem when setting the volumes for sources. What follows is Tanu Kaskinen's analysis: [quote] I'll quote the log: D: protocol-native.c: Client pavucontrol changes volume of source alsa_input.pci-0000_00_1b.0.analog-stereo. D: alsa-source.c: Requested volume: 0: 45% 1: 45% D: alsa-source.c: in dB: 0: -20.71 dB 1: -20.71 dB D: alsa-source.c: Got hardware volume: 0: 45% 1: 45% D: alsa-source.c: in dB: 0: -21.00 dB 1: -21.00 dB D: alsa-source.c: Calculated software volume: 0: 101% 1: 101% (accurate-enough=no) D: alsa-source.c: in dB: 0: 0.29 dB 1: 0.29 dB D: source.c: Volume going up to 29273 at 270475970821 D: source.c: Volume change to 29273 at 270475970821 was written 34 usec late D: alsa-source.c: Written HW volume did not match with the request: 0: 45% 1: 45% (request) != 0: 42% 1: 42% D: alsa-source.c: in dB: 0: -21.00 dB 1: -21.00 dB (request) != 0: -22.50 dB 1: -22.50 dB Looking at the last line, the requested volume seems to hit exactly the right step (-21.00dB), but for some reason Alsa decides to choose something else. I'm pretty sure that this happens because of rounding errors. In the first phase we ask Alsa what dB value we should set, and it returns -21.00 dB. The value is given as a long int, but we convert that to pa_cvolume. Then when we set the volume, we convert the pa_cvolume value back to a long integer. At this point I believe it gets converted to -2101. This is not visible in the debug message for some reason - the rounding algorithm must be different from what was used with the pa_cvolume -> long conversion. [/quote] The commit after this contains a patch that addresses this issue.
* streams: Tidy up includesColin Guthrie2011-06-222-2/+2
|
* alsa: Remove unneeded includeColin Guthrie2011-06-221-1/+0
|
* introspect: Get format of source outputColin Guthrie2011-06-225-3/+20
| | | | | | This gets the negotiated format of source outputs in pa_context_get_source_output*(). Also prints the format and volume in 'pactl list'.
* capture: Implement per-stream volume control for capture streams.Colin Guthrie2011-06-2221-210/+1971
| | | | | | | This piggy backs onto the previous changes for protocol 22 and thus does not bump the version. This and the previous commits should be seen as mostly atomic. Apologies for any bisecting issues this causes (although I would expect these to be minimal)
* introspect: Get formats for sourcesColin Guthrie2011-06-225-18/+82
| | | | | This gets the list of supported formats for a source in pa_context_get_source_info*(). Also prints these in 'pactl list'.
* capture: Add the passthrough format negotiation to capture streams.Colin Guthrie2011-06-2218-104/+406
| | | | | This helps to keep the API more symmetrical and also potentially allows support for passthrough monitor sources at some point in the future.
* def: Add some flags for source outputs.Colin Guthrie2011-06-221-1/+28
| | | | | These flags will be required in upcoming work to integrate format and volume support for source outputs.
* introspect: Clear out memory properly on error.Colin Guthrie2011-06-221-42/+40
|
* alsa-sink: Some trivial tidyupsColin Guthrie2011-06-224-17/+20
| | | | | Mostly typo fixes but also a change to make a function relating to sink inputs use more generic variable names.
* bluetooth-discover: Remove remaining ifdef NOKIAs.Tanu Kaskinen2011-06-221-12/+3
| | | | | | These were supposed to be removed already in 13849f153, but at that time I missed the ifdefs in module-bluetooth-discover.c.
* build-sys: module-equalizer-sink needs dbus.Colin Guthrie2011-06-221-0/+5
|
* Merge remote-tracking branch 'mkbosmans/merge/build-sys'Colin Guthrie2011-06-229-615/+675
|\
| * build-sys: Use AX_PTHREAD macro from autoconf archiveMaarten Bosmans2011-06-213-366/+303
| |
| * build-sys: Use AX_CHECK_DEFINE macro from autoconf archiveMaarten Bosmans2011-06-203-16/+95
| | | | | | | | | | It has no new functionality over the existing macro that is relevant for us, but it is good to have use a macro with a clearly defined upstream.
| * build-sys: Use AX_TLS macro from autoconf archiveMaarten Bosmans2011-06-203-18/+79
| | | | | | | | | | It has no new functionality over the existing macro that is relevant for us, but it is good to have use a macro with a clearly defined upstream.
| * build-sys: Move acx_lirc.m4 contents to configure.acMaarten Bosmans2011-06-202-7/+8
| | | | | | | | The file is so small, that it is clearer just to do it in the main file.
| * build-sys: Move some stuff around in configure.acMaarten Bosmans2011-06-201-53/+52
| | | | | | | | For more logical grouping of functionality.
| * build-sys: Clean up configure.acMaarten Bosmans2011-06-201-77/+76
| | | | | | | | Mostly whitespace and other trivial stuff.
| * build-sys: Define PA_CFLAGS at right timeMaarten Bosmans2011-06-201-2/+2
| | | | | | | | To ensure that all the changes to CFLAGS are also stored into PA_CFLAGS.
| * build-sys: Reset CFLAGS after DBUS checkMaarten Bosmans2011-06-202-4/+9
| |
| * build-sys: Consolidate host_os handlingMaarten Bosmans2011-06-201-71/+73
| | | | | | | | Use os_is_* shell variables instead of pulse_target_os.
| * build-sys: Remove unnecessary AC_SUBST callsMaarten Bosmans2011-06-201-23/+0
| | | | | | | | These HAVE_* variables are only used as AM_CONDITIONAL, so AC_SUBST is not needed.
* | 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>
* | stream: Simplify passing of formats in extended APIArun Raghavan2011-06-193-11/+14
| | | | | | | | | | | | Passing a NULL-terminated array of pa_format_info pointers is a bit unwieldy for clients. Instead of this, let's pass in an array of pointers and the number of elements in the array.
* | stream: Fix a couple of format_info leaksArun Raghavan2011-06-191-1/+4
| |
* | protocol-native: Don't leak formatsArun Raghavan2011-06-191-3/+16
|/ | | | | This clarifies some ownership issues with the formats idxset on the server side so we don't end up leaking formats on errors.
* Disable check for pthreads on win32Fritz Elfert2011-06-182-2/+6
| | | | And do not use sched_get_priority on mingw with win32 pthreads installed
* protocol-native: Use original requested latency on stream movesArun Raghavan2011-06-141-4/+12
| | | | | | | | We were calculating new latency based on the latency set on the old sink/source, rather than the actual latency requested by the client. Over a series of moves, this will lead the latency being ~halved each time, resulting in an eventual rewind flood from a latency that cannot be handled.
* echo-cancel: More preprocessing fixesArun Raghavan2011-06-131-2/+6
| | | | | The speex_preprocess_ctl() function takes a spx_int32_t, but we've been passing a pa_bool_t, which could potentially crash.
* echo-cancel: Fix preprocessor initialisationArun Raghavan2011-06-131-1/+1
| | | | | | We were using the block size in bytes instead of samples, which meant preprocessing was broken. This fix makes a large-ish difference in the quality of echo-cancellation with speex.
* win32: define WIN32_LEAN_AND_MEANMaarten Bosmans2011-06-122-0/+4
| | | | | This makes windows.h include less headers. Otherwise boolean is typedef'ed and that clashes with libjson.
* gitignore: Add connect-stress, extended-test and format-test.Tanu Kaskinen2011-06-121-0/+3
|
* tests: Update extended API testArun Raghavan2011-06-121-3/+3
| | | | | The test wasn't updated after we changed the pa_format_info proplist format.
* combine: Fix a crash on shutdown if the module is loaded outside of our control.Colin Guthrie2011-06-081-5/+7
| | | | By using module indexes rather than module pointers we avoid this posibility.
* 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-021-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-021-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-021-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-022-0/+2
|