summaryrefslogtreecommitdiff
path: root/src/pulsecore/sound-file-stream.c
AgeCommit message (Collapse)AuthorFilesLines
2011-06-22Remove unnecessary #includesMaarten Bosmans1-2/+0
2011-05-02core: Add extended stream API to support compressed formatsArun Raghavan1-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
2011-03-11Fix up according to Coding StyleMaarten Bosmans1-1/+1
Only whitespace changes in here
2010-02-09core: make sure we always return a valid memblock in sink_input_pop() callbacksLennart Poettering1-1/+4
https://bugzilla.redhat.com/show_bug.cgi?id=553607
2009-10-30use cloexec wrappers wherever applicableLennart Poettering1-5/+1
2009-08-28core: move 'flags' field into 'pa_sink_input_new_data' structure so that ↵Lennart Poettering1-1/+1
hooks can access it
2009-08-28Fix checking for NULL after usageAndy Shevchenko1-2/+1
The pa_xmalloc calls oom() in case of NULL pointer returned by malloc() on one hand and dereferencing of pointer is happen early than actual check on other hand. Thus, just remove useless checks.
2009-08-21object: speed up type verification by not relying on strcmp()Lennart Poettering1-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.
2009-05-26sndfile: big rework of libsndfile interfacing codeLennart Poettering1-31/+20
This adds proper channel map handling when reading/writing audio files. This allows surround .WAV files to be played with the right channel setup automatically. This also merges paplay into pacat and adds recording into formatted files to pacat.
2009-03-03Use LGPL 2.1 on all files previously using LGPL 2Colin Guthrie1-1/+1
2009-02-04remove soft volume from pa_sink_input_new_info since it should be handled ↵Lennart Poettering1-1/+1
internally and automatically by the sink input
2009-02-03make a couple of functions return proper error codesLennart Poettering1-1/+1
2009-01-27move flat volume logic into the core. while doing so add n_volume_steps ↵Lennart Poettering1-1/+1
field to sinks/sources
2009-01-15add new dont_rewind_render flag to allow quick starts of newly created streamsLennart Poettering1-1/+1
2008-08-19add a few more gcc warning flags and fix quite a few problems found by doing soLennart Poettering1-5/+5
2008-08-04don't hit an assert if when process_rewind() is called with nbytes=0Lennart Poettering1-3/+0
2008-06-18get rid of svn $ keywordsLennart Poettering1-2/+0
2008-05-27never hand out more data from a sink input than requested. Otherwise the ↵Lennart Poettering1-7/+5
resampler might run for too long and we get a heavy delay/underrun git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2490 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-05-15merge glitch-free branch back into trunkLennart Poettering1-86/+110
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2445 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-10-28merge 'lennart' branch back into trunk.Lennart Poettering1-59/+190
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1971 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-02-13Add copyright notices to all relevant files. (based on svn log)Pierre Ossman1-0/+2
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1426 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-01-04Huge trailing whitespace cleanup. Let's keep the tree pure from here on,Pierre Ossman1-14/+14
mmmkay? git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1418 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-11-06Revert r1404 and keep it on a development branch until it is fully tested.Pierre Ossman1-7/+2
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1409 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-26rework memory block management to be thread-safe and mostly lock-free.Lennart Poettering1-2/+7
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
2006-08-18remove all occurences of Lennart Poettering1-2/+2
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
2006-08-18Rework memory management to allow shared memory data transfer. The central ideaLennart Poettering1-1/+1
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
2006-08-13allow hooking into the process of creating playback streams. To implement ↵Lennart Poettering1-5/+19
this I modified the pa_sink_input_new() signature to take a pa_sink_input_new_data structure instead of direct arguments. git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1237 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-06-19big s/polyp/pulse/gLennart Poettering1-0/+192
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1033 fefdeb5f-60dc-0310-8127-8f9354f1896f