Commit graph

31 commits

Author SHA1 Message Date
Arun Raghavan
0ac2cfce6d core: Add extended stream API to support compressed formats
This is the beginning of work to support compressed formats natively in
PulseAudio. This adds a pa_stream_new_extended() that takes a format
structure, sends it to the server (=> protocol extension) and has the
server negotiate with the appropropriate sink to figure out what format
it should use.

This is work in progress, and works only with PCM streams. Actual
compressed format support in some sink needs to be implemented, and
extensive testing is required.

More details on how this is supposed to work is available at:
http://pulseaudio.org/wiki/PassthroughSupport
2011-05-02 11:54:43 +05:30
Tanu Kaskinen
969c7c80fe core: Link virtual sinks and sources to their streams.
This change doesn't add any functionality in itself, but it will be useful in
the future for operating on chains of sinks or sources that are piggy-backing
on each other.

For example, the PA_PROP_DEVICE_MASTER_DEVICE property could
be handled in the core so that each virtual device doesn't have to maintain it
separately. By using the origin_sink and destination_source pointers the core
is able to see at stream creation time that the stream is created by a virtual
device, and then update that device's property list using the name of the
master device that the stream is being connected to. The same thing can be done
also when the stream is being moved from a device to another, in which case the
_MASTER_DEVICE property needs updating.
2011-02-22 10:10:48 +00:00
Lennart Poettering
b245b54702 ladspa,remap: make description of sink follow moves 2009-09-01 06:06:04 +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
5b0683d6cd ladspa/remap: handle failing stream moves properly 2009-08-22 04:03:31 +02:00
Lennart Poettering
e5b08a81d2 ladspa/remap: sync latency flags from master sink when moving between sinks 2009-08-15 03:42:16 +02:00
Lennart Poettering
1b3848ebd7 module-remap: allow moving of sink, forward fixed latency
This is a bigger change reworking a number of things:

- We now allow moving of the remap sink betwween backend sinks like any
  other stream.

- We forward the fixed latency parameter of the underlying sinks the
  same way as the dynamic latency.
2009-08-15 00:59:26 +02:00
Lennart Poettering
fb5205daac remap: unify argument order with other modules 2009-08-15 00:57:36 +02:00
Lennart Poettering
7d4916379b ladspa/remap: make sure we process all requested rewinds unconditionally
In some situations a rewind request travelling downstream might be
optimized away on its way and an upstream rewind processing might never
come back. Hence, call _process_rewind() before each _render()just to
make sure we processed them all.
2009-08-07 23:58:45 +02:00
Lennart Poettering
1c4393acf0 modules: add {sink|source|card}_properties argument to all modules 2009-05-28 02:39:22 +02:00
Lennart Poettering
44ca897769 introduce new flag that marks sinks/sources which can adjust the latency dynamically 2009-03-25 00:30:54 +01:00
Lennart Poettering
2f9a784167 set request/rewind sizes only via accessor functions 2009-03-24 21:13:41 +01:00
Lennart Poettering
aa92ff408c simplify latency range by not allowing stored 'wildcard' ranges anymore 2009-03-24 21:06:57 +01: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
08800c35b0 make a couple of functions return proper error codes 2009-02-03 03:14:20 +01:00
Lennart Poettering
bae221cca9 rework module usage counter stuff to be pull based 2009-01-15 20:49:12 +01:00
Lennart Poettering
29c7a28817 kill autoload stuff as planned 2009-01-15 20:07:13 +01:00
Lennart Poettering
75119e91cd add new dont_rewind_render flag to allow quick starts of newly created streams 2009-01-15 00:40:06 +01:00
Lennart Poettering
4ee5e06f38 implement may_move_to for ladspa/remap sinks 2008-10-21 18:25:26 +02:00
Lennart Poettering
34dd4a20f2 fix shutdown when --disallow-module-loading=1 is passed 2008-08-05 23:56:25 +02:00
Lennart Poettering
9f0afb391a always forward rewind requests to the sink, and don't abort on nbytes=0 2008-06-26 19:43:45 +02:00
Lennart Poettering
d1362b56b7 call the right function in the right context 2008-06-21 02:29:03 +02:00
Lennart Poettering
d9f8b6a503 since the sink is unlinked before the sink input we need to make sure we don't call any function for unlinked sinks from any sink input callback 2008-06-21 02:28:34 +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
Lennart Poettering
1420e1d1b5 fix interpretation of remix parameter 2008-06-20 22:29:30 +02:00
Lennart Poettering
11e55fe01f add new remix= parameter to remap sink 2008-06-19 19:23:14 +02:00
Lennart Poettering
8ae83d618e get rid of svn $ keywords 2008-06-18 23:23:21 +03:00
Lennart Poettering
58487ee4e4 use pa_sink_set_latency_range() where applicable
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2458 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-05-17 09:16:00 +00:00
Lennart Poettering
045c1d602d merge glitch-free branch back into trunk
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2445 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-05-15 23:34:41 +00:00
Lennart Poettering
e313fe1b3d tag modules that may only be loaded once at most especially, and enforce that in the module loader
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2043 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-11-09 18:25:40 +00:00
Lennart Poettering
a67c21f093 merge 'lennart' branch back into trunk.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1971 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-10-28 19:13:50 +00:00