Jump to content

Phonon/Releases/Core/stable

From KDE Community Wiki
Revision as of 10:25, 15 April 2016 by Sitter (talk | contribs)
URL
SHA256

Changes

  • Builsystem helpers are now installed to CMAKE_INSTALL_DATAROOTDIR
  • CMake 2.8.9 is required to use GNUInstallDirs and for the Qt5 code branches
  • automoc4 support was removed. Building always use the cmake built-in solution now.

Bug Fixes

  • VolumeSlider has seen async behavior improvements making the slider not hop around when changing the volume rapidly and the backend is lagging a bit behind. The volume change now occurs upon slider release rather than instantly.
  • Fixed a duble encoding issue with local paths that contain percent encoded characters being double-encoded [#356218]

New API

  • New AudioOutputInterface49 for backends to implement. This interface implements long-existing frontend interfaces for muting, giving the backend easier access and control.
    • setMuted(bool) mutes an AudioOuput (without the 4.9 interface this is done via setVolume(0.0) on the backend)
    • mutedChanged(bool) signal emitted by the backend to asyncronuously notify of the mute application
    • The interface is only used if PulseSupport is not intercepting calls
  • New methods to differntiate states of PulseSupport
    • request(bool) is used by backends to request PulseAudio usage but no interception, this essentially enables device listing but lets everything else fall through to the backend (the existing isActive() method will not return true after request(true), which makes it different from enable(true))
    • isRequested() is a getter for request()'s state
    • isUsable() is part of the previouys isActive() behavior, it is true iff pulseaudio can be used (daemon running, connected etc)
    • isUsed() is a combination of isRequested() and isUsable() (i.e. active but not intercepting)
    • The existing isActive() communicates the same state as before (active and intercepting) but now also takes requested into consideration
    • Enabling always implies requsting automatically, so request(false) and enable(true) will ultimately still restul in isRequested==true