summaryrefslogtreecommitdiffstats
path: root/src/modules/rtp/raop_client.c
Commit message (Collapse)AuthorAgeFilesLines
* Remove $Id$ lines left over from SVNColin Guthrie2008-10-081-2/+0
|
* Implement a set volume function to expose this capability to higher layersColin Guthrie2008-10-081-0/+24
|
* Add some new public API functions to connect and flush.Colin Guthrie2008-10-081-20/+53
| | | | | | | | | 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
* Add seq and rtptime params to record/flush with a view to using these for ↵Colin Guthrie2008-10-081-3/+4
| | | | | | timing and device suspension git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2500 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-081-1/+3
| | | | | | 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
* 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-081-7/+7
| | | | | | long anyway), and c comments git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2407 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Change suggested by Lennart. Do not return a memchunk, instead pass in the ↵Colin Guthrie2008-10-081-16/+14
| | | | | | 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-081-12/+12
| | | | | | | 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-081-1/+24
| | | | 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
* 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-081-83/+97
| | | | | | | | | | | | 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-081-4/+4
| | | | | | 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-081-21/+61
| | | | | | 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
* Add a pa_iochannel callback for when the RAOP connection connects.Colin Guthrie2008-10-081-7/+76
| | | | | | 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-081-0/+308
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