summaryrefslogtreecommitdiffstats
path: root/src/pulse
Commit message (Collapse)AuthorAgeFilesLines
* x11: Partially convert to XCB.Colin Guthrie2010-09-181-12/+11
| | | | | | | | | 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.
* AC3 passthrough supportPierre-Louis Bossart2010-08-122-2/+25
| | | | | | | | | | | | 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>
* thread: name all threads so that the names appear in /proc/$PID/task/$TID/commLennart Poettering2010-05-071-1/+1
|
* proplist: explicitly mention a role 'test'Lennart Poettering2010-02-211-1/+1
|
* channelmap: Use "Subwoofer" as pretty name for LFELennart Poettering2010-02-211-1/+1
| | | | | | The pretty name is suspposed to be understandable by non-technical folks, and they are generally more used to the term "Subwoofer" than "Low Frequency Emitter", so let's change the name here.
* native: rework handling of seeks that depend on variables the client does ↵Lennart Poettering2010-02-091-0/+5
| | | | | | | | | | | | not know anything about All seeks/flushes that depend on the playback buffer read pointer cannot be accounted for properly in the client since it does not know the actual read pointer. Due to that the clients do not account for it at all. We need do the same on the server side. And we did, but a little bit too extreme. While we properly have not applied the changes to the "request" counter we still do have to apply it to the "missing" counter. This patch fixes that.
* client: implement $PULSE_LATENCY_MSECLennart Poettering2010-02-091-6/+31
| | | | | | | This allows easy overriding of a clients latency setting for debugging purposes. http://pulseaudio.org/ticket/753
* client: verify connection state in pa_stream_connect_upload()Lennart Poettering2010-02-091-0/+1
| | | | | | | Make suer we check the connection state before going on, so that we can rely that s->context->pstream is properly initialized. https://bugzilla.redhat.com/show_bug.cgi?id=539500
* client: detect forking in sample cache API, tooLennart Poettering2010-02-092-2/+8
|
* native: fix request counter miscalculationsLennart Poettering2010-02-091-0/+4
| | | | | | | | | | | | | Do not subtract bytes the client sends us beyond what we requested from our missing bytes counter. This was mostly a thinko that caused servers asking for too little data when the client initially sent more data than requested, because that data sent too much was accounted for twice. This commit fixes this miscalculation. http://bugzilla.redhat.com/show_bug.cgi?id=534130
* dbus: remove filter functions only if they were actually set beforeLennart Poettering2010-02-092-19/+7
| | | | | | | This fixes an assert when destructing modules that have not been fully initialized. https://bugzilla.redhat.com/show_bug.cgi?id=548525
* client.conf.in: Typo. s/a/are/Paul Menzel2010-02-021-1/+1
| | | | | | | | | This is the same typo as reported in [1] and fixed in [2] in `client.conf.in`. I did `git grep "values a commented"` and did not get anymore hits. [1] http://pulseaudio.org/ticket/783 [2] http://git.0pointer.de/?p=pulseaudio.git;a=commit;h=ea8927f1d47be101a1f64b2f87fd6e527ff76dbe
* client: include dolby channel names in commentsLennart Poettering2010-01-141-10/+10
|
* client: introduce auto-connect-display= following the scheme of ↵Lennart Poettering2010-01-134-7/+12
| | | | | | | auto-connect-localhost= Just connecting to a PA server just because X11's $DISPLAY is set might be a security hole.
* client: introduce auto-connect-localhost= option in client.confLennart Poettering2010-01-134-4/+10
| | | | | | | | | Partly fixes: http://pulseaudio.org/ticket/773 Also fixes a security hole since listening on the default port is not access controlled right now.
* Merge remote branch 'zonque/topic/osx'Lennart Poettering2010-01-051-7/+2
|\
| * poll() is totally broken on Mac OS XDaniel Mack2009-12-161-7/+2
| | | | | | | | | | | | Even on 10.5.8, poll() does not do the right thing. Haven't checked on newer versions. Hence, wrap all occurences of poll() to pa_poll and emulate that call with select() on OSX. This is totally embarassing.
* | headers: Some trivial fixes for some documentation typosMads Kiilerich2010-01-056-10/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Note also the willneed/will_need inconsistency. I guess it could be nice to ASAP choose one of them and introduce a backward compatibility hack for the other. The issues was mostly found with: for a in $(grep -r '^[ /]\*.*()' $( find -name '*.[ch]') | sed 's,^.* \([^ ]*\)().*$,\1,g' | sort | uniq | grep ^pa_) do grep -rq "^.[^*].*\<$a(" $(find * -name '*.h') || echo $a done
* | threaded-mainloop: Properly initialise m->n_waiting_for_accept to prevent ↵Daniel T Chen2010-01-051-0/+1
|/ | | | | | | | | | | | | deadlock Compiler optimisations have been seen to initialise m->n_waiting_for_accept to a positive non-zero value, so the while() in pa_threaded_mainloop_signal() never proceeds. Fix this by properly initializing m->n_waiting_for_accept in pa_threaded_mainloop_new(). Patch from Iain Bucław. https://bugs.launchpad.net/bugs/502992
* Mark shared variables as volatileArun Raghavan2009-12-061-1/+4
| | | | | | | | | 'n_waiting' and 'n_waiting_for_accept' may be accessed from mulitple threads, and thus need to be marked as volatile to suppres certain compiler optimisations. All uses are protected by a mutex, so we don't need to worry about cache issues (added documentation for this as well). This addresses bug #738.
* libpulse: Store pa_stream pointers to hashmaps instead of dynarrays.Tanu Kaskinen2009-12-033-18/+17
| | | | | | | | | Since the stream identifiers (channels) are monotonically growing integer, it isn't a good idea to use them as index to a dynamic array, because the array will grow all the time. This is not a problem with client connections that don't create many streams, but, for example, long-running clients that use libcanberra for playing event sounds, this means that the client connection effectively leaks memory.
* freebsd: implement pa_get_binary_nameJoe Marcus Clarke2009-11-211-0/+11
| | | | | | Stolen from http://www.freebsd.org/cgi/cvsweb.cgi/ports/audio/pulseaudio/files/patch-src_pulse_util.c?rev=1.1 and fixed for indentation.
* pulse: ask for timing updates both *before* and *after* triggering a stream ↵Lennart Poettering2009-11-201-2/+36
| | | | state change so that in the STARTED/UNDERFLOW callbacks we accurate transport latency information
* pulse: delay smoother update only when unpausing, not when pausing, since we ↵Lennart Poettering2009-11-201-17/+19
| | | | don't want the timer to advance when we are supposedly already paused
* pulse: try to fix inaccuracy with uncork timing for streams that are created ↵Lennart Poettering2009-11-201-1/+16
| | | | in corked state
* device-manager: Update docs version -> 0.9.20Colin Guthrie2009-11-111-12/+12
| | | | Third time is a charm... maybe.
* device-manager: Update docs version -> 0.9.20Colin Guthrie2009-11-091-12/+12
|
* volume: add pa_cvolume_inc_clamp functionVladimir Kokarev2009-11-052-3/+11
| | | | | | added function to increase volume not exceeding specified limit simply changed PA_VOLUME_MAX to 'limit' in pa_cvolume_inc pa_cvolume_inc now calls pa_cvolume_inc_clamp with PA_VOLUME_MAX limit
* use pa_fopen_cloexec() where applicableLennart Poettering2009-10-301-1/+1
|
* use cloexec wrappers wherever applicableLennart Poettering2009-10-302-6/+2
|
* libpulse: introduce PA_STREAM_RELATIVE_VOLUMELennart Poettering2009-10-292-2/+18
|
* libpulse: explain semantics of pa_stream_connect_playback() in more detailLennart Poettering2009-10-281-1/+16
|
* libpulse: introduce pa_context_get_tile_size() callLennart Poettering2009-10-282-3/+36
|
* libpulse: add missing includesLennart Poettering2009-10-122-0/+4
|
* device-manager: Rather than flagging the device as available, just include ↵Colin Guthrie2009-10-102-5/+2
| | | | the sink/source index with PA_INVALID_INDEX meaning unavailable
* Merge remote branch 'coling/history'Lennart Poettering2009-10-074-0/+579
|\
| * device-manager: Change the prefer/defer options to a single 'reorder' command.Colin Guthrie2009-10-012-52/+13
| | | | | | | | | | | | We put in the devices from the wire into a hashmap and then add all like type device in the database and then order them based on priority (with the ones specified on the wire always being in that order at the top of the list.
| * device-manager: Expose the priority lists in the protocol extension.Colin Guthrie2009-10-012-1/+39
| | | | | | | | Also leave space for 'icon' and 'available' details too, althought currently this info is dummy.
| * device-manager: Change the write function to a rename function.Colin Guthrie2009-10-012-40/+16
| | | | | | | | | | | | | | The structure itself will contain various bits of info so exposing this fully to the client is a bad idea. By keeping to a rename operation we keep what we do store abstracted from the clients. Also fix some doxy comments.
| * device-manager: Provide a method for prefering/defering a device.Colin Guthrie2009-10-012-0/+90
| | | | | | | | | | | | | | | | | | | | This allows clients to edit the priroity order. What is not yet in place is the initialisation of that priority list when new devices are detected or the cleaning (remove holes) when devices are removed. In order to keep the storage transparent I will likely remove the write functionality and replace it with a simple rename method. I also still need to expose the priority itself when reading the data.
| * device-manager: Provide a way for clients to enable/disable role-based ↵Colin Guthrie2009-10-012-0/+39
| | | | | | | | | | | | | | device-priority routing. The routing logic itself does not yet exist, but the command currently will unload/load module-stream-restore as approriate. (module-stream-restore would conflict with the role-based priority-routing).
| * device-manager: Update docs version -> 0.9.19 (predicted)Colin Guthrie2009-10-011-10/+10
| |
| * device-manager: Fix copy+paste leftoverColin Guthrie2009-10-011-1/+1
| |
| * device-manager: Add an untested protocol extension.Colin Guthrie2009-10-014-0/+475
| | | | | | | | This is effectively copied from the stream restore extension.
* | Merge branch 'master' into dbus-workTanu Kaskinen2009-10-0219-169/+277
|\| | | | | | | | | Conflicts: src/daemon/daemon-conf.c
| * libpulse: Add *_NOFLAGS flags with value 0 for various enumsColin Guthrie2009-09-221-0/+11
| | | | | | | | This avoids the need for ugly casting in client implementations.
| * mainloop: fix detection of rt clocksLennart Poettering2009-09-181-8/+7
| |
| * mainloop: pass monotonic times back to user if he passed monotonic times to usLennart Poettering2009-09-181-6/+16
| |
| * timeval: make timeval conversion routines handle PA_USEC_INVALID specialLennart Poettering2009-09-181-1/+10
| |
| * timeval: add UNLIKELY annotationLennart Poettering2009-09-181-3/+3
| |