Commit graph

94 commits

Author SHA1 Message Date
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
Lennart Poettering
a81209f147 validity checks for pa_context_is_pending()
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@679 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-04-10 20:38:58 +00:00
Lennart Poettering
137f0a7140 * implement PA_STREAM_AUTO_TIMING_UPDATE
* accept PA_STREAM_NOT_MONOTONOUS properly


git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@673 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-04-10 17:39:24 +00:00
Lennart Poettering
190a869132 add new PA_STREAM_AUTO_TIMING_UPDATE
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@672 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-04-10 17:38:46 +00:00
Lennart Poettering
f4119adc8e unbreak last commit from ossman
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@669 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-04-10 16:40:29 +00:00
Pierre Ossman
0d200ee743 Use the modern Ki/Mi/Gi prefixes to clarify that 1024 is the base.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@668 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-04-09 19:32:16 +00:00
Pierre Ossman
a6ce5c4b1d Big documentation update. Describe the client API in a more tutorial like
manner.


git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@667 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-04-09 19:31:09 +00:00
Lennart Poettering
f6d95b7291 add new introspection data field for sinks/sources: a flags field which specifies whether the sink/source supports hw volume control and latency querying
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@661 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-04-07 23:02:48 +00:00
Lennart Poettering
fdb48b4340 * enable write_index correction and timing interpolation only for playback (and record) streams
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@656 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-04-07 21:55:55 +00:00