summaryrefslogtreecommitdiffstats
path: root/src/modules/rtp
Commit message (Collapse)AuthorAgeFilesLines
* make use of SO_TIMESTAMP timestamp for accuracy and leave smoother paused ↵Lennart Poettering2009-04-073-11/+62
| | | | until we have data
* send the source latency based on the MTU sizeLennart Poettering2009-04-071-3/+3
|
* 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-052-3/+3
|\
| * various spelling fixesMaarten Bosmans2009-04-042-3/+3
| |
* | 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
|/
* revive solaris moduleFinn Thain2009-03-031-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | Hi All, This patch fixes the solaris audio device source and sink, and fixes some portability issues that break the build on solaris. Questions and comments welcomed. I've tested this patch only with OpenSolaris Express snv 103. Eventually I hope to be able to test a few older releases and older hardware (though it is hard to say whether there is much interest in those). This is my first brush with pulseaudio and so I read the wiki docs and some of the source code but I'm still unsure of a few things. In particular I'm wondering about rewind processing, corking and what (if anything) the module needs for those. I'm also unclear on the implications of thread_info.buffer_size, .fragment_size and .max_request, and whether my code is correct or not. This patch disables link map/library versioning unless ld is GNU ld. Another approach for solaris would be to use that linker's -M option, but I couldn't make that work (due to undefined mainloop, browse and simple symbols when linking pacat. I can post the errors if anyone is intested.) Thanks, Finn Thain
* Use LGPL 2.1 on all files previously using LGPL 2Colin Guthrie2009-03-0310-10/+10
|
* raop: Handle the reponse header memory allocation more sensibly.Colin Guthrie2009-03-011-29/+27
| | | | | In theory the callback called after reading headers could free our whole object, so we should not take it upon ourselves to free the headers after the call to the callback.
* rtp: remove unused variable aMarc-André Lureau2009-02-191-3/+3
|
* rtp-recv: remove unused variable assignmentMarc-André Lureau2009-02-191-1/+1
|
* Optionally disable IPv6Iain Hibbert2009-02-134-19/+68
| | | | 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-032-2/+2
|
* NetBSD needs to include sys/uio.h for some socket functionsJared D. McNeill2009-01-222-0/+8
| | | | Signed-off-by: Lennart Poettering <lennart@poettering.net>
* kill autoload stuff as plannedLennart Poettering2009-01-152-2/+2
|
* add new dont_rewind_render flag to allow quick starts of newly created streamsLennart Poettering2009-01-151-1/+1
|
* Multicast SDP packets sent with same IP TTL as RTP packetsTom Bamford2009-01-051-0/+5
| | | | Signed-off-by: Lennart Poettering <lennart@poettering.net>
* Implement new flags DONT_INHIBIT_AUTO_SUSPEND and START_UNMUTEDLennart Poettering2008-10-261-1/+1
|
* Modularise the RAOP stuff that requires OpenSSL and make it optional at ↵Colin Guthrie2008-10-084-767/+0
| | | | compile time
* Remove $Id$ lines left over from SVNColin Guthrie2008-10-088-16/+0
|
* Implement a set volume function to expose this capability to higher layersColin Guthrie2008-10-082-0/+25
|
* Add some new public API functions to connect and flush.Colin Guthrie2008-10-082-20/+56
| | | | | | | | | This allows us to reconnect upon disconnection but this has thus far proved unreliable. We no longer close the socket. We leave this to the module thread to do the closing. We can also flush the remote buffer now. Refs #69 git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2503 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Change the API of the RTSP client a bit.Colin Guthrie2008-10-082-74/+87
| | | | | | | | * Store the mainloop, hostname and port internally on construction * This should allow use to easily reconnect if disconnected although this has thus far proved unreliable. The changes look like more than they are due to moving a function around. git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2502 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Remove unneeded headers accidentially added in r2500.Colin Guthrie2008-10-081-2/+0
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2501 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Add seq and rtptime params to record/flush with a view to using these for ↵Colin Guthrie2008-10-083-9/+21
| | | | | | timing and device suspension git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2500 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Minor update to copywrite (I still plan to replace this completely but in ↵Colin Guthrie2008-10-081-1/+2
| | | | | | the mean time....) git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2499 fefdeb5f-60dc-0310-8127-8f9354f1896f
* A few related changes:Colin Guthrie2008-10-081-15/+1
| | | | | | | | | | * Change the encode_sample routine to simply return normal memchunks allocated from the mempool. * unref the memchunks returned from encode_sample when we are done with them. * Create an encoded 'silence' sample and play this at all times to prevent hangup and to 'hog' the airtunes device This now works and can be used as a regular sink albeit with a constant latency of about 8 seconds :s git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2485 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Keep track of the memblock pointer internally and do not rely on subsequent ↵Colin Guthrie2008-10-081-6/+6
| | | | | | calls to pass it back in for unref'ing git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2484 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Set the send buffer size to prevent rendering silence in amongst our good ↵Colin Guthrie2008-10-081-0/+1
| | | | | | data (this should be more sophisticated but that can wait for a glitch-free port) git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2482 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Do tidy up on disconnection.Colin Guthrie2008-10-082-1/+11
| | | | | | Only clear IO related stuff if this free() was triggered deliberatly (i.e. not by server side disconnect) git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2411 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Do not prefix internal function rtsp_exec.Colin Guthrie2008-10-081-12/+9
| | | | | | | Change port to be 16 bits Do not free stuff on closure as this happens further up the stack. git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2410 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Don't try to free stack variables.Colin Guthrie2008-10-081-6/+0
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2409 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Some misc fixes. consts, base64 optimisation (not that it will be with us ↵Colin Guthrie2008-10-083-14/+14
| | | | | | long anyway), and c comments git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2407 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Fix up IPv6 address format to enclose it in []Colin Guthrie2008-10-081-4/+6
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2406 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Change suggested by Lennart. Do not return a memchunk, instead pass in the ↵Colin Guthrie2008-10-082-17/+15
| | | | | | pointer. git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2405 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Various changes suggested by Lennart.Colin Guthrie2008-10-082-15/+15
| | | | | | | Store the core* rather than just the mainloop as we can reuse the mempool without passing it in as an argument. const'ify and deconst'ify some vars git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2404 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Add a new callback structure to propigate when the RTSP connection diesColin Guthrie2008-10-084-5/+33
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2402 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Move the ownership of the encoded data memchunk into the raop_client.Colin Guthrie2008-10-081-14/+31
| | | | | | This does not seem to fix the pool full messages so I'll have to try and suss that out. git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2400 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Do not assert on NULL values of s. This means the connection was closed. ↵Colin Guthrie2008-10-081-1/+8
| | | | | | This change somehow kills the mainloop with an assert, so I need to sort that out. git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2399 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Properly duplicate the hostname passed in on connect.Colin Guthrie2008-10-081-1/+2
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2396 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Combine pa_raop_client_new and pa_raop_client_connect (no point in having ↵Colin Guthrie2008-10-082-90/+102
| | | | | | | | | | | | them separate) Convert the iochannel to an fd and do not call a pa_iochannel_cb_t callback but rather trigger the callback on connection and pass the fd. Change pa_raop_client_send_sample to pa_raop_client_encode_sample and work with memchunks. Fix a subtle size bug in the bit writer that techincally isn't triggered in normal operation. Clean up the _free function to actually free stuff. Do the actual ALAC encoding. git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2394 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Rename rtsp.{c,h} to rtsp_client.{c,h}.Colin Guthrie2008-10-083-48/+48
| | | | | | Renate pa_rtsp_context to pa_rtsp_client. git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2376 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Wrap the io_callback to ensure that all data is written before asking for more.Colin Guthrie2008-10-082-22/+62
| | | | | | Fix the length type for send_sample (restrict to 16bit value) git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2374 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Use a more stateful response parser.Colin Guthrie2008-10-081-182/+138
| | | | | | | This makes things fully asyncronous. Some of the continuation headerlist stuff could be moved to headerlist for neatness, but this is OK for now. git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2373 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Add a pa_iochannel callback for when the RAOP connection connects.Colin Guthrie2008-10-083-11/+97
| | | | | | Properly handle the sequence of events that establish a connection. git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2369 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Add a function for packing bits into a byte buffer. This will be needed when ↵Colin Guthrie2008-10-081-0/+52
| | | | | | encoding the audio data in ALAC format. git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2368 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Add a skeleton raop client which builds on the rtsp client.Colin Guthrie2008-10-082-0/+348
| | | | | | It still requires a socket client and callback system to be added before it will be functional. git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2366 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Move closer to an asynchronous structure (still some parsing code to be ↵Colin Guthrie2008-10-082-156/+220
| | | | | | | | | | converted). Move type definition into .c file to keep it private Add more utility functions to add/remove headers and return the serverport now the structure is private. This commit will break the test application but I will fix that in due course git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2365 fefdeb5f-60dc-0310-8127-8f9354f1896f