Clean audio capture when using MultimediaParametersDialog (avoid having micro recording after quitting the Waiting Room/Media menus)

This commit is contained in:
Julien Wadel 2022-09-22 14:23:26 +02:00
parent 0a149b55a8
commit 921d6e07c9
2 changed files with 24 additions and 14 deletions

View file

@ -275,8 +275,10 @@ void SettingsModel::startCaptureGraph(){
++mCaptureGraphListenerCount;
}
void SettingsModel::stopCaptureGraph(){
if(--mCaptureGraphListenerCount == 0)
deleteCaptureGraph();
if(mCaptureGraphListenerCount > 0 ){
if(--mCaptureGraphListenerCount == 0)
deleteCaptureGraph();
}
}
void SettingsModel::deleteCaptureGraph(){
if (mSimpleCaptureGraph) {

View file

@ -161,25 +161,33 @@ Rectangle {
showCustomButton: !mainItem.callModel
showUsername: false
customButtonColorSet : WaitingRoomStyle.buttons.options
customButtonToggled: mediaMenu.visible
customButtonToggled: multimediaLoader.active
onVideoDefinitionChanged: previewDefinition = SettingsModel.getCurrentPreviewVideoDefinition()
onCustomButtonClicked: mediaMenu.visible = !mediaMenu.visible
onCustomButtonClicked: multimediaLoader.active = !multimediaLoader.active
}
}
MultimediaParametersDialog{
id: mediaMenu
Loader{
id: multimediaLoader
Layout.fillHeight: true
Layout.leftMargin: 10
Layout.rightMargin: 10
Layout.minimumHeight: fitHeight
Layout.minimumWidth: fitWidth
radius: 8
flat: true
showMargins: true
fixedSize: false
onExitStatus: visible = false
visible: false
Layout.minimumHeight: item? item.fitHeight : 0
Layout.minimumWidth: item? item.fitWidth : 0
sourceComponent: multimediaComponent
active: false
Component{
id: multimediaComponent
MultimediaParametersDialog{
radius: 8
flat: true
showMargins: true
fixedSize: false
onExitStatus: multimediaLoader.active = false
}
}
}
}
ColumnLayout{