Commit graph

67 commits

Author SHA1 Message Date
Colin Guthrie
3de129f3ac introspect: Include whether a stream is corked in the info callback. 2010-10-06 09:17:01 +01:00
Lennart Poettering
e7686a607d core: dump proplist when creating stream similar to how we already to it for sinks/sources 2009-09-20 03:18:03 +02:00
Lennart Poettering
84eb6614eb core: move 'flags' field into 'pa_sink_input_new_data' structure so that hooks can access it 2009-08-28 23:24:09 +02:00
Lennart Poettering
1a05d67f07 core: relex validity checks when destructing half-set up source outputs/sink inputs 2009-08-22 04:04:23 +02:00
Lennart Poettering
9abc010c93 object: speed up type verification by not relying on strcmp()
Instead of using string contents for type identification use the address
of a constant string array. This should speed up type verifications a
little sind we only need to compare one machine word instead of a full
string. Also, this saves a few strings.

To make clear that types must be compared via address and not string
contents 'type_name' is now called 'type_id'.

This also simplifies the macros for declaring and defining public and
private subclasses.
2009-08-21 21:27:44 +02:00
Lennart Poettering
350a2bc846 core: make fixed latency dynamically changeable
This of course makes the name 'fixed' a bit of a misnomer. However the
definitions are now like this:

fixed latency: the latency may change during runtime, but is solely
controlled by the backend, the client has no influence.

dynamic latency: the latency may change during runtime, influenced by
the requests of the clients.

i.e. fixed vs. dynamic is from the perspective of the client.
2009-08-15 00:48:14 +02:00
Lennart Poettering
e4db56bf07 core: split of FAIL_ON_SUSPEND into KILL_ON_SUSPEND and NO_CREATE_ON_SUSPEND 2009-08-15 00:12:53 +02:00
Lennart Poettering
0989be13f6 core: introduce pa_{sink_input|source_output}_fail_move() 2009-08-15 00:03:50 +02:00
Lennart Poettering
5ee4069e9e core: add functions to query max_rewind/max_request values from streams 2009-08-13 02:17:24 +02:00
Lennart Poettering
9a95fe49c8 core: add assert macros for verifying calling context
This adds pa_assert_io_context() and pa_assert_ctl_context() in addition
to a few related macros. When called they will fail when the current execution
context is not IO resp. not control context. (aka 'thread' context vs.
'main' context)
2009-08-13 02:14:19 +02:00
Lennart Poettering
a4cea4e469 core: when applying delay memblockq take monitored sink latency into account 2009-04-14 01:04:17 +02:00
Lennart Poettering
4ee4a55617 core: use pa_{source|sink}_get_latency_within_thread() at one more place 2009-04-14 01:03:10 +02:00
Lennart Poettering
f7c229d8f9 core: add a seperate fixed_latency field for sinks/sources with fixed latency 2009-04-10 01:26:04 +02:00
Lennart Poettering
9ae8ca2c37 core: memory leak, fix ref counting when moving streams 2009-04-10 01:21:16 +02:00
Lennart Poettering
61b07768c2 add suspend_within_thread() callbacks to pa_sink_input/pa_source_output 2009-04-07 00:46:20 +02:00
Lennart Poettering
373b5efe51 properly account for seeks in the requested_bytes counter 2009-04-01 23:05:09 +02:00
Lennart Poettering
75a8d18285 pass destination source/sink when moving streams so that we can access them 2009-04-01 03:04:39 +02:00
Lennart Poettering
c2f6d090c7 don't access i->sink if it is not set 2009-04-01 03:03:20 +02:00
Lennart Poettering
7f5481ede0 simplify latency config functions a bit and make them callable in more contexts 2009-03-30 18:23:48 +02:00
Lennart Poettering
d04f3e1aef Trigger move callback a little bit earlier so that no IO thread is running 2009-03-30 18:21:34 +02:00
Colin Guthrie
86dee05aec Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
Lennart Poettering
620bf84573 try to vacuum a little when nothing is going on 2009-02-25 09:13:19 +01:00
Lennart Poettering
00839ddaa6 make sure we check the sink status for PA_SINK_INPUT_FAIL_ON_SUSPEND only after module-suspend-on-idle had the chance to resume the device 2009-02-24 22:27:25 +01:00
Lennart Poettering
3bccb704b6 Allow passing a NULL proplist to pa_xxxx_update_proplist() to just fire a notification 2009-02-22 05:01:32 +01:00
Lennart Poettering
823431e447 allow sending meta/policy events to clients 2009-02-12 03:18:05 +01:00
Lennart Poettering
f42afc4883 make return value of pa_{sink_input|source_output}_update_proplist() void 2009-02-05 04:08:18 +01:00
Lennart Poettering
4cf82c74a1 merge in properties earlier to make identification of streams from hooks easier 2009-02-04 18:28:52 +01:00
Lennart Poettering
08800c35b0 make a couple of functions return proper error codes 2009-02-03 03:14:20 +01:00
Lennart Poettering
162e43b306 make a few functions return void where the retval isn't used/never != 0 2009-02-03 03:11:31 +01:00
Lennart Poettering
e47d03dea4 implement PA_STREAM_FAIL_ON_SUSPEND logic 2009-02-03 02:23:46 +01:00
Lennart Poettering
64b0543588 when changing volume, store whether it is worth remembering or no 2009-01-27 23:40:03 +01:00
Lennart Poettering
d5f46e824e move flat volume logic into the core. while doing so add n_volume_steps field to sinks/sources 2009-01-27 04:39:07 +01:00
Lennart Poettering
9ba408415c store requested resampling method in a seperate field and use it when create a new resampler after a move 2009-01-27 00:52:28 +01:00
Lennart Poettering
29cb778dcc move sink input/source output move functions into two parts so that we can start the move, delete the original sink, create a new sink, finish the move; similar for source outputs 2009-01-23 22:38:30 +01:00
Lennart Poettering
cf24b57279 in most cases we can use i->core instead of i->sink->core and o->coure instead of o->source->core 2009-01-23 22:35:19 +01:00
Lennart Poettering
0f7954a9f5 don't include full path in driver name. 2009-01-22 00:15:19 +01:00
Lennart Poettering
47a2b17d01 make proplist inheritance scheme automatic and implicit 2009-01-15 20:27:07 +01:00
Lennart Poettering
29c7a28817 kill autoload stuff as planned 2009-01-15 20:07:13 +01:00
Lennart Poettering
344c934edb maintain a list of sink inputs/source outputs as part of the pa_client object 2009-01-15 18:38:20 +01:00
Marc-André Lureau
2204bbebf2 core: add source, si, so proplist_update 2009-01-13 19:06:10 +02:00
Lennart Poettering
82f09b6d8f Don't hit an assert when checking for idleness
Closes #398
2008-12-17 21:03:17 +01:00
Lennart Poettering
358824b330 add new virtual function may_move_to to sink inputs/source outputs to allow modules to forbid certain connections 2008-10-21 18:24:45 +02:00
Lennart Poettering
e1dbc75eb8 use pa_channel_map_init_extend() instead of pa_channel_map_init_auto() as channel map for sink inputs/source outputs in case no map is specified 2008-10-07 22:45:37 +02:00
Lennart Poettering
ae83483cf0 modernize a few checks 2008-10-07 22:44:43 +02:00
Lennart Poettering
f2164023fd Add new option to disable remixing from/to LFE and set it to on by default 2008-09-05 16:04:42 +03:00
Lennart Poettering
450fe170a5 fix up latency before calling into stream code, to make sure we don't ask for too much data to early 2008-08-29 01:20:25 +02:00
Lennart Poettering
b7026bf248 add a few more gcc warning flags and fix quite a few problems found by doing so 2008-08-19 22:39:54 +02:00
Lennart Poettering
f57b9153a8 fix a few more copy/paste errors 2008-08-05 14:26:43 +02:00
Lennart Poettering
78236af734 fix copy/paste error 2008-08-04 23:33:29 +02:00
Lennart Poettering
add6c0361a Rework module-combine to work with glitch-free core; add new max_request field to pa_sink 2008-06-20 22:32:41 +02:00