Compare commits

..

No commits in common. "43e8333cb57d0a0665e75e74c74681736679fd8a" and "3ff40200d93ef0e405aef3322c60fd4972cefb2e" have entirely different histories.

4 changed files with 41 additions and 154 deletions

View File

@ -1,46 +1,48 @@
From ce6b7033cd4d546040eeb3851f8e2d00fac87048 Mon Sep 17 00:00:00 2001 From ae9669d82eaa4e346e6587b4a1254db75e5c838b Mon Sep 17 00:00:00 2001
From: peijiankang <peijiankang@kylinos.cn> From: peijiankang <peijiankang@kylinos.cn>
Date: Thu, 12 Jan 2023 15:09:23 +0800 Date: Fri, 30 Dec 2022 15:19:54 +0800
Subject: [PATCH] fix ukui-volume-control-applet-qt work error Subject: [PATCH] fix ukui-volume-control-applet-qt work error
--- ---
ukui-volume-control-applet-qt/ukmedia_main_widget.cpp | 9 ++++++--- ukui-volume-control-applet-qt/ukmedia_main_widget.cpp | 4 ++++
1 file changed, 6 insertions(+), 3 deletions(-) 1 file changed, 4 insertions(+)
diff --git a/ukui-volume-control-applet-qt/ukmedia_main_widget.cpp b/ukui-volume-control-applet-qt/ukmedia_main_widget.cpp diff --git a/ukui-volume-control-applet-qt/ukmedia_main_widget.cpp b/ukui-volume-control-applet-qt/ukmedia_main_widget.cpp
index a6dd72d..a57919a 100644 index a6dd72d..3bf86b2 100644
--- a/ukui-volume-control-applet-qt/ukmedia_main_widget.cpp --- a/ukui-volume-control-applet-qt/ukmedia_main_widget.cpp
+++ b/ukui-volume-control-applet-qt/ukmedia_main_widget.cpp +++ b/ukui-volume-control-applet-qt/ukmedia_main_widget.cpp
@@ -3203,8 +3203,8 @@ void UkmediaMainWidget::switchModuleEchoCancel() @@ -323,6 +323,7 @@ void UkmediaMainWidget::initDefaultSinkVolume()
if ( strstr(m_pVolumeControl->defaultSourceName,"alsa_input") && !strstr(m_pVolumeControl->defaultSourceName,"input.usb")) { if(outputCardName.contains(BLUEZ,Qt::CaseInsensitive))
sourceState = true; volume = OUTPUT_VOLUME;
} m_pVolumeControl->setSinkVolume(m_pVolumeControl->sinkIndex,volume);
- qDebug() << "switchModuleEchoCancel" << m_pVolumeControl->defaultSourceName << switchState << sourceState; + m_pVolumeControl->setSinkMute(false);
- if (switchState && sourceState && !isLoadEchoCancel && !strstr(m_pVolumeControl->defaultSourceName,"noiseReduceSource")) { m_pVolumeControl->customSoundFile->addXmlNode(m_pVolumeControl->sinkPortName,false);
+ qDebug() << "switchModuleEchoCancel" << "loadechocancel"<< isLoadEchoCancel << m_pVolumeControl->defaultSourceName << switchState << sourceState; qDebug() << "初始化输出音量为:" << volume ;
+ if (switchState && sourceState) { if (temp != "")
pa_operation *o; @@ -333,6 +334,7 @@ void UkmediaMainWidget::initDefaultSinkVolume()
qDebug() << "load module echo cancel"; {
isLoadEchoCancel = true; volume = OUTPUT_VOLUME;
@@ -3212,7 +3212,7 @@ void UkmediaMainWidget::switchModuleEchoCancel() m_pVolumeControl->setSinkVolume(m_pVolumeControl->sinkIndex,volume);
m_pVolumeControl->showError(QObject::tr("pa_context_load_module() failed").toUtf8().constData()); + m_pVolumeControl->setSinkMute(false);
} m_pVolumeControl->customSoundFile->addXmlNode(m_pVolumeControl->defaultSinkName,false);
qDebug()<< "初始化音量SinkPortName不存在的情况" << volume;
}
@@ -346,6 +348,7 @@ void UkmediaMainWidget::initDefaultSourceVolume()
{
m_pVolumeControl->customSoundFile->addXmlNode(m_pVolumeControl->defaultSourceName,false);
m_pVolumeControl->setSourceVolume(m_pVolumeControl->sourceIndex,MIC_VOLUME);
+ m_pVolumeControl->setSourceMute(false);
qDebug()<< "初始化音量SourcePortName不存在的情况" <<m_pVolumeControl->defaultSourceName ;
} }
- else {
+ else if (strstr(m_pVolumeControl->defaultSourceName,"noiseReduceSource") && !switchState) {
isLoadEchoCancel = false;
m_pVolumeControl->getModuleIndexByName("module-echo-cancel");
@@ -3221,6 +3221,9 @@ void UkmediaMainWidget::switchModuleEchoCancel() @@ -353,6 +356,7 @@ void UkmediaMainWidget::initDefaultSourceVolume()
pa_context_unload_module(m_pVolumeControl->getContext(),m_pVolumeControl->findModuleIndex,nullptr,nullptr); {
}); m_pVolumeControl->customSoundFile->addXmlNode(m_pVolumeControl->sourcePortName,false);
m_pVolumeControl->setSourceVolume(m_pVolumeControl->sourceIndex,MIC_VOLUME);
+ m_pVolumeControl->setSourceMute(false);
qDebug() << "初始化输入音量为100" ;
} }
+ else {
+ isLoadEchoCancel = false;
+ }
} }
UkmediaMainWidget::~UkmediaMainWidget()
-- --
2.33.0 2.33.0

View File

@ -1,74 +0,0 @@
From 31d9527ddb1f1e1c009378c867e862cb7aaa68c0 Mon Sep 17 00:00:00 2001
From: peijiankang <peijiankang@kylinos.cn>
Date: Wed, 15 Feb 2023 16:26:38 +0800
Subject: [PATCH] fix coredump of ukui-volume-control-applet-qt
---
.../ukmedia_volume_control.cpp | 16 ++++++++++++++++
.../ukmedia_volume_control.h | 2 +-
2 files changed, 17 insertions(+), 1 deletion(-)
diff --git a/ukui-volume-control-applet-qt/ukmedia_volume_control.cpp b/ukui-volume-control-applet-qt/ukmedia_volume_control.cpp
index b07294d..8edc83f 100644
--- a/ukui-volume-control-applet-qt/ukmedia_volume_control.cpp
+++ b/ukui-volume-control-applet-qt/ukmedia_volume_control.cpp
@@ -103,6 +103,10 @@ void UkmediaVolumeControl::setSinkMute(bool status)
*/
void UkmediaVolumeControl::setSinkVolume(int index,int value)
{
+ if(m_pDefaultSink == nullptr){
+ return;
+ }
+
pa_cvolume v = m_pDefaultSink->volume;
v.channels = channel;
for (int i=0;i<v.channels;i++)
@@ -141,6 +145,10 @@ void UkmediaVolumeControl::setSourceMute(bool status)
*/
void UkmediaVolumeControl::setSourceVolume(int index,int value)
{
+ if(m_pDefaultSink == nullptr){
+ return;
+ }
+
pa_cvolume v = m_pDefaultSink->volume;
v.channels = inputChannel;
for (int i=0;i<v.channels;i++)
@@ -231,6 +239,10 @@ int UkmediaVolumeControl::getModuleIndexByName(QString name)
*/
void UkmediaVolumeControl::setSinkInputVolume(int index, int value,int channel)
{
+ if(m_pDefaultSink == nullptr){
+ return;
+ }
+
pa_cvolume v = m_pDefaultSink->volume;
v.channels = channel;
@@ -267,6 +279,10 @@ void UkmediaVolumeControl::setSinkInputMuted(int index, bool status)
*/
void UkmediaVolumeControl::setSourceOutputVolume(int index, int value)
{
+ if(m_pDefaultSink == nullptr){
+ return;
+ }
+
pa_cvolume v = m_pDefaultSink->volume;
v.channels = sourceOutputChannel;
for (int i=0;i<v.channels;i++)
diff --git a/ukui-volume-control-applet-qt/ukmedia_volume_control.h b/ukui-volume-control-applet-qt/ukmedia_volume_control.h
index 555825f..b39b248 100644
--- a/ukui-volume-control-applet-qt/ukmedia_volume_control.h
+++ b/ukui-volume-control-applet-qt/ukmedia_volume_control.h
@@ -167,7 +167,7 @@ public:
bool firstRun = true;
pa_cvolume m_defaultSinkVolume;
- const pa_sink_info *m_pDefaultSink;
+ const pa_sink_info *m_pDefaultSink = nullptr;
pa_context* m_pPaContext;
std::map<uint32_t, char*> clientNames;
SinkInputType showSinkInputType;
--
2.33.0

View File

@ -1,35 +0,0 @@
diff -Naur ukui-media-3.1.0/ukui-volume-control-applet-qt/ukmedia_main_widget.cpp ukui-media-3.1.0~/ukui-volume-control-applet-qt/ukmedia_main_widget.cpp
--- ukui-media-3.1.0/ukui-volume-control-applet-qt/ukmedia_main_widget.cpp 2024-05-09 16:54:50.944895614 +0800
+++ ukui-media-3.1.0~/ukui-volume-control-applet-qt/ukmedia_main_widget.cpp 2024-05-09 16:59:55.043191038 +0800
@@ -323,6 +323,7 @@
if(outputCardName.contains(BLUEZ,Qt::CaseInsensitive))
volume = OUTPUT_VOLUME;
m_pVolumeControl->setSinkVolume(m_pVolumeControl->sinkIndex,volume);
+ m_pVolumeControl->setSinkMute(false);
m_pVolumeControl->customSoundFile->addXmlNode(m_pVolumeControl->sinkPortName,false);
qDebug() << "初始化输出音量为:" << volume ;
if (temp != "")
@@ -333,6 +334,7 @@
{
volume = OUTPUT_VOLUME;
m_pVolumeControl->setSinkVolume(m_pVolumeControl->sinkIndex,volume);
+ m_pVolumeControl->setSinkMute(false);
m_pVolumeControl->customSoundFile->addXmlNode(m_pVolumeControl->defaultSinkName,false);
qDebug()<< "初始化音量SinkPortName不存在的情况" << volume;
}
@@ -346,6 +348,7 @@
{
m_pVolumeControl->customSoundFile->addXmlNode(m_pVolumeControl->defaultSourceName,false);
m_pVolumeControl->setSourceVolume(m_pVolumeControl->sourceIndex,MIC_VOLUME);
+ m_pVolumeControl->setSinkMute(false);
qDebug()<< "初始化音量SourcePortName不存在的情况" <<m_pVolumeControl->defaultSourceName ;
}
@@ -353,6 +356,7 @@
{
m_pVolumeControl->customSoundFile->addXmlNode(m_pVolumeControl->sourcePortName,false);
m_pVolumeControl->setSourceVolume(m_pVolumeControl->sourceIndex,MIC_VOLUME);
+ m_pVolumeControl->setSinkMute(false);
qDebug() << "初始化输入音量为100" ;
}
}

View File

@ -1,14 +1,12 @@
Name: ukui-media Name: ukui-media
Version: 3.1.0 Version: 3.1.0
Release: 5 Release: 3
Summary: UKUI media utilities Summary: UKUI media utilities
License: GPL-2.0-or-later and GPL-3.0-or-later and BSD-3-Clause License: GPL-2.0-or-later and GPL-3.0-or-later and BSD-3-Clause
URL: http://www.ukui.org URL: http://www.ukui.org
Source0: https://gitee.com/openkylin/ukui-media/tags/%{name}-%{version}.tar.gz Source0: https://gitee.com/openkylin/ukui-media/tags/%{name}-%{version}.tar.gz
Patch01: 0001-fix-compile-error-of-ukui-media.patch Patch01: 0001-fix-compile-error-of-ukui-media.patch
Patch02: 0002-fix-ukui-volume-control-applet-qt-work-error.patch Patch02: 0002-fix-ukui-volume-control-applet-qt-work-error.patch
Patch03: 0003-fix-coredump-of-ukui-volume-control-applet-qt.patch
Patch04: 0004-fix-first-install-volume-not-mute.patch
Autoreq: yes Autoreq: yes
BuildRequires: intltool BuildRequires: intltool
@ -53,18 +51,20 @@ Requires: %{name}%{?_isa} = %{version}-%{release}
This package contains the common files. This package contains the common files.
%prep %prep
%autosetup -n %{name}-%{version} -p1 %setup -q
%patch01 -p1
%patch02 -p1
%build %build
mkdir build && pushd build mkdir build && pushd build
%{qmake_qt5} .. qmake-qt5 ..
%{make_build} make -j4
popd popd
%install %install
rm -rf $RPM_BUILD_ROOT rm -rf $RPM_BUILD_ROOT
pushd build pushd build
%{make_install} INSTALL_ROOT=$RPM_BUILD_ROOT make INSTALL_ROOT=$RPM_BUILD_ROOT install
popd popd
@ -95,14 +95,8 @@ glib-compile-schemas /usr/share/glib-2.0/schemas/ &> /dev/null ||:
%{_sysconfdir}/xdg/autostart/ %{_sysconfdir}/xdg/autostart/
%changelog %changelog
* Thu May 09 2024 douyan <douyan@kylinos.cn> - 3.1.0-5
- add 0004-fix-first-install-volume-not-mute.patch
* Fri Feb 10 2023 peijiankang <peijiankang@kylinos.cn> - 3.1.0-4
- fix coredump of ukui-volume-control-applet-qt
* Tue Jan 3 2023 lvfei <lvfei@kylinos.cn> - 3.1.0-3 * Tue Jan 3 2023 lvfei <lvfei@kylinos.cn> - 3.1.0-3
- update Source0 Url - update Sources0 Url
* Tue Jan 3 2023 peijiankang <peijiankang@kylinos.cn> - 3.1.0-2 * Tue Jan 3 2023 peijiankang <peijiankang@kylinos.cn> - 3.1.0-2
- fix ukui-volume-control-applet-qt work error - fix ukui-volume-control-applet-qt work error