Commit graph

105 commits

Author SHA1 Message Date
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
Tanu Kaskinen
22a8c4485b dbus: Stop polling every 10 seconds to check whether all clients are still alive.
Instead, watch for org.freedesktop.DBus.Disconnected signals.
2010-05-10 14:34:55 +03:00
Tanu Kaskinen
ad7c8ebff5 dbus: Initialize properly the type field of new server structs. 2010-05-10 14:09:51 +03:00
Tanu Kaskinen
a976db7c49 dbus: Make it possible to allow remote connections from outside localhost. 2010-05-10 14:08:55 +03:00
Colin Guthrie
118466638a Merge remote branch 'tanuk/master' 2009-11-30 14:55:57 +00: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
ce033e7f3a dbusiface-client: Fix the destructor (stop leaking stuff). 2009-10-09 19:44:37 +03:00
Tanu Kaskinen
587131917f dbus-protocol: Implement argument type checking for normal methods. 2009-08-31 18:12:55 +03:00
Tanu Kaskinen
8a28e5de94 dbus: Change IsMuted property names to Mute. 2009-08-31 17:17:09 +03: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
219f7508f6 dbus: Finish the Client D-Bus interface. 2009-08-26 14:20:26 +03:00
Tanu Kaskinen
11fcc8c85f dbusiface-stream: Only send stream event signals from the right D-Bus objects. 2009-08-26 14:19:11 +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
3e0e685a8c dbus: Save one level of identation by returning early. 2009-08-26 14:12:42 +03:00
Tanu Kaskinen
3025645b0b dbusiface-module: Implement the Module D-Bus interface. 2009-08-24 14:27:14 +03:00
Tanu Kaskinen
179f849c08 dbusifaca-device: Adapt to the changed pa_sink_get/set_volume() interface. 2009-08-19 09:54:09 +03:00
Tanu Kaskinen
b4e0d5d1e1 dbusiface-sample: Implement the Sample D-Bus interface. 2009-08-19 09:18:50 +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
36dc61a2bf dbusiface-stream: Finish the Stream D-Bus interface. 2009-08-17 16:56:12 +03:00
Tanu Kaskinen
70ff96b8ab dbusiface-device: Save one level of identation by returning early. 2009-08-17 16:55:08 +03:00
Tanu Kaskinen
b528715179 dbusiface-device: Fix argument reading in handle_suspend(). 2009-08-17 16:53:58 +03:00
Tanu Kaskinen
bce6af18a3 dbusiface-device: Use a single if-else section instead of ternary operator overuse. 2009-08-17 16:52:10 +03:00
Tanu Kaskinen
150cd1684a dbusiface-device: Split some overly long lines. 2009-08-17 16:50:29 +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
2bb3eef414 dbusiface-stream: Implement about a half of the Stream D-Bus interface. 2009-08-16 19:42:56 +03:00
Tanu Kaskinen
f0db081223 dbusiface-device: Free the copied proplist. 2009-08-16 19:41:43 +03:00
Tanu Kaskinen
a72bba18ea dbusiface-client: Fix indentation. 2009-08-16 19:39:39 +03:00
Tanu Kaskinen
c7f4ed3c7a dbusiface-client: Fix the interface name. 2009-08-15 17:08:21 +03:00
Tanu Kaskinen
9ed25d7388 dbusiface-client: Implement the properties of the Client D-Bus interface.
Based on a patch from Vincent Filali-Ansary.
2009-08-15 16:55:29 +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
91f626f777 dbusiface-device: Implement the Device and DevicePort D-Bus interfaces. 2009-08-15 06:18:41 +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
90c73db449 dbusiface-card: Fix the OwnerModule property type in handle_get_all(). 2009-08-15 06:09:35 +03:00
Tanu Kaskinen
31c544d843 dbusiface-card: Assert that the profiles list is empty if there's no active
profile.
2009-08-15 06:00:46 +03:00
Tanu Kaskinen
18f9f1b5d1 dbusiface-card: Use the ++ operator like it's meant to be used. 2009-08-15 05:58:24 +03:00
Tanu Kaskinen
afb79ee83e dbusiface-card-profile: Assert the core argument isn't NULL. 2009-08-15 05:53:36 +03:00
Tanu Kaskinen
8b5550dba3 dbusiface-card: Split some overly long lines. 2009-08-15 05:51:55 +03:00
Tanu Kaskinen
8c8df77d2a dbusiface-card-profile: Implement the CardProfile D-Bus interface. 2009-08-09 10:36:20 +03:00
Tanu Kaskinen
acad506328 dbusiface-card: Implement the Card D-Bus interface. 2009-08-09 09:21:42 +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