Commit graph

36 commits

Author SHA1 Message Date
poljar (Damir Jelić)
b358aea89b Revert dbus_bool_t variables to use TRUE/FALSE instead of true/false 2013-07-04 12:25:47 +03:00
poljar (Damir Jelić)
d806b19714 Remove pa_bool_t and replace it with bool.
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-07-04 12:25:30 +03:00
poljar (Damir Jelić)
5e11ea06ef Whitespace cleanup: Fix broken indentation by hand
This patch fixes wrong indentation introduced by the last patch.

This was mostly done with vim-s retab feature.
2013-06-24 16:56:24 +03:00
poljar (Damir Jelić)
aab63a3499 Whitespace cleanup: Remove tabs
This patch removes all tabs hidden inside the source tree and replaces
them with 4 spaces.

Command used for this:
    find . -type d \( -name bluetooth \) -prune -o
    -regex '\(.*\.[hc]\|.*\.cc\)' -a -not -name 'reserve*.[ch]'
    -a -not -name 'gnt*.h' -a -not -name 'adrian*'
    -exec sed -i -e 's/\t/    /g' {} \;

The excluded files are mirrored files from external sources containing
tabs.
2013-06-24 16:56:24 +03:00
Tanu Kaskinen
8872c238ba hashmap: Use pa_free_cb_t instead of pa_free2_cb_t
The previous patch removed module-gconf's dependency on the userdata
pointer of the free callback, and that was the only place where the
userdata pointer of pa_free2_cb_t was used, so now there's no need for
pa_free2_cb_t in pa_hashmap_free(). Using pa_free_cb_t instead allows
removing a significant amount of repetitive code.
2013-02-16 01:12:21 +02:00
Tanu Kaskinen
9d640e4491 dbus: Add an assertion to get rid of a warning from Coverity.
Coverity thinks that sample can be NULL when it's
dereferenced after this line. Adding an assertion doesn't
hurt here (in my opinion), and that should get rid of the
warning.
2012-03-28 17:33:29 +03:00
Pierre-Louis Bossart
5bcfd2b630 core: infrastructure for alternate sampling rate
New parameter to avoid resampling. BIG power savings here...

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
2011-10-17 19:23:26 +05:30
Maarten Bosmans
55fdb0162c Remove extra ; s where they are not allowed in strict C99 2011-08-25 18:21:49 +05:30
Maarten Bosmans
a1ce2426d8 Avoid read from freed memory
The order of freeing the hashmaps is important here, because otherwise a string used as key is freed before the hashmap
is freed.

Valgrind reports this as:
 Invalid read of size 1
    at 0x4107042: pa_idxset_string_hash_func (idxset.c:67)
    by 0x4106026: remove_entry (hashmap.c:93)
    by 0x41061BF: pa_hashmap_free (hashmap.c:110)
    by 0x71DD143: pa_dbusiface_core_free (iface-core.c:2105)
    by 0x71F2169: module_dbus_protocol_LTX_pa__done (module-dbus-protocol.c:595)
    by 0x406DC51: pa_module_free (module.c:162)
    by 0x406E01D: pa_module_unload_all (module.c:210)
    by 0x4068842: core_free (core.c:169)
    by 0x406FD5D: pa_object_unref (object.c:64)
    by 0x805224D: pa_core_unref (core.h:184)
    by 0x805560B: main (main.c:1159)
  Address 0x4d099c0 is 0 bytes inside a block of size 100 free'd
    at 0x4025BF0: free (vg_replace_malloc.c:366)
    by 0x40F128C: pa_xfree (xmalloc.c:131)
    by 0x71E4CEB: pa_dbusiface_device_free (iface-device.c:1293)
    by 0x71DCD7E: free_device_cb (iface-core.c:2062)
    by 0x41061D7: pa_hashmap_free (hashmap.c:113)
    by 0x71DD125: pa_dbusiface_core_free (iface-core.c:2104)
    by 0x71F2169: module_dbus_protocol_LTX_pa__done (module-dbus-protocol.c:595)
    by 0x406DC51: pa_module_free (module.c:162)
    by 0x406E01D: pa_module_unload_all (module.c:210)
    by 0x4068842: core_free (core.c:169)
    by 0x406FD5D: pa_object_unref (object.c:64)
    by 0x805224D: pa_core_unref (core.h:184)
2011-08-15 09:41:56 +01:00
Colin Guthrie
1e381fbffc dbus: Do not refcnt the core.
We should not call pa_core_ref() anywhere in the code. Doing so
will prevent proper daemon shutdown as the only call (in daemon/main.c)
to pa_core_unref() should always call free_core() and perform a normal
shutdown (i.e. unload all modules gracefully).
2011-03-25 23:43:26 +00:00
Arun Raghavan
1d2ef7923d volume: Use a macro to check if a volume is valid
This adds a PA_VOLUME_IS_VALID() macro for checking if a given
pa_volume_t is valid. This makes changes to the volume ranges simpler
(just change PA_VOLUME_MAX, for example, without needing to modify any
other code).
2010-10-15 01:10:00 +05:30
Tanu Kaskinen
021aa306aa dbusiface-core: Track sinks and sources using synchronous hooks instead of asynchronous subscription events.
Using the subscription events caused an assertion crash sometimes when a sink
was removed and a new sink was created (i.e. card profile change) and a stream
was moved from the removed sink to the new sink. The stream dbus object's
subscription callback got a change event before the core dbus object's
subscription callback got the sink remove/creation events. The stream's
subscription callback then queried the core for the object path of the new
sink, and since the core was not yet aware of the new sink, an assertion was
hit in pa_dbusiface_device_get_path().

Now that the core uses synchronous hooks to keep the sink and source lists up
to date, this particular problem can't occur anymore.
2010-08-10 15:19:50 +03:00
Diego Elio 'Flameeyes' Pettenò
d963998676 Rename all the signal parameters and variables to something more explicit.
Without this change, on FreeBSD you'll be bothered by tons of warnings
about overshadowing signal(2).
2009-11-21 00:46:46 +01:00
Tanu Kaskinen
411feaed15 dbusiface-core: Add signals FallbackSinkUnset and FallbackSourceUnset. 2009-08-31 09:14:50 +03:00
Tanu Kaskinen
0e096632c5 dbus: Do message argument type checking early, centrally. 2009-08-30 19:52:22 +03:00
Tanu Kaskinen
edf80104e3 dbus: Make sure that subscription callbacks don't try to access removed objects. 2009-08-26 14:17:35 +03:00
Tanu Kaskinen
3025645b0b dbusiface-module: Implement the Module D-Bus interface. 2009-08-24 14:27:14 +03:00
Tanu Kaskinen
3de210b671 dbusiface-core: Assert that _add/remove_interface calls succeed. 2009-08-19 09:13:59 +03:00
Tanu Kaskinen
636dbc31f9 dbusiface-core: Use the PA_IDXSET_FOREACH macro. 2009-08-19 09:10:38 +03:00
Tanu Kaskinen
8e6664f499 dbusiface-core: Split some overly long lines. 2009-08-19 09:09:40 +03:00
Tanu Kaskinen
efec274b6d dbusiface-core: Two new functions: pa_dbusiface_core_get_sink/source(). 2009-08-17 16:42:58 +03:00
Tanu Kaskinen
a10e8360d7 dbusiface-core: New function: pa_dbusiface_core_get_client_path(). 2009-08-17 16:42:06 +03:00
Tanu Kaskinen
f663d13acd dbusiface-core: Two new functions: pa_dbusiface_core_get_playback/record_stream_path(). 2009-08-15 16:54:11 +03:00
Tanu Kaskinen
1e65d8d35b dbusiface-core: New function: pa_dbusiface_core_get_card_path(). 2009-08-15 06:11:38 +03:00
Tanu Kaskinen
5ece8e8833 dbusiface-core: Add functions for getting various object paths. 2009-08-09 09:10:05 +03:00
Tanu Kaskinen
0b6662023b dbusiface-core: Generate more informative error messages. 2009-08-09 09:06:21 +03:00
Tanu Kaskinen
06232e2965 dbus: Take advantage of the PA_HASHMAP_FOREACH macro. 2009-08-09 09:04:15 +03:00
Tanu Kaskinen
fcf68752e6 dbus: Three entangled changes:
* Make the dbus object constructors take a pa_dbusiface_core pointer
   as an argument. Remove the path_prefix argument.

 * Expose the core object path as a constant in protocol-dbus.h.

 * Move the core interface name constant from iface-core.h to
   protocol-dbus.h.
2009-08-09 08:37:33 +03:00
Tanu Kaskinen
44770c59e9 dbusiface-memstats: Implement the Memstats D-Bus interface. 2009-08-04 18:01:26 +03:00
Tanu Kaskinen
b1578e27b6 dbus-protocol, dbusiface-core: Take a reference when storing the core pointer. 2009-08-04 17:55:10 +03:00
Tanu Kaskinen
8966c61d33 dbusiface-core: Make the interface string a public constant. 2009-08-04 17:50:18 +03:00
Tanu Kaskinen
a1ba80bc4e dbusiface-core: Don't die if we get a default sink/source change event before the new default device is actually created. 2009-08-01 08:26:51 +03:00
Tanu Kaskinen
68cb63c0d9 dbusiface-core: Send signals whenever extensions are registered and unregistered. 2009-07-31 12:06:53 +03:00
Tanu Kaskinen
b061957e57 dbus/iface-core.c: Make sure D-Bus objects are created only once. 2009-07-30 13:11:32 +03:00
Tanu Kaskinen
018810ec9a Bug fixing and minor cleanups. 2009-07-27 20:01:39 +03:00
Tanu Kaskinen
9a77d2f81d Add the forgotten src/modules/dbus directory to git. 2009-07-21 00:04:52 +03:00