Colin Guthrie [Tue, 3 Jun 2008 23:07:48 +0000 (23:07 +0000)]
Fix up a couple of values related to encoding overhead.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2497
fefdeb5f-60dc-0310-8127-
8f9354f1896f
Colin Guthrie [Mon, 26 May 2008 23:43:51 +0000 (23:43 +0000)]
A few related changes:
* 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
Colin Guthrie [Mon, 26 May 2008 23:02:30 +0000 (23:02 +0000)]
Keep track of the memblock pointer internally and do not rely on subsequent 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
Colin Guthrie [Mon, 26 May 2008 21:10:08 +0000 (21:10 +0000)]
Set forgotten keyword property
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2483
fefdeb5f-60dc-0310-8127-
8f9354f1896f
Colin Guthrie [Mon, 26 May 2008 21:05:53 +0000 (21:05 +0000)]
Set the send buffer size to prevent rendering silence in amongst our good 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
Colin Guthrie [Mon, 26 May 2008 21:04:45 +0000 (21:04 +0000)]
Move the encoding loop around a bit such that it does not grab the data and keep it for the next loop iteration.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2481
fefdeb5f-60dc-0310-8127-
8f9354f1896f
Colin Guthrie [Sun, 11 May 2008 17:02:19 +0000 (17:02 +0000)]
Do tidy up on disconnection.
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
Colin Guthrie [Sun, 11 May 2008 16:40:26 +0000 (16:40 +0000)]
Do not prefix internal function rtsp_exec.
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
Colin Guthrie [Sun, 11 May 2008 16:38:33 +0000 (16:38 +0000)]
Don't try to free stack variables.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2409
fefdeb5f-60dc-0310-8127-
8f9354f1896f
Colin Guthrie [Sun, 11 May 2008 15:43:56 +0000 (15:43 +0000)]
unref the raw data memblock before requesting more data.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2408
fefdeb5f-60dc-0310-8127-
8f9354f1896f
Colin Guthrie [Sun, 11 May 2008 15:34:37 +0000 (15:34 +0000)]
Some misc fixes. consts, base64 optimisation (not that it will be with us long anyway), and c comments
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2407
fefdeb5f-60dc-0310-8127-
8f9354f1896f
Colin Guthrie [Sun, 11 May 2008 15:12:20 +0000 (15:12 +0000)]
Fix up IPv6 address format to enclose it in []
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2406
fefdeb5f-60dc-0310-8127-
8f9354f1896f
Colin Guthrie [Sun, 11 May 2008 15:06:14 +0000 (15:06 +0000)]
Change suggested by Lennart. Do not return a memchunk, instead pass in the pointer.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2405
fefdeb5f-60dc-0310-8127-
8f9354f1896f
Colin Guthrie [Sun, 11 May 2008 14:57:30 +0000 (14:57 +0000)]
Various changes suggested by Lennart.
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
Colin Guthrie [Sun, 11 May 2008 14:19:41 +0000 (14:19 +0000)]
Listen to the on_close callback. This still causes asserts in the mainloop, so this is not a complete solution
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2403
fefdeb5f-60dc-0310-8127-
8f9354f1896f
Colin Guthrie [Sun, 11 May 2008 14:18:48 +0000 (14:18 +0000)]
Add a new callback structure to propigate when the RTSP connection dies
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2402
fefdeb5f-60dc-0310-8127-
8f9354f1896f
Colin Guthrie [Sun, 11 May 2008 13:35:01 +0000 (13:35 +0000)]
Move the ownership of the encoded data memchunk into the raop_client.
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
Colin Guthrie [Sun, 11 May 2008 13:32:09 +0000 (13:32 +0000)]
Do not assert on NULL values of s. This means the connection was closed. 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
Colin Guthrie [Sun, 11 May 2008 12:21:32 +0000 (12:21 +0000)]
A very rough first version of the sink.
I can actually play music to my airport now (woot).
Still very rough round the edges and I need to handle disconnects etc. but it's all good progress :)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2398
fefdeb5f-60dc-0310-8127-
8f9354f1896f
Colin Guthrie [Sun, 11 May 2008 12:20:14 +0000 (12:20 +0000)]
Add more libraries to librtp now that it's doing a lot more.
This currently hacks in -lssl rather than writing a configure hook to detect it as I want to replace this with nss before official release.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2397
fefdeb5f-60dc-0310-8127-
8f9354f1896f
Colin Guthrie [Sun, 11 May 2008 12:18:36 +0000 (12:18 +0000)]
Properly duplicate the hostname passed in on connect.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2396
fefdeb5f-60dc-0310-8127-
8f9354f1896f
Colin Guthrie [Sat, 10 May 2008 23:01:37 +0000 (23:01 +0000)]
Combine pa_raop_client_new and pa_raop_client_connect (no point in having 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
Colin Guthrie [Wed, 7 May 2008 01:23:16 +0000 (01:23 +0000)]
Rename rtsp.{c,h} to rtsp_client.{c,h}.
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
Colin Guthrie [Wed, 7 May 2008 01:10:31 +0000 (01:10 +0000)]
Wrap the io_callback to ensure that all data is written before asking for more.
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
Colin Guthrie [Wed, 7 May 2008 00:35:10 +0000 (00:35 +0000)]
Use a more stateful response parser.
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
Colin Guthrie [Tue, 6 May 2008 18:39:09 +0000 (18:39 +0000)]
Add a pa_iochannel callback for when the RAOP connection connects.
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
Colin Guthrie [Tue, 6 May 2008 00:28:04 +0000 (00:28 +0000)]
Add a function for packing bits into a byte buffer. This will be needed when encoding the audio data in ALAC format.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2368
fefdeb5f-60dc-0310-8127-
8f9354f1896f
Colin Guthrie [Tue, 6 May 2008 00:25:37 +0000 (00:25 +0000)]
Some minor tidyup to remove code now in raop client. Still nowhere near functional.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2367
fefdeb5f-60dc-0310-8127-
8f9354f1896f
Colin Guthrie [Tue, 6 May 2008 00:20:35 +0000 (00:20 +0000)]
Add a skeleton raop client which builds on the rtsp client.
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
Colin Guthrie [Tue, 6 May 2008 00:17:17 +0000 (00:17 +0000)]
Move closer to an asynchronous structure (still some parsing code to be 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
Colin Guthrie [Tue, 6 May 2008 00:14:33 +0000 (00:14 +0000)]
Trivial change to allocate memory using pulse methods.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2364
fefdeb5f-60dc-0310-8127-
8f9354f1896f
Colin Guthrie [Sun, 4 May 2008 01:26:29 +0000 (01:26 +0000)]
Fix svn properties and some minor indentation
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2363
fefdeb5f-60dc-0310-8127-
8f9354f1896f
Colin Guthrie [Sun, 4 May 2008 01:01:52 +0000 (01:01 +0000)]
Convert the return values to fit with the rest of pulse 0 == success, < 0 == failure
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2362
fefdeb5f-60dc-0310-8127-
8f9354f1896f
Colin Guthrie [Sun, 4 May 2008 00:43:31 +0000 (00:43 +0000)]
Convert to using pa_socket_client rather than using blocking IO.
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
Colin Guthrie [Fri, 2 May 2008 09:49:28 +0000 (09:49 +0000)]
Use _free rather than _destroy so as not to mix naming conventions.
Convert C++ comments to C.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2349
fefdeb5f-60dc-0310-8127-
8f9354f1896f
Colin Guthrie [Fri, 2 May 2008 09:47:09 +0000 (09:47 +0000)]
Use pa_sprintf_malloc to do simple concatenation rather than using the higher overhead of pa_strbuf
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2348
fefdeb5f-60dc-0310-8127-
8f9354f1896f
Colin Guthrie [Thu, 1 May 2008 23:51:45 +0000 (23:51 +0000)]
Start the raop sink. It's based on pipe sink and isn't anywhere near finished. It does however compile.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2335
fefdeb5f-60dc-0310-8127-
8f9354f1896f
Colin Guthrie [Thu, 1 May 2008 23:43:34 +0000 (23:43 +0000)]
Add a simple base64 library that will be used by the sink
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2334
fefdeb5f-60dc-0310-8127-
8f9354f1896f
Colin Guthrie [Thu, 1 May 2008 23:40:19 +0000 (23:40 +0000)]
Add a RTSP client impelmentation.
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
Colin Guthrie [Thu, 1 May 2008 23:35:24 +0000 (23:35 +0000)]
Add a small lib to interpret and produce headers as used in http style requests.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2332
fefdeb5f-60dc-0310-8127-
8f9354f1896f
Lennart Poettering [Mon, 6 Oct 2008 01:35:46 +0000 (03:35 +0200)]
make distcheck pass
Lennart Poettering [Mon, 6 Oct 2008 00:39:36 +0000 (02:39 +0200)]
Merge branch 'master' of ssh://rootserver/home/lennart/git/public/pulseaudio
Lennart Poettering [Mon, 6 Oct 2008 00:39:24 +0000 (02:39 +0200)]
Merge branch 'master' of ssh://rootserver/home/lennart/git/public/pulseaudio
Lennart Poettering [Mon, 6 Oct 2008 00:37:59 +0000 (02:37 +0200)]
bump version and sonames
Lennart Poettering [Mon, 6 Oct 2008 00:28:17 +0000 (02:28 +0200)]
Merge commit 'vudentz/master'
Lennart Poettering [Mon, 6 Oct 2008 00:26:08 +0000 (02:26 +0200)]
make sure we send a started messages when we are uncorking
Lennart Poettering [Sun, 5 Oct 2008 21:02:25 +0000 (23:02 +0200)]
update module-tunnel for recent protocol changes
Lennart Poettering [Sun, 5 Oct 2008 20:51:25 +0000 (22:51 +0200)]
disable valgrind macro usage for now since valgrind generates a lot of spurious warnings as it seems
Lennart Poettering [Sun, 5 Oct 2008 13:38:56 +0000 (15:38 +0200)]
add missing include
Lennart Poettering [Sat, 4 Oct 2008 00:13:39 +0000 (02:13 +0200)]
substract the unused record buffer size from the overall size before calculating the space still left for recording
Lennart Poettering [Fri, 3 Oct 2008 23:48:13 +0000 (01:48 +0200)]
get rid of pa_alsa_volume_divide() since we have pa_sw_volume_divide() now
Lennart Poettering [Fri, 3 Oct 2008 23:40:41 +0000 (01:40 +0200)]
implement pa_sw_volume_divide() and pa_sw_cvolume_divide()
Lennart Poettering [Fri, 3 Oct 2008 23:07:38 +0000 (01:07 +0200)]
increase suspend timeout to 5s so that it is always longer then the default tsched buffer size of 2s
Lennart Poettering [Fri, 3 Oct 2008 23:07:08 +0000 (01:07 +0200)]
don't call snd_pcm_drain() when we suspend because that might take awfully long with our long buffer sizes these days
Lennart Poettering [Fri, 3 Oct 2008 23:06:35 +0000 (01:06 +0200)]
add missing inclusion
Lennart Poettering [Fri, 3 Oct 2008 22:14:02 +0000 (00:14 +0200)]
do not cleanup staticly allocated memory unless we are in valgrind mode
Lennart Poettering [Fri, 3 Oct 2008 22:13:29 +0000 (00:13 +0200)]
show valgrind status on startup
Lennart Poettering [Fri, 3 Oct 2008 22:13:05 +0000 (00:13 +0200)]
instead of checking for directly use new function pa_in_valgrind()
Lennart Poettering [Fri, 3 Oct 2008 22:10:43 +0000 (00:10 +0200)]
add new API function pa_in_valgrind() to check for
Luiz Augusto von Dentz [Fri, 3 Oct 2008 21:04:53 +0000 (18:04 -0300)]
Fix loading module-bluetooth-device with an invalid parameter.
Luiz Augusto von Dentz [Fri, 3 Oct 2008 15:15:26 +0000 (12:15 -0300)]
Replace handlers of deprecated Connected signals with new PropertyChanged.
Luiz Augusto von Dentz [Wed, 1 Oct 2008 23:15:09 +0000 (20:15 -0300)]
Cleanup module-bluetooth-discover.
Luiz Augusto von Dentz [Wed, 1 Oct 2008 15:16:16 +0000 (12:16 -0300)]
Fix Connected signal handler.
Luiz Augusto von Dentz [Wed, 1 Oct 2008 15:04:55 +0000 (12:04 -0300)]
Fix match rule problems.
Luiz Augusto von Dentz [Wed, 1 Oct 2008 14:37:00 +0000 (11:37 -0300)]
Remove PropertyChanged signal handler.
Luiz Augusto von Dentz [Wed, 1 Oct 2008 14:35:51 +0000 (11:35 -0300)]
Add signal handlers for Connected signals.
Luiz Augusto von Dentz [Wed, 1 Oct 2008 14:29:50 +0000 (11:29 -0300)]
Add match rules for org.bluez.Headset and org.bluez.AudioSink.
Lennart Poettering [Fri, 3 Oct 2008 20:21:27 +0000 (22:21 +0200)]
rename pa_cvolume_snprint_dB to pa_sw_cvolume_snprint_dB since it is
useful only for software volumes
Lennart Poettering [Fri, 3 Oct 2008 17:49:15 +0000 (19:49 +0200)]
allow - in sample names
Lennart Poettering [Fri, 3 Oct 2008 15:45:55 +0000 (17:45 +0200)]
increase PA_CVOLUME_SNPRINT_MAX to a proper value and document that it is not considered part of the ABI
Lennart Poettering [Fri, 3 Oct 2008 15:45:04 +0000 (17:45 +0200)]
when checking the validity of a cvolume check whether all values are not -1
Lennart Poettering [Fri, 3 Oct 2008 15:44:17 +0000 (17:44 +0200)]
add missing calls to map file
Lennart Poettering [Fri, 3 Oct 2008 15:43:40 +0000 (17:43 +0200)]
add new API call pa_cvolume_compatible()
Lennart Poettering [Fri, 3 Oct 2008 15:42:38 +0000 (17:42 +0200)]
add new API call pa_cvolume_snprint_dB()
Lennart Poettering [Fri, 3 Oct 2008 15:16:55 +0000 (17:16 +0200)]
add new API call pa_cvolume_init()
Lennart Poettering [Fri, 3 Oct 2008 15:15:43 +0000 (17:15 +0200)]
extend documentation for pa_channel_map_init()
Lennart Poettering [Fri, 3 Oct 2008 15:14:58 +0000 (17:14 +0200)]
make a few casts explicit to remove compiler warnings
Lennart Poettering [Fri, 3 Oct 2008 15:14:35 +0000 (17:14 +0200)]
a bit of late pa_bool_t'ization
Lennart Poettering [Fri, 3 Oct 2008 15:14:02 +0000 (17:14 +0200)]
treat a channel map only then as compatible with a sample spec if it is valid
Lennart Poettering [Fri, 3 Oct 2008 15:13:17 +0000 (17:13 +0200)]
add new API function pa_sample_spec_init()
Lennart Poettering [Fri, 3 Oct 2008 13:16:26 +0000 (15:16 +0200)]
if a volume or channel map is invalid show so when printing it
Lennart Poettering [Fri, 3 Oct 2008 00:34:59 +0000 (02:34 +0200)]
user lrint() and friends in inner loops instead of normal C casts to speed up a few things
Lennart Poettering [Fri, 3 Oct 2008 00:33:44 +0000 (02:33 +0200)]
use PA_FLOAT32_SWAP where useful
Lennart Poettering [Thu, 2 Oct 2008 23:53:34 +0000 (01:53 +0200)]
optimize mixing routines a bit by pulling the multiplication with the global volume out of the inner loop by applying it first to the per-stream volumes
Lennart Poettering [Thu, 2 Oct 2008 01:07:54 +0000 (03:07 +0200)]
make sure we call pa_sink_process_rewind() if a rewind was requested under all circumstances
Lennart Poettering [Thu, 2 Oct 2008 00:29:56 +0000 (02:29 +0200)]
when we mix into a 16bit accumulator make sure we clamp before we scale with a volume to avoid range faults when multiplying
Lennart Poettering [Wed, 1 Oct 2008 23:15:58 +0000 (01:15 +0200)]
properly parse response to pa_stream_set_buffer_attr() calls. closes #370
Lennart Poettering [Wed, 1 Oct 2008 23:02:31 +0000 (01:02 +0200)]
inform dsp_empty_socket() *after* we emptied the dsp socket, that it is now empty
Lennart Poettering [Wed, 1 Oct 2008 22:04:02 +0000 (00:04 +0200)]
make simple protocol not crash when allocating a memory block
Lennart Poettering [Wed, 1 Oct 2008 21:42:32 +0000 (23:42 +0200)]
when killing gconf helper, loop over EINTR
Lennart Poettering [Wed, 1 Oct 2008 12:49:00 +0000 (14:49 +0200)]
PA_WARN_REFERENCE works only for ELF targets
Lennart Poettering [Wed, 1 Oct 2008 02:15:05 +0000 (04:15 +0200)]
don't hit an assert if a kernel driver reports invalid dB information, instead just warn the user
Lennart Poettering [Wed, 1 Oct 2008 01:54:01 +0000 (03:54 +0200)]
remove useless log message
Lennart Poettering [Wed, 1 Oct 2008 01:44:03 +0000 (03:44 +0200)]
remove useless log message, re #367
Lennart Poettering [Wed, 1 Oct 2008 01:26:45 +0000 (03:26 +0200)]
fix support for ALSA devices which lack dB information
Lennart Poettering [Tue, 30 Sep 2008 23:59:50 +0000 (01:59 +0200)]
it's --daemonize, not --daemon
Lennart Poettering [Tue, 30 Sep 2008 23:52:14 +0000 (01:52 +0200)]
Merge commit 'coling/master'
Lennart Poettering [Tue, 30 Sep 2008 23:31:56 +0000 (01:31 +0200)]
a few FreeBSD fixes, from alexis
Signed-off-by: Lennart Poettering <lennart@poettering.net>
Lennart Poettering [Tue, 30 Sep 2008 23:24:47 +0000 (01:24 +0200)]
replace module-volume-restore by module-stream-restore in system mode, too
Lennart Poettering [Tue, 30 Sep 2008 23:23:35 +0000 (01:23 +0200)]
it might be a bit too early to initialize bluetooth by default for now, since it's still very rough around the edges