summaryrefslogtreecommitdiffstats
path: root/src/modules/rtp
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* Trivial change to allocate memory using pulse methods.Colin Guthrie2008-10-081-3/+3
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2364 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Fix svn properties and some minor indentationColin Guthrie2008-10-082-2/+2
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2363 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Convert the return values to fit with the rest of pulse 0 == success, < 0 == ↵Colin Guthrie2008-10-081-17/+17
| | | | | | failure git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2362 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Convert to using pa_socket_client rather than using blocking IO.Colin Guthrie2008-10-082-63/+71
| | | | | | | This change requires a reference to the mainloop api be passed during initial connection. In addition, the passing in of the session id during connect has been deprecated. A new function pa_rtsp_set_url has been added to allow the URL to be set by external code. The concept of sid is something specific to raop, not to the rtsp client. git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2360 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Use _free rather than _destroy so as not to mix naming conventions.Colin Guthrie2008-10-082-28/+29
| | | | | | Convert C++ comments to C. git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2349 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Use pa_sprintf_malloc to do simple concatenation rather than using the ↵Colin Guthrie2008-10-081-5/+3
| | | | | | higher overhead of pa_strbuf git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2348 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Add a simple base64 library that will be used by the sinkColin Guthrie2008-10-082-0/+163
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2334 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Add a RTSP client impelmentation.Colin Guthrie2008-10-082-0/+538
| | | | | | I still need to adapt the header reading to move the concatenation code to the headerlist lib git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2333 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Add a small lib to interpret and produce headers as used in http style requests.Colin Guthrie2008-10-082-0/+238
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2332 fefdeb5f-60dc-0310-8127-8f9354f1896f
* remove useless log messageLennart Poettering2008-10-011-1/+1
|
* replace Makefile stub copies by symlinksLennart Poettering2008-09-111-13/+1
|
* add a few more gcc warning flags and fix quite a few problems found by doing soLennart Poettering2008-08-195-45/+47
|
* fix type errorLennart Poettering2008-08-181-4/+8
|
* Make Multicast TTL for RTP configurable, patch from 'dfort'Lennart Poettering2008-08-151-2/+17
| | | | Signed-off-by: Lennart Poettering <lennart@poettering.net>
* fix shutdown when --disallow-module-loading=1 is passedLennart Poettering2008-08-051-1/+1
|
* modernize hashmap implementation a bit, reduce memory consumption a bitLennart Poettering2008-06-271-1/+1
|
* get rid of svn $ keywordsLennart Poettering2008-06-187-14/+0
|
* merge glitch-free branch back into trunkLennart Poettering2008-05-157-49/+189
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2445 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Completely rework ALSA device selection code: choose the device to open ↵Lennart Poettering2007-11-131-4/+5
| | | | | | 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
* tag modules that may only be loaded once at most especially, and enforce ↵Lennart Poettering2007-11-092-8/+10
| | | | | | 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-285-257/+369
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1971 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Kill spaces on EOLLennart Poettering2007-05-298-105/+105
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1465 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Fix another DoS vulnerability that has been identified by Luigi Auriemma. ↵Lennart Poettering2007-05-231-3/+0
| | | | | | (Finally closes #67) git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1452 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Add copyright notices to all relevant files. (based on svn log)Pierre Ossman2007-02-138-0/+16
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1426 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Revert r1404 and keep it on a development branch until it is fully tested.Pierre Ossman2006-11-061-11/+7
| | | | 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-7/+11
| | | | | | | | | | | | | | | | | | | | | 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