Pierre Ossman
d4d1e5edf7
Documentation for the threaded main loop API.
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@892 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-17 11:07:16 +00:00
Pierre Ossman
c752e11c02
Add Microsoft's WAVEFORMWATEEXTENSIBLE channel mapping.
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@890 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-17 06:58:43 +00:00
Lennart Poettering
4b6ab291a7
* modify pa_channel_map_init_auto() to take an extra argument specifying the standard to use (ALSA, AIFF, ...)
...
* add some more validity checks to pa_source_new(),pa_sink_new(),pa_sink_input_new(),pa_source_output_new()
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@888 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-16 23:47:38 +00:00
Lennart Poettering
23e74545ad
use the new latency update callback to be notified when latency data becomes
...
available again after PA_ERR_NODATA is returned by pa_stream_get_latency()
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@876 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-16 00:06:02 +00:00
Lennart Poettering
19167a1a2d
add notification callback which is called when new latency data becomes available
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@873 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-15 20:17:11 +00:00
Lennart Poettering
be05b18c6f
* add new parameter to pa_open_config_file() to specify open mode
...
* modify pa_sink_input_new() to take initial volume settings as argument
* call pa_sink_input_set_volume() when changing stream volume in protocol-esound.c to make sure that subscribe events are issued properly
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@858 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-14 00:41:18 +00:00
Lennart Poettering
afdec0532f
remove superfluous log message
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@850 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-13 19:55:28 +00:00
Pierre Ossman
af54f9fcc7
Windows support for the threaded API.
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@847 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-11 14:57:24 +00:00
Lennart Poettering
f931486c5d
update doxygen docs
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@846 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-11 13:17:27 +00:00
Lennart Poettering
68b98f7113
don't signal the accept_cond automatically when waiting for a signal event
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@845 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-11 13:17:19 +00:00
Lennart Poettering
e929aabc03
split of signal releasing into its own function and name it pa_threaded_mainloop_accept()
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@844 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-11 13:01:24 +00:00
Pierre Ossman
3890f0387f
Remove some debug code that wasn't supposed to be committed.
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@842 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-11 11:30:55 +00:00
Pierre Ossman
48d66cd5e8
Handle pipes on platforms where they are non-existant of broken.
...
We do this by creating a TCP socket pair instead of a normal pipe. Since
Windows isn't UNIX-y enough to support read()/write() on sockets, we also
need a wrapper to handle read() vs recv() and write() vs send().
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@840 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-11 11:08:58 +00:00
Pierre Ossman
12d4b5d952
Include log header to get rid of warnings.
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@839 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-11 11:04:57 +00:00
Pierre Ossman
6d2a9367ba
Do WSAStartup() in the DLL entry routine instead of at context creation.
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@837 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-11 11:02:25 +00:00
Lennart Poettering
26870176ba
fix handling of timing status requests
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@836 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-09 15:16:12 +00:00
Pierre Ossman
4e71f20d6c
Add stubs for the threaded main loop so that we can compile it on
...
non-supported platforms (still can't run it though).
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@834 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-09 08:39:26 +00:00
Lennart Poettering
df3306c4af
rework the simple API to make use of the new threaded mainloop implementation
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@832 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-06 20:58:28 +00:00
Lennart Poettering
4b4c8fd152
* optionally, make pa_threaded_mainloop_signal() wait until the main thread took over control
...
* more header file comments
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@831 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-06 20:58:02 +00:00
Lennart Poettering
bb6c45dee8
remove bogus check that disallowed latency interpolation and stuff for record streams
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@829 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-06 20:55:53 +00:00
Lennart Poettering
3f92e3efa9
allow signalling from event loop thread
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@828 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-06 16:38:09 +00:00
Pierre Ossman
1438bd49dc
Windows doesn't have POSIX thread. ifdef out things for now.
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@824 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-02 08:41:41 +00:00
Lennart Poettering
9e60bad5c3
add new threaded main loop implementation (with test/example)
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@823 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-04-30 23:34:17 +00:00
Lennart Poettering
f2fbceb333
* make sure the wakeup fd is polled on wven when no other fd is registered for polling
...
* initialize mainloop return value to -1
* some optimizations
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@822 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-04-30 23:33:04 +00:00
Pierre Ossman
22c679e393
Clarify how the automatic channel map is generated.
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@816 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-04-27 05:43:27 +00:00
Lennart Poettering
d4bad65e22
it was a bad idea to require that a channel map doesn't contain the same position twice
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@806 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-04-26 16:27:01 +00:00
Lennart Poettering
c478b0f118
* make a validity check of parsed channel maps before rteurning theme
...
* don't overwrite the return buffer unless the parsed channel map is known to be valid
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@804 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-04-26 16:07:05 +00:00
Lennart Poettering
292b237e35
don't allow channel positions to be specified twice in the same channelmap
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@801 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-04-26 15:37:13 +00:00
Lennart Poettering
195e96912f
* add new function pa_channel_map_parse()
...
* increase PA_CHANNEL_MAP_SNPRINT_MAX
* add "top" channel positions
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@799 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-04-26 14:33:45 +00:00
Lennart Poettering
820c118f9c
* rework reference counting in the client libraries: now refcounting goes
...
strictly "one-way" - the "bigger" object refcounts the "smaller" one, never the
other way round.
* when registering for a reply packet in pdispatch, specify a function that is
called when the pdispatch object is destroyed but the reply hasn't yet been
recieved.
* move prototype of pa_free_cb from stream.h to def.h
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@794 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-04-24 19:29:15 +00:00
Lennart Poettering
286310a563
small optimization
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@789 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-04-23 20:59:43 +00:00
Lennart Poettering
9b52ac4b47
fix sample uploading
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@788 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-04-23 20:59:31 +00:00
Lennart Poettering
cdba0527a8
* fix ref counting of pa_stream: strictly refcount from context to stream and never vice versa to make sure that we never loose memory
...
* don't hit an assert() in case of a timeout events
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@786 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-04-23 20:58:08 +00:00
Lennart Poettering
193fb12228
introduce a new error PA_ERR_TOOLARGE
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@785 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-04-23 20:56:41 +00:00
Lennart Poettering
4e61ebb981
fix multiplication of software pa_cvolumes
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@783 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-04-23 19:46:16 +00:00
Pierre Ossman
5342f3aef1
Win32 needs to have the socket subsystem initialised.
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@758 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-04-19 11:54:43 +00:00
Pierre Ossman
6ae8511a66
Having constant deferred events isn't allowed and causes problems. Use timers
...
instead.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@757 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-04-19 11:53:24 +00:00
Lennart Poettering
746adcfed5
fix a couple of issues I found when compiling polypaudio with gcc 2.95
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@754 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-04-18 19:31:50 +00:00
Pierre Ossman
c3087d02ba
Avoid including non-portable header sys/poll.h.
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@739 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-04-18 13:36:30 +00:00
Lennart Poettering
40f171f5de
* add pa_mainloop_wakeup() calls for deferred events
...
* place pa_mainloop_wakeup() calls a little bit more carfully, to minimize needless wakeups.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@734 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-04-16 17:25:14 +00:00
Lennart Poettering
76296ca8ad
add new API to replace the poll() function used by the main loop implementation
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@733 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-04-16 16:46:26 +00:00
Pierre Ossman
e8d9a5dbfb
Clarify behaviour of deferred events.
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@723 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-04-16 09:22:08 +00:00
Lennart Poettering
20f4ae65f2
more documentation updates
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@697 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-04-13 13:45:38 +00:00
Lennart Poettering
ceb09d8ae9
Documentation updates
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@696 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-04-13 00:56:10 +00:00
Lennart Poettering
7fa8323453
include local record memblockq in latency calculations
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@694 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-04-12 23:57:25 +00:00
Lennart Poettering
bf88854e60
* dispatch defer events in pa_mainloop_dispatch() and not already in pa_mainloop_prepare()
...
* fix the "timeout" parameter of pa_mainloop_prepare()
* remove pa_mainloop_deferred_pending() and update the simple API accordingly
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@690 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-04-12 22:45:57 +00:00
Lennart Poettering
0fa56f9b6f
remove a bunch of log messages
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@688 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-04-12 17:26:24 +00:00
Lennart Poettering
49b3150434
* rename "latency correction" to "write index correction"
...
* add read index invalidation code
* rename "ipol_event" stuff to "auto_timing_update"
* remove buffer_usec field from pa_timing_info, since it can be easily calculated from write_index and read_index anyway
* add read_index_corrupt field to "pa_timing_info", similar to the already existing write_index_corrupt field
* restart automatic timing update event every time a query is issued, not just when the last event elapsed
* proper invalidation code for pa_stream_flush()
* do tarsnport/sink/source latency correction for playback time only when device is not corked
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@686 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-04-12 17:17:23 +00:00
Lennart Poettering
b5d177d90b
proper validity checking for pa_context_is_pending()
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@684 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-04-12 17:10:25 +00:00
Lennart Poettering
b2668ca063
return the error code and not just -1 when pa_context_is_pending() fails
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@680 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-04-10 20:43:24 +00:00