Commit graph

52 commits

Author SHA1 Message Date
Tanu Kaskinen
666261ece8 memblockq: Improve debuggability by storing a name and a sample spec.
These are not used for anything at this point, but this
makes it easy to add ad-hoc debug prints that show the
memblockq name and to convert between bytes and usecs.
2011-10-01 13:25:16 +01:00
Maarten Bosmans
c5dca7cf2b More spelling fixes 2011-08-25 11:27:47 +01:00
Maarten Bosmans
b4e938e194 Move i18n.[ch] to src/pulsecore
The header is used in files troughout the tree and is not included in the public api,
so it belongs in pulsecore, not in pulse.
2011-08-11 13:23:42 +02:00
Colin Guthrie
6c6b50d6a8 alsa: Reinitialise the mixer on port change.
This allows us to flip from software to hardware volume control as the port's
mixer path dictates.
2011-07-20 22:23:10 +01:00
Colin Guthrie
a9cf320bc1 devices: Set certain sink/source flags automatically.
Some sink flags are really just a product of what callbacks
are set on the device. We still enforce a degree of sanity
that the flags match the callbacks set, but we also set the
flags automatically in our callback setter functions to
help ensure that a) people use them and b) flags & callbacks
are kept in sync.
2011-07-20 22:20:37 +01:00
Colin Guthrie
ded07a5898 devices: Use wrapper functions to set the *_volume and *_mute callbacks.
This is not currently useful but future commits will make further
changes concerning automatic setting of flags and event delivery
that makes this structure necessary.
2011-07-19 19:50:43 +01:00
Maarten Bosmans
dd9265ac78 Remove unnecessary #includes 2011-06-22 23:12:20 +01:00
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
Kim Therkelsen
6bd32ee2d9 Support for multichannel DSP processing in module-ladspa-sink 2011-02-25 09:55:31 +00:00
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
5030852c8e virtual: minor simplifications for the virtual sink 2010-02-25 00:39:56 +01:00
Lennart Poettering
345547853b core: make sure we always return a valid memblock in sink_input_pop() callbacks
https://bugzilla.redhat.com/show_bug.cgi?id=553607
2010-02-09 22:29:38 +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
a562978509 ladspa: forward volume changes from ladspa sink to stream and hence via flat volume logic to master sink 2009-08-21 02:59:26 +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
a5b2dee03c ladspa: name sink after human readable plugin name, not the id string 2009-08-15 01:02:16 +02:00
Lennart Poettering
763866280a module-ladspa: allow moving of sink, forward fixed latency 2009-08-15 01:01:52 +02:00
Lennart Poettering
c44f518eb9 ladspa: move LADSPA_Data size check to compile time 2009-08-15 00:58:19 +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
31575f7766 alsa: rework mixer logic
Completely rework mixer logic. This now allows controlling a full set of
elements from a single sink's volume slider/mute button.

This also introduces sink and source "ports" that can be used to choose
different input or output ports with the UI. (i.e. "mic"/"line-in" or
"speaker"/"headphones".

The mixer paths and device maps are now configered in external
configuration files and can be tweaked as necessary.
2009-06-17 03:45:14 +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
373b5efe51 properly account for seeks in the requested_bytes counter 2009-04-01 23:05:09 +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
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
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
8ae83d618e get rid of svn $ keywords 2008-06-18 23:23:21 +03:00
Lennart Poettering
67fde59fed replace pa_atof() by pa_atod() because floats are lame
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2506 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-06-11 00:37:41 +00:00
Lennart Poettering
c4f60d5960 never hand out more data from a sink input than requested. Otherwise the resampler might run for too long and we get a heavy delay/underrun
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2490 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-05-27 22:08:42 +00: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
1908e82bea remove a redundant if check
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2152 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-03-27 23:21:16 +00:00
Tanu Kaskinen
1e74aa977e Add a missing pa_xfree.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2094 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-01-03 22:27:58 +00:00
Tanu Kaskinen
4e771768e3 The previous commit introduced a new bug: giving too many values in the "control" argument wasn't detected any more. Fixed.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2093 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-01-03 21:53:46 +00:00
Tanu Kaskinen
39ba68bcf4 Fix the parsing of trailing default values in the "control" module argument.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2092 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-01-03 21:07:11 +00:00
Tanu Kaskinen
dccf411469 Downgraded the priority of a message, because it's really quite uninteresting.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2091 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-01-02 13:08:52 +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