summaryrefslogtreecommitdiff
path: root/src/modules/module-ladspa-sink.c
AgeCommit message (Collapse)AuthorFilesLines
2017-04-13ladspa-sink: Add sink_master argument to enable filter-apply to load the moduleKimjeongYeon1-5/+34
Currently, module-filter-apply cannot load module-ladspa-sink because filter-apply provides the argument "sink_master" but ladspa-sink expects "master" instead. Therefore this patch adds the sink_master argument to module-ladspa-sink. Additionally, the autoloaded argument was also added.
2017-03-29sink-input/source-output: Don't crash when cork() is called without valid ↵Georg Chini1-1/+1
sink or source If pa_sink_input_cork() or pa_source_output_cork() were called without a sink or source attached, the calls would crash pulseaudio. This patch fixes the problem, so that a source output or sink input can still be corked or uncorked while source or sink are invalid. This is needed to correct the corking logic in module-loopback.
2016-08-15modules: Use pa_assert_se() to check return value of ↵Peter Meerwald-Stadler1-1/+1
dbus_message_iter_close_container() CID 1140353 ... as it is done everythere else
2016-06-22ladspa-sink: avoid to configure invalid formatKimJeongYeon1-0/+5
LADSPA allows float format only, but module-ladspa-sink possibly could be loaded with ***any*** 'format' parameter. Therefore noisy sound heard. This patch avoids to be configured as invalid format. Signed-off-by: KimJeongYeon <jeongyeon.kim@samsung.com> Signed-off-by: Arun Raghavan <arun@arunraghavan.net>
2015-01-14update FSF addresses to FSF web pageOndrej Holecek1-3/+1
FSF addresses used in PA sources are no longer valid and rpmlint generates numerous warnings during packaging because of this. This patch changes all FSF addresses to FSF web page according to the GPL how-to: https://www.gnu.org/licenses/gpl-howto.en.html Done automatically by sed-ing through sources.
2014-01-15Revert "ladspa-sink: Handle empty chunks in sink_input_pop_cb"Tanu Kaskinen1-13/+6
This reverts commit dbe66b0b5e6b6e24df45bda8bf656836f18e7f4b. I accidentally pushed this patch that was superseded by e96785c1c34706e902f28c25844f31d8201db2b2.
2014-01-15ladspa-sink: Set a silence memchunk for the memblockqBen Brewer1-1/+5
A crash was observed that was caused by pa_memblockq_peek() returning a NULL memblock in sink_input_pop_cb(). The scenario where this was happening was 1. Delete 2 rtp-recv's connected to a ladspa-sink 2. Delete ladspa-sink 3. Delete alsa-sink 4. Create alsa-sink 5. Create ladspa-sink 6. Create 2 rtp-recv's connected to the ladspa-sink The crash was probably caused by a rewind that made the read index go negative while the write index was at least zero, causing there to be a gap in the memblockq. The problematic rewind might have been caused by adding the rtp-recv stream to the ladspa-sink. That has not been proven, but this looks very similar to the bug that was fixed in module-virtual-sink in commit 6bd34156b130c07b130de10111a12ef6dab18b52.
2014-01-15ladspa-sink: Handle empty chunks in sink_input_pop_cbBen Brewer1-6/+13
2013-07-04Remove pa_bool_t and replace it with bool.poljar (Damir Jelić)1-20/+20
commands used for this (executed from the pulseaudio/src directory): find . -regex '\(.*\.[hc]\|.*\.cc\|.*\.m4\)' -not -name 'macro.h' \ -a -not -name 'reserve.[ch]' -a -not -name 'reserve-monitor.[ch]' \ -a -not -name 'glib-mainloop.c' -a -not -name 'gkt-test.c' \ -a -not -name 'glib-mainloop.c' -a -not -name 'gkt-test.c' \ -a -not -name 'poll-win32.c' -a -not -name 'thread-win32.c' \ -a -not -name 'dllmain.c' -a -not -name 'gconf-helper.c' \ -exec sed -i -e 's/\bpa_bool_t\b/bool/g' \ -e 's/\bTRUE\b/true/g' -e 's/\bFALSE\b/false/g' {} \; and: sed -i -e '181,194!s/\bpa_bool_t\b/bool/' \ -e '181,194!s/\bTRUE\b/true/' -e \ '181,194!s/\bFALSE\b/false/' pulsecore/macro.h
2013-06-24Whitespace cleanup: Remove all multiple newlinespoljar (Damir Jelić)1-2/+0
This patch removes all occurrences of double and triple newlines. Command used for this: find . -type d \( -name ffmpeg \) -prune -o \ -regex '\(.*\.[hc]\|.*\.cc\)' \ -a -not -name 'adrian-aec.*' -a -not \ -name reserve.c -a -not -name 'rtkit.*' \ -exec sed -i -e '/^$/{N;s/^\n$//}' {} \; Two passes were needed to remove triple newlines. The excluded files are mirrored files from external sources.
2013-03-13ladspa: Use volume sharing.Tanu Kaskinen1-28/+1
The previous volume handling could cause ear damage: by default the ladspa sink volume was 100%, and with flat volumes that would cause the master sink volume to jump to 100% too.
2013-03-06modules: Remove obsolete may_move_to callbacksStefan Huber1-11/+0
Some modules have source_output_may_move_to_cb() and sink_input_may_move_to_cb() implemented that duplicate the default behavior. Remove them.
2013-02-14build-sys: Properly check for HAVE_DBUS in module-ladspa-sinkPeter Meerwald1-2/+2
prevents CC module_ladspa_sink_la-module-ladspa-sink.lo modules/module-ladspa-sink.c:1332:5: warning: "HAVE_DBUS" is not defined modules/module-ladspa-sink.c:1370:5: warning: "HAVE_DBUS" is not defined in case HAVE_DBUS is not available Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
2013-01-27ladspa: Fix a couple of minor memory leaks.Tanu Kaskinen1-1/+2
2012-08-22memblock: Add pa_memblock_acquire_chunk().Tanu Kaskinen1-2/+2
Besides making the code a bit cleaner, this also gets rid of a few "cast increases required alignment of target type" warnings.
2012-08-19Add comments referring to bug #53709.Tanu Kaskinen1-0/+5
2012-06-28ladspa: D-Bus interface for setting algorithm parameters on-the-fly.Ismo Puustinen1-144/+533
A new external D-Bus interface is registered and LADSPA algorithm control parameters are exposed as a D-Bus property with setter and getter support.
2012-06-09modules: Use pa_streq instead of strcmp.Arti Trivedi Bora1-3/+3
2011-10-01memblockq: Improve debuggability by storing a name and a sample spec.Tanu Kaskinen1-1/+1
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-08-25More spelling fixesMaarten Bosmans1-1/+1
2011-08-11Move i18n.[ch] to src/pulsecoreMaarten Bosmans1-1/+1
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-07-20alsa: Reinitialise the mixer on port change.Colin Guthrie1-1/+1
This allows us to flip from software to hardware volume control as the port's mixer path dictates.
2011-07-20devices: Set certain sink/source flags automatically.Colin Guthrie1-1/+1
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-19devices: Use wrapper functions to set the *_volume and *_mute callbacks.Colin Guthrie1-2/+2
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-06-22Remove unnecessary #includesMaarten Bosmans1-3/+2
2011-05-02core: Add extended stream API to support compressed formatsArun Raghavan1-1/+1
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-02-25Support for multichannel DSP processing in module-ladspa-sinkKim Therkelsen1-147/+237
2011-02-22core: Link virtual sinks and sources to their streams.Tanu Kaskinen1-0/+3
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.
2010-02-25virtual: minor simplifications for the virtual sinkLennart Poettering1-2/+3
2010-02-09core: make sure we always return a valid memblock in sink_input_pop() callbacksLennart Poettering1-1/+5
https://bugzilla.redhat.com/show_bug.cgi?id=553607
2009-09-01ladspa,remap: make description of sink follow movesLennart Poettering1-3/+22
2009-08-28core: move 'flags' field into 'pa_sink_input_new_data' structure so that ↵Lennart Poettering1-1/+1
hooks can access it
2009-08-22ladspa/remap: handle failing stream moves properlyLennart Poettering1-2/+5
2009-08-21ladspa: forward volume changes from ladspa sink to stream and hence via flat ↵Lennart Poettering1-9/+63
volume logic to master sink
2009-08-15ladspa/remap: sync latency flags from master sink when moving between sinksLennart Poettering1-0/+1
2009-08-15ladspa: name sink after human readable plugin name, not the id stringLennart Poettering1-2/+1
2009-08-15module-ladspa: allow moving of sink, forward fixed latencyLennart Poettering1-58/+78
2009-08-15ladspa: move LADSPA_Data size check to compile timeLennart Poettering1-1/+1
2009-08-07ladspa/remap: make sure we process all requested rewinds unconditionallyLennart Poettering1-0/+3
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-06-17alsa: rework mixer logicLennart Poettering1-11/+12
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-05-28modules: add {sink|source|card}_properties argument to all modulesLennart Poettering1-2/+10
2009-04-01properly account for seeks in the requested_bytes counterLennart Poettering1-1/+1
2009-03-25introduce new flag that marks sinks/sources which can adjust the latency ↵Lennart Poettering1-1/+1
dynamically
2009-03-24set request/rewind sizes only via accessor functionsLennart Poettering1-2/+2
2009-03-24simplify latency range by not allowing stored 'wildcard' ranges anymoreLennart Poettering1-2/+2
2009-03-03Use LGPL 2.1 on all files previously using LGPL 2Colin Guthrie1-1/+1
2009-02-03make a couple of functions return proper error codesLennart Poettering1-1/+1
2009-01-15rework module usage counter stuff to be pull basedLennart Poettering1-0/+9
2009-01-15kill autoload stuff as plannedLennart Poettering1-1/+1
2009-01-15add new dont_rewind_render flag to allow quick starts of newly created streamsLennart Poettering1-2/+2