summaryrefslogtreecommitdiffstats
path: root/src/pulsecore/source.h
Commit message (Collapse)AuthorAgeFilesLines
* Remove unnecessary #includesMaarten Bosmans2011-06-221-2/+2
|
* capture: Implement per-stream volume control for capture streams.Colin Guthrie2011-06-221-3/+47
| | | | | | | This piggy backs onto the previous changes for protocol 22 and thus does not bump the version. This and the previous commits should be seen as mostly atomic. Apologies for any bisecting issues this causes (although I would expect these to be minimal)
* capture: Add the passthrough format negotiation to capture streams.Colin Guthrie2011-06-221-6/+18
| | | | | This helps to keep the API more symmetrical and also potentially allows support for passthrough monitor sources at some point in the future.
* Fix up according to Coding StyleMaarten Bosmans2011-03-111-1/+1
| | | | Only whitespace changes in here
* core: Link virtual sinks and sources to their streams.Tanu Kaskinen2011-02-221-0/+1
| | | | | | | | | | | | | | | 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.
* core: add priority field to pa_sink/pa_sourceLennart Poettering2009-08-281-0/+2
|
* object: speed up type verification by not relying on strcmp()Lennart Poettering2009-08-211-1/+1
| | | | | | | | | | | | | 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.
* source: rework volume handlingLennart Poettering2009-08-191-1/+1
| | | | | | | | | | | | | - drop the 'virtual_' prefix from s->virtual_volume since we don't distuingish between reference and real volumes for sources - introduce an accuracy for source volumes: if the hardware can control the volume "close enough" don't necessarily adjust the rest in software unless it is beyond a certain threshold. This should save a little bit of CPU at the expensive of a bit of accuracy in volume handling. - other minor cleanups
* core: introduce pa_{sink|source}_update_flags()Lennart Poettering2009-08-151-0/+2
|
* core: make fixed latency dynamically changeableLennart Poettering2009-08-151-4/+10
| | | | | | | | | | | | | 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.
* core: move rtpoll to thread_info sub structureLennart Poettering2009-08-151-1/+2
|
* core: add assert macros for verifying calling contextLennart Poettering2009-08-131-0/+4
| | | | | | | 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)
* core: save volume/mute changes coming from the hardware automaticallyLennart Poettering2009-08-071-2/+2
| | | | | Volume changes coming from the lower layers are most likely changes triggered by the user, so let's save them automatically.
* alsa: rework mixer logicLennart Poettering2009-06-171-5/+27
| | | | | | | | | | | | 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.
* core: add a suspend cause flags fieldLennart Poettering2009-06-051-2/+3
|
* core: introduce pa_{sink,source}_set_fixed_latency()Lennart Poettering2009-05-081-0/+1
| | | | | This allows us to forward the fixed latency directly from the sink to the monitor source withut having to wait for pa_sink_put().
* core: add a seperate fixed_latency field for sinks/sources with fixed latencyLennart Poettering2009-04-101-0/+2
|
* introduce pa_{sink|source}_get_latency_within_thread()Lennart Poettering2009-04-051-0/+1
|
* make pa_source_set_max_rewind() work similar to pa_sink_set_max_rewind()Lennart Poettering2009-03-251-1/+3
|
* simplify latency range by not allowing stored 'wildcard' ranges anymoreLennart Poettering2009-03-241-1/+1
|
* add functions that modules can call whenever they now the volume changedLennart Poettering2009-03-211-0/+2
|
* make suspend state of monitor source follow the suspend state of the sink it ↵Lennart Poettering2009-03-041-0/+2
| | | | belongs to
* Use LGPL 2.1 on all files previously using LGPL 2Colin Guthrie2009-03-031-1/+1
|
* when changing volume, store whether it is worth remembering or noLennart Poettering2009-01-271-1/+1
|
* move flat volume logic into the core. while doing so add n_volume_steps ↵Lennart Poettering2009-01-271-12/+15
| | | | field to sinks/sources
* add functions to move all inputs of a sink away/similar for source outputsLennart Poettering2009-01-231-0/+6
|
* pulse: share private enum values with client sideMarc-André Lureau2009-01-201-9/+0
|
* pulse: introspect sink stateMarc-André Lureau2009-01-201-11/+9
|
* add new pa_card object as a way to logically combine multiple sinks and sourcesLennart Poettering2009-01-151-0/+3
|
* core: add pa_source_update_proplistMarc-André Lureau2009-01-131-0/+2
|
* Add "base volume" field to sinks/sourcesLennart Poettering2008-12-241-0/+2
|
* Implement new flags DONT_INHIBIT_AUTO_SUSPEND and START_UNMUTEDLennart Poettering2008-10-261-0/+1
|
* save a bit of memoryLennart Poettering2008-08-181-7/+8
|
* rework volume/mute APIs: split out pa_xx_set_soft_volume() and add ↵Lennart Poettering2008-08-131-2/+3
| | | | force_refresh argument to read functions
* Rework module-combine to work with glitch-free core; add new max_request ↵Lennart Poettering2008-06-201-10/+43
| | | | field to pa_sink
* get rid of svn $ keywordsLennart Poettering2008-06-181-2/+0
|
* fix a bad memory access pulsecore/client.cLennart Poettering2008-06-131-1/+3
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2527 fefdeb5f-60dc-0310-8127-8f9354f1896f
* add new function pa_source_set_latency_range(), fix type of requested_latencyLennart Poettering2008-05-171-1/+3
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2456 fefdeb5f-60dc-0310-8127-8f9354f1896f
* merge glitch-free branch back into trunkLennart Poettering2008-05-151-17/+60
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2445 fefdeb5f-60dc-0310-8127-8f9354f1896f
* merge 'lennart' branch back into trunk.Lennart Poettering2007-10-281-36/+104
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1971 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Add copyright notices to all relevant files. (based on svn log)Pierre Ossman2007-02-131-0/+3
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1426 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Huge trailing whitespace cleanup. Let's keep the tree pure from here on,Pierre Ossman2007-01-041-8/+8
| | | | | | | mmmkay? git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1418 fefdeb5f-60dc-0310-8127-8f9354f1896f
* add pa_sink_used_by()/pa_source_used_by()Lennart Poettering2006-08-121-1/+1
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1226 fefdeb5f-60dc-0310-8127-8f9354f1896f
* comment which values in pa_{sink,source,sink_input,source_output} structures ↵Lennart Poettering2006-08-111-9/+11
| | | | | | may be NULL git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1204 fefdeb5f-60dc-0310-8127-8f9354f1896f
* * introduce new functions pa_sink_set_description() and ↵Lennart Poettering2006-08-111-0/+3
| | | | | | | | | pa_source_set_description() for changing the description of a sink/source * allow sinks without monitor sources attached git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1203 fefdeb5f-60dc-0310-8127-8f9354f1896f
* add a new boolean variable is_hardware to pa_sink/pa_source to denote wether ↵Lennart Poettering2006-07-161-0/+2
| | | | | | the specific device is a hardware device or virtual/software git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1090 fefdeb5f-60dc-0310-8127-8f9354f1896f
* big s/polyp/pulse/gLennart Poettering2006-06-191-0/+101
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1033 fefdeb5f-60dc-0310-8127-8f9354f1896f