summaryrefslogtreecommitdiffstats
path: root/src/modules/rtp/module-rtp-recv.c
Commit message (Collapse)AuthorAgeFilesLines
* Remove unnecessary #includesMaarten Bosmans2011-06-221-2/+2
|
* 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
* Use pulsecore/arpa-inet.h to make arpa/inet.h functionality availableMaarten Bosmans2011-03-191-1/+1
| | | | Automatically use replacement function on platforms (win32) where not all arpa/inet.h is available natively.
* Clean up <poll.h> includesMaarten Bosmans2011-02-171-1/+1
| | | | | | Instead <pulsecore/poll.h> should be included. That file includes poll.h on platform where it is appropriate. Also remove some unnecessary <ioctl.h> includes.
* module-rtp-recv: Request proper rewind after underrunMaarten Bosmans2011-01-161-1/+3
|
* module-rtp-recv: Remove smoother from write indexMaarten Bosmans2011-01-161-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.
* module-rtp-recv: Average the estimated real sample rateMaarten Bosmans2011-01-161-4/+22
|
* module-rtp-recv: Use new algorithm for adjusting sample rateMaarten Bosmans2011-01-161-15/+29
|
* Limit rate adjustments to small, inaudible jumpsMaarten Bosmans2011-01-161-13/+21
| | | | | | | | | | | | | | | The same logic is applied to the sample rate adjustments in module-rtp-recv, module-loopback and module-combine: - Each time an adjustment is made, the new rate can differ at most 2‰ from the old rate. Such a step is equal to 3.5 cents (a cent is 1/100th of a semitone) and as 5 cents is generally considered the smallest observable difference in pitch, this results in inaudible adjustments. - The sample rate of the stream can only differ from the rate of the corresponding sink by 25%. As these adjustments are meant to account for very small clock drifts, any large deviation from the base rate suggests something is seriously wrong. - If the calculated rate is within 20Hz of the base rate, set it to the base rate. This saves CPU because no resampling is necessary.
* use cloexec wrappers wherever applicableLennart Poettering2009-10-301-1/+1
|
* core: move 'flags' field into 'pa_sink_input_new_data' structure so that ↵Lennart Poettering2009-08-281-1/+2
| | | | hooks can access it
* core: move rtpoll to thread_info sub structureLennart Poettering2009-08-151-1/+1
|
* Base mainloop on pa_rtclock_now()Marc-André Lureau2009-06-201-10/+5
| | | | | | | | | | | | | | | | 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>
* pulse: move pa_rtclock_now in pulsecommonMarc-André Lureau2009-06-201-1/+2
|
* perl -p -i -e 's/pa_rtclock_usec/pa_rtclock_now/g' `find . -name '*.[ch]'`Marc-André Lureau2009-06-191-1/+1
|
* rtp: fix s/recieve/receive/ typoLennart Poettering2009-06-171-1/+1
|
* make use of SO_TIMESTAMP timestamp for accuracy and leave smoother paused ↵Lennart Poettering2009-04-071-7/+43
| | | | until we have data
* make sure we don't apply sampling rate fixes that bring the sampling freq > ↵Lennart Poettering2009-04-061-11/+14
| | | | | | PA_RATE_MAX Fixes #525
* Merge branch 'master' of ssh://rootserver/home/lennart/git/public/pulseaudioLennart Poettering2009-04-051-1/+1
|\
| * various spelling fixesMaarten Bosmans2009-04-041-1/+1
| |
* | Modify smoothing code to make cubic interpolation optional and allow 'quick ↵Lennart Poettering2009-04-051-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fixups' on resuming The primary reason for this change is to allow time graphs that do not go through the origin and hence smoothing starting from the origin is not desired. This change will allow passing time data into the smoother while paused and then abruptly use that data without smoothing using the 'quick fixup' flag when resuming. Primary use case is allowing recording time graphs where the data recorded originates from a time before the stream was created. The resulting graft will be shifted and should not be smoothened to go through the origin.
* | properly account for seeks in the requested_bytes counterLennart Poettering2009-04-011-2/+2
|/
* Use LGPL 2.1 on all files previously using LGPL 2Colin Guthrie2009-03-031-1/+1
|
* rtp-recv: remove unused variable assignmentMarc-André Lureau2009-02-191-1/+1
|
* Optionally disable IPv6Iain Hibbert2009-02-131-6/+12
| | | | Closes #79
* RTP segfault/uninitialized resamplerErich Boleyn2009-02-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | Erich Boleyn <erich@uruk.org> wrote: > Using RTP for multi-room music streaming, updated to Pulse 0.9.14 from > 0.9.9, RTP reception new crashes with a segfault on all machines at > the first "Updating sample rate" log message. > > Source of the segfault appears to be null pointer for > "impl_update_rates" function in resampler routine, perhaps > uninitialized resamplers in general? A fresh look after work made the resampler initialization code pop out. The problem is in the sink connection being made from "module-rtp-recv.c", the "PA_SINK_INPUT_VARIABLE_RATE" flag should be passed into "pa_sink_input_new", but is not there. Made the change and tested it, fixes the problem. Checked and head-of- tree off of the pulseaudio.org source browsing link does not have this fix either. One-liner patch attached.
* make a couple of functions return proper error codesLennart Poettering2009-02-031-1/+1
|
* kill autoload stuff as plannedLennart Poettering2009-01-151-1/+1
|
* add new dont_rewind_render flag to allow quick starts of newly created streamsLennart Poettering2009-01-151-1/+1
|
* remove useless log messageLennart Poettering2008-10-011-1/+1
|
* add a few more gcc warning flags and fix quite a few problems found by doing soLennart Poettering2008-08-191-9/+9
|
* modernize hashmap implementation a bit, reduce memory consumption a bitLennart Poettering2008-06-271-1/+1
|
* merge glitch-free branch back into trunkLennart Poettering2008-05-151-33/+134
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2445 fefdeb5f-60dc-0310-8127-8f9354f1896f
* tag modules that may only be loaded once at most especially, and enforce ↵Lennart Poettering2007-11-091-4/+5
| | | | | | that in the module loader git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2043 fefdeb5f-60dc-0310-8127-8f9354f1896f
* merge 'lennart' branch back into trunk.Lennart Poettering2007-10-281-119/+208
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1971 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Kill spaces on EOLLennart Poettering2007-05-291-32/+32
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1465 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Add copyright notices to all relevant files. (based on svn log)Pierre Ossman2007-02-131-0/+2
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1426 fefdeb5f-60dc-0310-8127-8f9354f1896f
* remove all occurences of Lennart Poettering2006-08-181-12/+12
| | | | | | | | | | | | 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/+5
| | | | | | | | | | | | | | | 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
* allow hooking into the process of creating playback streams. To implement ↵Lennart Poettering2006-08-131-2/+9
| | | | | | 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
* make pulseaudio compile again on FreeBSD (patch from Diego "Flameeyes" Petteno)Lennart Poettering2006-07-161-1/+1
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1096 fefdeb5f-60dc-0310-8127-8f9354f1896f
* big s/polyp/pulse/gLennart Poettering2006-06-191-18/+18
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1033 fefdeb5f-60dc-0310-8127-8f9354f1896f
* * split pa_cstrerror() into its own file polypcore/core-error.[ch]Lennart Poettering2006-05-251-1/+1
| | | | | | | | * fix building of padsp * remove a warning when compiling padsp.c git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@972 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Wrap strerror() in a function that makes it thread safe and converts thePierre Ossman2006-05-221-4/+5
| | | | | | | output to UTF-8. git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@945 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Move timeval calculation functions into their own file.Pierre Ossman2006-05-181-0/+1
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@926 fefdeb5f-60dc-0310-8127-8f9354f1896f
* fix include line for "core-util.h"Lennart Poettering2006-05-171-1/+1
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@923 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Move xmalloc to the public side (libpolyp).Pierre Ossman2006-05-171-1/+2
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@908 fefdeb5f-60dc-0310-8127-8f9354f1896f
* * add new parameter to pa_open_config_file() to specify open modeLennart Poettering2006-05-141-1/+1
| | | | | | | | * modify pa_sink_input_new() to take initial volume settings as argument * call pa_sink_input_set_volume() when changing stream volume in protocol-esound.c to make sure that subscribe events are issued properly git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@858 fefdeb5f-60dc-0310-8127-8f9354f1896f
* fix a couple of issues I found when compiling polypaudio with gcc 2.95Lennart Poettering2006-04-181-1/+1
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@754 fefdeb5f-60dc-0310-8127-8f9354f1896f
* C99 requires explicit marking of integer literals' size.Pierre Ossman2006-04-181-1/+1
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@736 fefdeb5f-60dc-0310-8127-8f9354f1896f