summaryrefslogtreecommitdiffstats
path: root/src/pulsecore/protocol-esound.c
Commit message (Collapse)AuthorAgeFilesLines
* Remove unnecessary #includesMaarten Bosmans2011-06-221-2/+0
|
* esound,streams: Fix some crashes.Colin Guthrie2011-06-221-2/+4
| | | | | | | | | | 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).
* capture: Add the passthrough format negotiation to capture streams.Colin Guthrie2011-06-221-1/+1
| | | | | This helps to keep the API more symmetrical and also potentially allows support for passthrough monitor sources at some point in the future.
* core: Add extended stream API to support compressed formatsArun Raghavan2011-05-021-1/+1
| | | | | | | | | | | | | | | 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
* Fixup #include directives according to Coding StyleMaarten Bosmans2011-03-111-2/+1
| | | | | Use #include "header.h" if functionality of header.h is implemented and #include <header.h> if functionality of header.h is used.
* esd,simple: use pa_memblockq_pop_missing()Lennart Poettering2010-02-231-1/+1
| | | | | | | | | | We need to use pa_memblockq_pop_missing() for all request handling, including the initial request, because otherwise the counters will be stay off during the entire runtime. This should fix: https://bugzilla.redhat.com/show_bug.cgi?id=559467
* various modernizationsLennart Poettering2010-02-231-12/+12
|
* core: make sure we always return a valid memblock in sink_input_pop() callbacksLennart Poettering2010-02-091-1/+4
| | | | https://bugzilla.redhat.com/show_bug.cgi?id=553607
* llvm-clang-analyzer: drop a few unnecessary assignments and other trivial fixesLennart Poettering2009-09-081-3/+1
|
* core: move 'flags' field into 'pa_sink_input_new_data' structure so that ↵Lennart Poettering2009-08-281-2/+2
| | | | hooks can access it
* object: speed up type verification by not relying on strcmp()Lennart Poettering2009-08-211-2/+1
| | | | | | | | | | | | | Instead of using string contents for type identification use the address of a constant string array. This should speed up type verifications a little sind we only need to compare one machine word instead of a full string. Also, this saves a few strings. To make clear that types must be compared via address and not string contents 'type_name' is now called 'type_id'. This also simplifies the macros for declaring and defining public and private subclasses.
* Base mainloop on pa_rtclock_now()Marc-André Lureau2009-06-201-9/+6
| | | | | | | | | | | | | | | | Move the mainloop to monotonic based time events. Introduces 4 helper functions: pa_{context,core}_rttime_{new,restart}(), that fill correctly a timeval with the rtclock flag set if the mainloop supports it. Both mainloop-test and mainloop-test-glib works with rt and timeval based time events. PulseAudio and clients should be fully functional. This patch has received several iterations, and this one as been largely untested. Signed-off-by: Marc-André Lureau <marca-andre.lureau@nokia.com>
* core: add a suspend cause flags fieldLennart Poettering2009-06-051-2/+2
|
* core: introduce new 'reference' volume for sinksLennart Poettering2009-04-131-2/+3
| | | | | | | | | | | | | | | The reference volume is to be used as reference volume for stored stream volumes. Previously if a new stream was created the relative volume was taken relatively to the virtual device volume. Due to the flat volume logic this could then be fed back to the virtual device volume. Repeating the whole story over and over would result in a device volume that would go lower, and lower and lower. This patch introduces a 'reference' volume for each sink which stays unmodified by stream volume changes even if flat volumes are used. It is only modified if the sink volumes are modified directly by the user. For further explanations see http://pulseaudio.org/wiki/InternalVolumes
* fix misplace _ref() calls that should have been _assert_ref()Lennart Poettering2009-03-251-3/+4
|
* trivial simplificationLennart Poettering2009-03-251-2/+1
|
* Fix a NULL pointer access when sutting down esound/simple connectionsLennart Poettering2009-03-041-0/+3
| | | | | | | If a connection is unlinked make sure the process_msg function doesn't crash when a message is received afterwards. Closes #463.
* Use LGPL 2.1 on all files previously using LGPL 2Colin Guthrie2009-03-031-1/+1
|
* fix handling of stereoLennart Poettering2009-02-231-2/+3
|
* it's probably more appropriate to return the configured latency instead of ↵Lennart Poettering2009-02-231-1/+1
| | | | the actual latency
* complete esd suspend/resume implementationLennart Poettering2009-02-231-6/+35
|
* implement esd sample panning. closes #428Lennart Poettering2009-02-231-5/+63
|
* set esound.byte_order propertyLennart Poettering2009-02-231-0/+3
|
* a couple of boring updatesLennart Poettering2009-02-221-16/+19
|
* protocol-esound: don't accept a request of PROTOCOL_MAXMarc-André Lureau2009-02-191-1/+1
|
* make a couple of functions return proper error codesLennart Poettering2009-02-031-2/+2
|
* when changing volume, store whether it is worth remembering or noLennart Poettering2009-01-271-1/+1
|
* make proplist inheritance scheme automatic and implicitLennart Poettering2009-01-151-2/+0
|
* kill autoload stuff as plannedLennart Poettering2009-01-151-6/+6
|
* convert pa_client instantiation to use a pa_client_new_data struct and add ↵Lennart Poettering2009-01-151-6/+16
| | | | hooks for manipulating it
* add new dont_rewind_render flag to allow quick starts of newly created streamsLennart Poettering2009-01-151-1/+1
|
* add a few more gcc warning flags and fix quite a few problems found by doing soLennart Poettering2008-08-191-32/+36
|
* initialize IP ACLs properlyLennart Poettering2008-08-111-1/+1
|
* don't use PA_GCC_UNUSED anymoreLennart Poettering2008-08-091-8/+8
|
* make all protocol objects global singletonsLennart Poettering2008-08-031-81/+188
|
* get rid of svn $ keywordsLennart Poettering2008-06-181-2/+0
|
* fix esound proto to not crashLennart Poettering2008-05-271-1/+3
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2488 fefdeb5f-60dc-0310-8127-8f9354f1896f
* merge glitch-free branch back into trunkLennart Poettering2008-05-151-71/+112
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2445 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Double maximum sample size for some overly huge samples some distros shipLennart Poettering2008-03-271-1/+1
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2133 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Completely rework ALSA device selection code: choose the device to open ↵Lennart Poettering2007-11-131-1/+1
| | | | | | depending on the requested number of channels and channel map. In most cases it will now suffice to set default-channels=6 to enable 5.1 sound for all devices that support it git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2050 fefdeb5f-60dc-0310-8127-8f9354f1896f
* merge 'lennart' branch back into trunk.Lennart Poettering2007-10-281-233/+407
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1971 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Allow a formatted string in the validation warning.Pierre Ossman2007-02-141-4/+4
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1428 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Add copyright notices to all relevant files. (based on svn log)Pierre Ossman2007-02-131-0/+3
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1426 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Huge trailing whitespace cleanup. Let's keep the tree pure from here on,Pierre Ossman2007-01-041-76/+76
| | | | | | | mmmkay? git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1418 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Check correct variable for return value. Closes #37.Pierre Ossman2006-11-081-1/+1
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1411 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Revert r1404 and keep it on a development branch until it is fully tested.Pierre Ossman2006-11-061-30/+8
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1409 fefdeb5f-60dc-0310-8127-8f9354f1896f
* rework memory block management to be thread-safe and mostly lock-free.Lennart Poettering2006-09-261-8/+30
| | | | | | | | | | | | | | | | | | | | | pa_memblock is now an opaque structure. Access to its fields is now done through various accessor functions in a thread-safe manner. pa_memblock_acquire() and pa_memblock_release() are now used to access the attached audio data. Why? To allow safe manipulation of the memory pointer maintained by the memory block. Internally _acquire() and _release() maintain a reference counter. Please do not confuse this reference counter whith the one maintained by pa_memblock_ref()/_unref()! As a side effect this patch removes all direct usages of AO_t and replaces it with pa_atomic_xxx based code. This stuff needs some serious testing love. Especially if threads are actively used. git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1404 fefdeb5f-60dc-0310-8127-8f9354f1896f
* If a client leaves the sink/source for a stream unspecified by passing NULL asLennart Poettering2006-08-191-8/+13
| | | | | | | | | | sink/source name sink/source we should pass NULL to pa_sink_input_new()/pa_source_output_new() as too. This allows hooks to change the sink/source device only if it is left unspecified by the client git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1303 fefdeb5f-60dc-0310-8127-8f9354f1896f
* remove all occurences of Lennart Poettering2006-08-181-18/+18
| | | | | | | | | | | | pa_logXXX(__FILE__": and replace them by pa_logXXX(" git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1272 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Rework memory management to allow shared memory data transfer. The central ideaLennart Poettering2006-08-181-6/+4
| | | | | | | | | | | | | | | is to allocate all audio memory blocks from a per-process memory pool which is available as read-only SHM segment to other local processes. Then, instead of writing the actual audio data to the socket just write references to this shared memory pool. To work optimally all memory blocks should now be of type PA_MEMBLOCK_POOL or PA_MEMBLOCK_POOL_EXTERNAL. The function pa_memblock_new() now generates memory blocks of this type by default. git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1266 fefdeb5f-60dc-0310-8127-8f9354f1896f