Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package callaudiod for openSUSE:Factory checked in at 2025-09-09 20:30:15 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/callaudiod (Old) and /work/SRC/openSUSE:Factory/.callaudiod.new.1977 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "callaudiod" Tue Sep 9 20:30:15 2025 rev:6 rq:1303246 version:0.1.99 Changes: -------- --- /work/SRC/openSUSE:Factory/callaudiod/callaudiod.changes 2024-11-01 21:04:57.471888142 +0100 +++ /work/SRC/openSUSE:Factory/.callaudiod.new.1977/callaudiod.changes 2025-09-09 20:30:44.562484567 +0200 @@ -1,0 +2,9 @@ +Thu Sep 04 12:19:25 UTC 2025 - Dominique Leuenberger <[email protected]> + +- Update to version 0.1.99: + * README: add deprecation notice + * libcallaudio: deprecate the library + * Do not do routing when wireplumber is in charge of it +- Add pkgconfig(appstream) BuildRequires: new dependency + +------------------------------------------------------------------- Old: ---- callaudiod-0.1.10.obscpio callaudiod-0.1.10.tar.xz New: ---- callaudiod-0.1.99.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ callaudiod.spec ++++++ --- /var/tmp/diff_new_pack.7cmDcI/_old 2025-09-09 20:30:45.238513057 +0200 +++ /var/tmp/diff_new_pack.7cmDcI/_new 2025-09-09 20:30:45.242513225 +0200 @@ -1,7 +1,7 @@ # # spec file for package callaudiod # -# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2025 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -20,18 +20,19 @@ %define apiver 0.1 Name: callaudiod -Version: 0.1.10 +Version: 0.1.99 Release: 0 Summary: Daemon for audio calls License: GPL-3.0-or-later AND MIT URL: https://gitlab.com/mobian1/callaudiod -Source0: %{name}-%{version}.tar.xz +Source0: %{name}-%{version}.tar.zst BuildRequires: c++_compiler BuildRequires: c_compiler BuildRequires: gtkdoc BuildRequires: meson BuildRequires: pkgconfig(alsa) +BuildRequires: pkgconfig(appstream) BuildRequires: pkgconfig(folks) BuildRequires: pkgconfig(glib-2.0) >= 2.50.0 BuildRequires: pkgconfig(gobject-2.0) ++++++ _service ++++++ --- /var/tmp/diff_new_pack.7cmDcI/_old 2025-09-09 20:30:45.270514405 +0200 +++ /var/tmp/diff_new_pack.7cmDcI/_new 2025-09-09 20:30:45.274514574 +0200 @@ -1,7 +1,7 @@ <services> - <service mode="disabled" name="obs_scm"> + <service mode="manual" name="obs_scm"> <param name="url">https://gitlab.com/mobian1/callaudiod.git</param> - <param name="revision">refs/tags/0.1.10</param> + <param name="revision">0.1.99</param> <param name="versionformat">@PARENT_TAG@</param> <param name="scm">git</param> <param name="changesgenerate">enable</param> @@ -9,8 +9,8 @@ <service mode="buildtime" name="tar" /> <service mode="buildtime" name="recompress"> <param name="file">*.tar</param> - <param name="compression">xz</param> + <param name="compression">zst</param> </service> - <service mode="disabled" name="set_version" /> + <service mode="manual" name="set_version" /> </services> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.7cmDcI/_old 2025-09-09 20:30:45.298515585 +0200 +++ /var/tmp/diff_new_pack.7cmDcI/_new 2025-09-09 20:30:45.302515754 +0200 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://gitlab.com/mobian1/callaudiod.git</param> - <param name="changesrevision">56831297817afb6b30062b7cee3e40225ac39cac</param></service></servicedata> + <param name="changesrevision">8d262597f41ff787359059ec6a15acd48b7433f6</param></service></servicedata> (No newline at EOF) ++++++ callaudiod-0.1.10.obscpio -> callaudiod-0.1.99.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/callaudiod-0.1.10/README.md new/callaudiod-0.1.99/README.md --- old/callaudiod-0.1.10/README.md 2024-07-02 11:38:46.000000000 +0200 +++ new/callaudiod-0.1.99/README.md 2025-09-03 17:40:37.000000000 +0200 @@ -6,6 +6,19 @@ * output audio to the speaker or back to its original port * mute the microphone +## Deprecation notice + +`callaudiod` and all its functionality is currently deprecated. Support for +switching audio profiles during phone calls is now upstream in WirePlumber. For +other functionality: + +* Use the simple pulseaudio API (`pa_context_set_source_mute_by_*`) for muting + devices. +* Add support for changing to speaker in your applications. There might be + support for it in the future in + [pipewire](https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/4868), + but that is not warrantied. + ## Dependencies `callaudiod` requires the following development libraries: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/callaudiod-0.1.10/libcallaudio/libcallaudio.h new/callaudiod-0.1.99/libcallaudio/libcallaudio.h --- old/callaudiod-0.1.10/libcallaudio/libcallaudio.h 2024-07-02 11:38:46.000000000 +0200 +++ new/callaudiod-0.1.99/libcallaudio/libcallaudio.h 2025-09-03 17:40:37.000000000 +0200 @@ -58,26 +58,38 @@ GError *error, gpointer data); +GLIB_DEPRECATED gboolean call_audio_init (GError **error); +GLIB_DEPRECATED gboolean call_audio_is_inited(void); +GLIB_DEPRECATED void call_audio_deinit (void); +GLIB_DEPRECATED gboolean call_audio_select_mode (CallAudioMode mode, GError **error); +GLIB_DEPRECATED gboolean call_audio_select_mode_async(CallAudioMode mode, CallAudioCallback cb, gpointer data); +GLIB_DEPRECATED CallAudioMode call_audio_get_audio_mode(void); +GLIB_DEPRECATED gboolean call_audio_enable_speaker (gboolean enable, GError **error); +GLIB_DEPRECATED gboolean call_audio_enable_speaker_async(gboolean enable, CallAudioCallback cb, gpointer data); +GLIB_DEPRECATED CallAudioSpeakerState call_audio_get_speaker_state(void); +GLIB_DEPRECATED gboolean call_audio_mute_mic (gboolean mute, GError **error); +GLIB_DEPRECATED gboolean call_audio_mute_mic_async(gboolean mute, CallAudioCallback cb, gpointer data); +GLIB_DEPRECATED CallAudioMicState call_audio_get_mic_state(void); G_END_DECLS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/callaudiod-0.1.10/meson.build new/callaudiod-0.1.99/meson.build --- old/callaudiod-0.1.10/meson.build 2024-07-02 11:38:46.000000000 +0200 +++ new/callaudiod-0.1.99/meson.build 2025-09-03 17:40:37.000000000 +0200 @@ -8,7 +8,7 @@ project ( 'callaudiod', 'c', - version : '0.1.9', + version : '0.1.99', license : 'LGPLv3+', meson_version : '>= 0.50.0', default_options : diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/callaudiod-0.1.10/src/cad-manager.c new/callaudiod-0.1.99/src/cad-manager.c --- old/callaudiod-0.1.10/src/cad-manager.c 2024-07-02 11:38:46.000000000 +0200 +++ new/callaudiod-0.1.99/src/cad-manager.c 2025-09-03 17:40:37.000000000 +0200 @@ -17,6 +17,8 @@ typedef struct _CadManager { CallAudioDbusCallAudioSkeleton parent; + + gboolean routing_disabled; } CadManager; static void cad_manager_call_audio_iface_init(CallAudioDbusCallAudioIface *iface); @@ -55,6 +57,7 @@ guint mode) { CadOperation *op; + CadManager *self = CAD_MANAGER(object); switch ((CallAudioMode)mode) { case CALL_AUDIO_MODE_DEFAULT: @@ -68,6 +71,11 @@ return TRUE; } + if (self->routing_disabled) { + call_audio_dbus_call_audio_complete_select_mode(object, invocation, TRUE); + return TRUE; + } + op = g_new(CadOperation, 1); op->type = CAD_OPERATION_SELECT_MODE; @@ -156,6 +164,7 @@ static void cad_manager_init(CadManager *self) { + self->routing_disabled = FALSE; } CadManager *cad_manager_get_default(void) @@ -170,3 +179,8 @@ return manager; } + +void cad_manager_disable_routing(CadManager *manager) +{ + manager->routing_disabled = TRUE; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/callaudiod-0.1.10/src/cad-manager.h new/callaudiod-0.1.99/src/cad-manager.h --- old/callaudiod-0.1.10/src/cad-manager.h 2024-07-02 11:38:46.000000000 +0200 +++ new/callaudiod-0.1.99/src/cad-manager.h 2025-09-03 17:40:37.000000000 +0200 @@ -19,5 +19,6 @@ CallAudioDbusCallAudioSkeleton); CadManager *cad_manager_get_default(void); +void cad_manager_disable_routing(CadManager *manager); G_END_DECLS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/callaudiod-0.1.10/src/cad-pulse.c new/callaudiod-0.1.99/src/cad-pulse.c --- old/callaudiod-0.1.10/src/cad-pulse.c 2024-07-02 11:38:46.000000000 +0200 +++ new/callaudiod-0.1.99/src/cad-pulse.c 2025-09-03 17:40:37.000000000 +0200 @@ -15,7 +15,9 @@ #include <pulse/pulseaudio.h> #include <pulse/glib-mainloop.h> #include <alsa/use-case.h> +#include <appstream.h> +#include <dlfcn.h> #include <string.h> #include <stdio.h> #include <stdint.h> @@ -557,6 +559,30 @@ } } +static void init_server_info(pa_context *ctx, const pa_server_info *info, void *data) +{ + CadPulse *self = data; + static void *wireplumber_dll; + + if (g_strrstr(info->server_name, "Pipewire") == NULL) + return; + + if (!wireplumber_dll) + wireplumber_dll = dlopen("libwireplumber-0.5.so.0", RTLD_LAZY|RTLD_NODELETE); + + if (wireplumber_dll) { + const char *(*wp_ver_sym)(void); + + wp_ver_sym = dlsym(wireplumber_dll, "wp_get_library_version"); + // 0.5.10 is the last release without routing support + // If the version is greater, and we're using Pipewire, assume WP + // is in charge of the routing. + if (wp_ver_sym && (as_vercmp_simple(wp_ver_sym(), "0.5.10") > 0)) { + cad_manager_disable_routing(CAD_MANAGER (self->manager)); + } + } +} + static gboolean init_pulseaudio_objects(gpointer data) { CadPulse *self = data; @@ -571,6 +597,9 @@ op = pa_context_get_module_info_list(self->ctx, init_module_info, self); if (op) pa_operation_unref(op); + op = pa_context_get_server_info(self->ctx, init_server_info, self); + if (op) + pa_operation_unref(op); return G_SOURCE_REMOVE; } @@ -724,10 +753,8 @@ GObjectClass *parent_class = g_type_class_peek(G_TYPE_OBJECT); CadPulse *self = CAD_PULSE(object); - if (self->speaker_port) - g_free(self->speaker_port); - if (self->earpiece_port) - g_free(self->earpiece_port); + g_clear_pointer(&self->speaker_port, g_free); + g_clear_pointer(&self->earpiece_port, g_free); pulseaudio_cleanup(self); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/callaudiod-0.1.10/src/meson.build new/callaudiod-0.1.99/src/meson.build --- old/callaudiod-0.1.10/src/meson.build 2024-07-02 11:38:46.000000000 +0200 +++ new/callaudiod-0.1.99/src/meson.build 2025-09-03 17:40:37.000000000 +0200 @@ -7,6 +7,7 @@ cad_deps = [ dependency('alsa'), + dependency('appstream'), dependency('gobject-2.0'), dependency('gio-unix-2.0'), dependency('libpulse'), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/callaudiod-0.1.10/tools/callaudiocli.c new/callaudiod-0.1.99/tools/callaudiocli.c --- old/callaudiod-0.1.10/tools/callaudiocli.c 2024-07-02 11:38:46.000000000 +0200 +++ new/callaudiod-0.1.99/tools/callaudiocli.c 2025-09-03 17:40:37.000000000 +0200 @@ -10,6 +10,7 @@ #include <glib.h> +G_GNUC_BEGIN_IGNORE_DEPRECATIONS int main (int argc, char *argv[0]) { g_autoptr(GOptionContext) opt_context = NULL; @@ -78,3 +79,4 @@ call_audio_deinit (); return 0; } +G_GNUC_END_IGNORE_DEPRECATIONS ++++++ callaudiod.obsinfo ++++++ --- /var/tmp/diff_new_pack.7cmDcI/_old 2025-09-09 20:30:45.426520980 +0200 +++ /var/tmp/diff_new_pack.7cmDcI/_new 2025-09-09 20:30:45.430521149 +0200 @@ -1,5 +1,5 @@ name: callaudiod -version: 0.1.10 -mtime: 1719913126 -commit: 56831297817afb6b30062b7cee3e40225ac39cac +version: 0.1.99 +mtime: 1756914037 +commit: 8d262597f41ff787359059ec6a15acd48b7433f6
