From 4d46cdb0295a35e50f49ded7d8716fac94da7079 Mon Sep 17 00:00:00 2001 From: Kevin Bataille Date: Sun, 8 Feb 2026 14:45:29 +0100 Subject: [PATCH] Bundle fallback ringback and busy tone audio files Most desktop Linux sound themes lack telephony events like phone-outgoing-calling and phone-outgoing-busy, causing gsound playback to fail silently. Bundle OGG Vorbis fallback files and pass GSOUND_ATTR_MEDIA_FILENAME alongside GSOUND_ATTR_EVENT_ID so libcanberra falls back to the bundled audio when the theme event is not found. --- data/meson.build | 7 +++++++ data/sounds/phone-outgoing-busy.oga | Bin 0 -> 8103 bytes data/sounds/phone-outgoing-calling.oga | Bin 0 -> 34216 bytes meson.build | 2 ++ src/calls-media-playback.c | 22 ++++++++++++++++++++++ 5 files changed, 31 insertions(+) create mode 100644 data/sounds/phone-outgoing-busy.oga create mode 100644 data/sounds/phone-outgoing-calling.oga diff --git a/data/meson.build b/data/meson.build index 6e93084..f0a277c 100644 --- a/data/meson.build +++ b/data/meson.build @@ -110,3 +110,10 @@ if compile_schemas.found() args: ['--strict', '--dry-run', meson.current_source_dir()], ) endif + +# Sounds (fallback for systems without telephony events in sound theme) +install_data( + 'sounds/phone-outgoing-calling.oga', + 'sounds/phone-outgoing-busy.oga', + install_dir: join_paths(datadir, calls_name, 'sounds'), +) diff --git a/data/sounds/phone-outgoing-busy.oga b/data/sounds/phone-outgoing-busy.oga new file mode 100644 index 0000000000000000000000000000000000000000..469f0e94f5c04e316af50b73de5d93f1f5196490 GIT binary patch literal 8103 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 H&Hn!YGI_T2 literal 0 HcmV?d00001 diff --git a/data/sounds/phone-outgoing-calling.oga b/data/sounds/phone-outgoing-calling.oga new file mode 100644 index 0000000000000000000000000000000000000000..dd398dcef40fb2771d97b655dd346a00e2d7f4d8 GIT binary patch literal 34216 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 z zy3PRX%r!B?(kuW#Xp3c;Ls2=js?dETj!=}ynj+?C6ZPbh#Ij#f$R z`PvptPC4w>70FIslMAK7=;m-8we*umG)KgDl1eDZ@BcOQ|IDAc3&!4hQ&@O}jmX~} z_xIdqyJJ;}+~UD}Bo#d~QYI|i|jUQ(t%f%o5Lls46 zD#g=K|DE*YFIuLpNxTV{zU+5R#@%U*vEZ+7Cxe(CK+Lk4vy_35DScqb^%q_c;gaFr zROFFfo2A&dvt4uinftzvtWB6WGBc^*+0hT+M$DZb4@aG689bR$K6Q)-X`JIWxZx+x zc`DYeN5roE7OrdxaZny z_}_DQ&g`SaH$2oo=80K;fm%U;db8VKYk~;VMJC4&WgsP5#DgKUVQ0dQ)lFEEoeu>Y zSs~{Pl_vT^(FxIw;KI|~g2v^;svE2X{1O=paXIkH;MRLwL&Ta^ZxGD< zqRCe;ZC$-&X;#=@d|W-p071&={zb@aGpC?jx-1=GWpyH$q}#*nBeApXK=DI$_+XRV zrqHD79%*=sh6&(yZ!e(_sCxmqYLImtNQ4@O&qS+37_@KfH^8c{QuolkA5BZIjCVBD zucM*)P^&W?8(IDvivHv3@{l8Z-$V7fB)n}fINlGY&hXlva%C$vh%{;>X5;=gD-h0HcPo;gP^4^|n-*SE3+WrfUz*wWYM?M-nK0xN!{ z2V^!(*xGg-x%SFfr*K8FvCNK(G^m#2XfeE*ef`II2cD;n<4Tf};cgMvd1fvqv}K+> z8#jCrMD0Y|7&;C!(j4s^ny)I754?{re06NefEjN zQWiSmPAqo;GTR$qmRTo$5;BpWKAhXz(N>xqDWCzvD+=QY5X5` zp5_{dH|A=)p3Ucv9=?umm6rTtxszd3xC~(Gob|IV;`;^0jX#fd8xu=p3N~gQ=1Tgp z7>s$^HLk36dgseTf2e9|FAMTBg*PmTF`!`;hY3{KRQA-k_mN#0MaVn8^T=Fw;jh$hw(8rS@HZkA zO?6@Dx~!TQ6kD;kjj5oGADdY%C)-e`ctGCnkr%OuZ$=`GU5%9;jijoMFvyv5ud#S} zZP*MT&v> p+j#rW=^iveW?aHBjCfn*Q16pA-&6SkmbJlkytcg^9mwK<{{zEMEg%2@ literal 0 HcmV?d00001 diff --git a/meson.build b/meson.build index cdf7a0c..97c8444 100644 --- a/meson.build +++ b/meson.build @@ -78,6 +78,8 @@ config_data.set_quoted('APP_DATA_NAME', calls_name) config_data.set_quoted('GETTEXT_PACKAGE', calls_name) config_data.set_quoted('LOCALEDIR', full_localedir) config_data.set_quoted('PLUGIN_LIBDIR', full_calls_plugin_libdir) +config_data.set_quoted('CALLS_SOUNDS_DIR', + join_paths(prefix, get_option('datadir'), calls_name, 'sounds')) config_data.set_quoted('PACKAGE_URL', calls_homepage) config_data.set_quoted('PACKAGE_VERSION', calls_version) config_data.set('PACKAGE_URL_RAW', calls_homepage) diff --git a/src/calls-media-playback.c b/src/calls-media-playback.c index d2c68c8..9b90e98 100644 --- a/src/calls-media-playback.c +++ b/src/calls-media-playback.c @@ -26,6 +26,8 @@ #include "calls-media-playback.h" +#include "calls-config.h" + #include @@ -96,6 +98,23 @@ playback_event_to_string (PlaybackEvent event) } } + +static const char * +playback_event_to_filename (PlaybackEvent event) +{ + switch (event) { + case PLAYBACK_CALLING: + return CALLS_SOUNDS_DIR "/phone-outgoing-calling.oga"; + + case PLAYBACK_BUSY: + return CALLS_SOUNDS_DIR "/phone-outgoing-busy.oga"; + + case PLAYBACK_LAST: + default: + return NULL; + } +} + static void calls_media_playback_dispose (GObject *object) { @@ -182,11 +201,13 @@ static void playback_data (MediaPlaybackData *data) { const char *event_id; + const char *filename; g_assert (CALLS_IS_MEDIA_PLAYBACK (data->self)); g_assert (data->self->context); event_id = playback_event_to_string (data->event); + filename = playback_event_to_filename (data->event); if (!event_id) { g_warning ("No event id found for %d", data->event); @@ -201,6 +222,7 @@ playback_data (MediaPlaybackData *data) data, GSOUND_ATTR_CANBERRA_CACHE_CONTROL, "volatile", GSOUND_ATTR_EVENT_ID, event_id, + GSOUND_ATTR_MEDIA_FILENAME, filename, NULL); }