<table><tr><td style="">sitter added a comment.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D14397">View Revision</a></tr></table><br /><div><div><p>Canberra's primary advantage over phonon is that it can directly use pulseaudio/alsa, bypassing the entire sound system middleware madness and leveraging PA's builtin caching mechanism. i.e. if a sound notification is played a bunch of times it will be cached in-between, making subsequent playbacks much cheaper, until the sound gets pressured out of the cache. This is opposed to phonon, where a playback is a full state cycle, such that playing the same sound multiple times means reading&&piplining it over and over again, even when the raw output PCM didn't even change. Also full-disclosure: there was a proposal for implement this functionality in Phonon, but that was years ago and never materialized, so I think canberra is the way forward here.</p>

<blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><p>We probably lose the ability to play sound on Windows and Mac? How does it work there normally? (We could just make it do QApplication::beep() if a sound is configured :p)</p></blockquote>

<p>from IRC:</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">gstreamer is technically x-platform, whether one actually wants to attempt building and using it on these platforms is another question I suppose</li>
<li class="remarkup-list-item">one could write native plugins for canberra on windows/mac; or write a vlc plugin as libvlc is generally easier to use on windows I find (or we could ask videolan if they want to write it for us ;))</li>
</ul>

<blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><p>I'm wondering if we can also get rid of the custom QStandardPaths lookup we have in there given libcanberra is meant to support xdg sound scheme spec?</p></blockquote>

<p>Probably yes. Three problems come to mind:</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">our sounds aren't actually in the form of a theme (yet!)</li>
<li class="remarkup-list-item">notification sounds may be paths to random files (this mostly only maters as far as which CA properties need setting)</li>
<li class="remarkup-list-item">we have no capability to actually set a theme from the UI, and our icon names are not really theme compliant (in that we have sounds that are in xdg-sound-theme, but have a different name)</li>
</ul>

<p>All things consider what we could do as a first step is pack our sounds into a proper theme and adjust our file naming, then use that as "default" theme and whenever a notification sound is not an absolute path we'll let canberra resolve it against our theme.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R289 KNotifications</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D14397">https://phabricator.kde.org/D14397</a></div></div><br /><div><strong>To: </strong>broulik, Frameworks, dfaure, davidedmundson, sitter, drosca, kfunk, rjvbb<br /><strong>Cc: </strong>kde-frameworks-devel, michaelh, ngraham, bruns<br /></div>