summaryrefslogtreecommitdiffstats
path: root/src/modules/rtp
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* fix handling of "mtu" module argument (patch by "theBear")Lennart Poettering2006-08-231-0/+1
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1329 fefdeb5f-60dc-0310-8127-8f9354f1896f
* remove all occurences of Lennart Poettering2006-08-185-55/+55
| | | | | | | | | | | | 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-184-11/+9
| | | | | | | | | | | | | | | 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
* create rtp source output on correct sourceLennart Poettering2006-08-131-0/+1
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1252 fefdeb5f-60dc-0310-8127-8f9354f1896f
* implement hook_source_ouput_new. For this I modified the ↵Lennart Poettering2006-08-131-2/+9
| | | | | | pa_source_output_new constructor to take a struct similar to what I already did for pa_sink_input_new() git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1250 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-163-1/+3
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1096 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Fix the final few occurences of polyp.Pierre Ossman2006-06-201-1/+1
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1042 fefdeb5f-60dc-0310-8127-8f9354f1896f
* big s/polyp/pulse/gLennart Poettering2006-06-198-74/+74
| | | | 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-254-5/+4
| | | | | | | | * 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