Commit graph

38 commits

Author SHA1 Message Date
Lennart Poettering
f44ba09265 big s/polyp/pulse/g
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1033 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-06-19 21:53:48 +00:00
Lennart Poettering
40494c3bc1 * rework latency interpolation to make it smoother
* increase latency update interval to 100ms


git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1029 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-06-19 12:37:43 +00:00
Pierre Ossman
d142408f5c Explicitly check version number when determining which fields are in a stream
create response.


git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@978 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-26 07:24:25 +00:00
Lennart Poettering
7d975345a5 * add new API function pa_stream_get_buffer_attr().
* modify pacat.c to make use of that new API
* extend protocol to allow transfer of the necessary information
* update protocol version accordingly


git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@976 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-25 23:20:28 +00:00
Pierre Ossman
3fa19ab457 Fix warnings.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@959 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-24 13:23:15 +00:00
Pierre Ossman
a3fe39ac41 Fix some missing headers.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@937 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-19 11:32:32 +00:00
Lennart Poettering
53a285e756 fix include line for "core-util.h"
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@923 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-17 20:44:55 +00:00
Pierre Ossman
d9cc2cfcb9 Move xmalloc to the public side (libpolyp).
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@908 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-17 16:34:18 +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
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
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
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
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
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
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
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
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
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
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
Lennart Poettering
b8a729a00f * update docs for reworked latency API
* rename pa_latency_info to pa_timing_info, since that describes better what it is. Most people will only use pa_stream_get_time() anyway


git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@651 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-04-07 01:29:33 +00:00
Lennart Poettering
920f045380 rework latency querying API (this needs more testing)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@648 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-04-07 00:24:48 +00:00
Pierre Ossman
dc5b2c58dd We no longer guarantee that an operation object is returned. Need to tweak
some parts to handle this.


git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@638 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-03-11 21:26:40 +00:00
Pierre Ossman
528d15095d The extra stream ref actually did some good. Re-add it, but with some more
symmetry, assertions and comments.


git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@635 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-03-07 18:29:27 +00:00
Pierre Ossman
b67963cec2 We've already set an initial reference count of 1 so don't count it up again.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@634 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-03-07 16:04:32 +00:00
Pierre Ossman
fbaaf5acb7 The tag argument is no longer unused.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@620 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-03-02 16:40:23 +00:00
Pierre Ossman
50268e0dd0 Fix warnings on 64-bit systems.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@619 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-03-02 16:37:35 +00:00
Pierre Ossman
6cc11fbfc3 Handle the new latency protocol. This is just a quick fix and does not
handle the new memblockq system.


git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@618 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-03-02 16:32:36 +00:00
Lennart Poettering
4a64b0d116 change pa_log() and friends to not require a trailing \n on all logged strings
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@574 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-02-23 02:27:19 +00:00
Lennart Poettering
cb59817b4a simplify tagstruct creation
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@573 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-02-23 01:24:16 +00:00
Lennart Poettering
71b3bff681 * modify pa_context_exit_daemon() to return a pa_operation object
* add callback prototypes to all introspection functions in client lib
* add proper validity checking and error handling to all functions in the client lib
* other minor cleanups
* todo update


git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@531 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-02-20 22:41:02 +00:00
Lennart Poettering
98cb6aa4a3 * a lot of doxygen updates
* s/pa_operation_callback/pa_operation_callback_t/g
* add more typedefs for function prototypes
* add API to query the channel map used by a pa_stream


git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@530 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-02-20 17:09:39 +00:00
Lennart Poettering
304449002c 1) Add flexible seeking support (including absolute) for memory block queues and playback streams
2) Add support to synchronize multiple playback streams
3) add two tests for 1) and 2)
4) s/PA_ERROR/PA_ERR/
5) s/PA_ERROR_OK/PA_OK/
6) update simple API to deal properly with new peek/drop recording API
7) add beginnings of proper validity checking on API calls in client libs (needs to be extended)
8) report playback buffer overflows/underflows to the client
9) move client side recording mcalign stuff into the memblockq 
10) create typedefs for a bunch of API callback prototypes
11) simplify handling of HUP poll() events

Yes, i know, it's usually better to commit a lot of small patches instead of a
single big one. In this case however, this would have contradicted the other
rule: never commit broken or incomplete stuff.

*** This stuff needs a lot of additional testing! ***


git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@511 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-02-20 04:05:16 +00:00
Pierre Ossman
b26df7e4a0 Properly clear members during init.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@509 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-02-17 17:00:33 +00:00
Pierre Ossman
45700da4eb Have a memblock queue on the client side during recording. This makes the
record callback optional in stead of mandatory.

For applications that wish to retain the old behaviour, simply call
pa_stream_peek() followed by pa_stream_drop() in the callback.


git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@507 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-02-17 15:42:47 +00:00
Pierre Ossman
5eda18bf60 Cleaned up the includes after the restructuring. Indicate which headers are
public and which are internal through <> vs "".


git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@500 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-02-17 12:10:58 +00:00
Lennart Poettering
22c8cebb85 drop polyplib- prefix from client library files
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@492 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-02-16 22:43:59 +00:00
Renamed from src/polyp/polyplib-stream.c (Browse further)