Commit graph

15 commits

Author SHA1 Message Date
ValdikSS ValdikSS
c6c6b1f443 Prevent null pointer dereference if there's no audio devices
BUG: 454917


(cherry picked from commit 2006424e21)
2022-09-18 14:34:19 +00:00
Piyush Aggarwal
a01af1b406 systemvolumeplugin: populate sink description with sink name when building with minGW32 2021-06-21 11:18:53 +05:30
Piyush Aggarwal
d37f4061c9 systemvolumeplugin_win: fix a desktop memory leak that occurs when sink list is open on Android app 2021-06-20 22:22:08 +05:30
Art Pinch
0c5e2c50e0 [SystemVolumePlugin][Windows] Support for changing default audio output from remote device 2021-02-19 18:59:06 +00:00
Art Pinch
dd49d79c2b [SystemVolumePlugin][Windows] Send data about default audio device 2021-02-19 18:59:06 +00:00
Art Pinch
8a5858a903 [SystemVolumePlugin][Windows] Fixed sink callback registration condition 2020-12-15 20:56:58 +00:00
Art Pinch
844d52f0a5 Fixed kdeconnectd deadlock on Windows caused by systemvolumeplugin
IAudioEndpointVolumeCallback::Release was called in callback functions of IMMNotificationClient (through the call to SystemvolumePlugin::sendSinkList), however https://docs.microsoft.com/en-us/windows/win32/api/mmdeviceapi/nn-mmdeviceapi-immnotificationclient points out that:
*To avoid dead locks, the client should never call IMMDeviceEnumerator::RegisterEndpointNotificationCallback or IMMDeviceEnumerator::UnregisterEndpointNotificationCallback in its implementation of IMMNotificationClient methods.
*The client should never release the final reference on an MMDevice API object during an event callback.

So I moved that part of code to another thread so it will successfully run after callback functions work out and call only if endpoint needs to be released (device was removed), so it won't spawn new thread for every generated event
2020-11-19 23:28:44 +03:00
Nicolas Fella
87db95b22f Convert license headers to SPDX expressions 2020-08-17 09:48:10 +00:00
Antonio Larrosa
1d36164230 Use ecm_qt_declare_logging_category to declare the logging categories
This automatizes the generation of logging categories so a
kdeconnect-kde.categories is generated and installed to
/usr/share/qlogging-categories5/ so kdebugsettings can use it.

Also, sets the default logging level to Warning. So now the logs
of users won't be filled with debug messages but they can
modify the configuration easily with kdebugsettings.
2020-05-26 18:55:47 +02:00
Nicolas Fella
5c16bfda5d Use K_PLUGIN_CLASS_WITH_JSON 2019-06-12 22:16:54 +02:00
Nicolas Fella
e601755644 Force usage of QStringLiteral and port remaining offenders 2019-06-10 14:40:28 +00:00
Nicolas Fella
595e8d9a35 Add Macro for MinGW and fix GUID Macro Fix for Windows building 2019-05-01 00:21:19 +02:00
Nicolas Fella
3b8fedea1a Replace http GNU urls with https 2019-03-23 17:29:26 +01:00
Nicolas Fella
2f6f4d9d65 Add license header 2019-02-03 01:50:36 +01:00
Jun Bo Bi
929fd062f2 Added Windows support to systemvolume plugin
Summary: I've added Windows support to the systemvolume plugin.

Test Plan: Move the volume sliders in the Android app

Reviewers: kdeconnect, #kde_connect, albertvaka

Reviewed By: #kde_connect, albertvaka

Subscribers: albertvaka, kdeconnect

Tags: #kde_connect, #windows

Maniphest Tasks: T10000

Differential Revision: https://phabricator.kde.org/D16936
2018-11-20 01:15:10 +01:00