Fix h264 codec download popup.

Fix Active Speaker display on pause/conference/cameraEnabled modes.
- Need a fix on SDK for keeping old window id when stopping internal stream.
Fix VPX build for M1.
This commit is contained in:
Julien Wadel 2022-10-05 21:51:07 +02:00
parent d73a73e2b3
commit 42799127b0
6 changed files with 31 additions and 11 deletions

View file

@ -17,7 +17,7 @@ DecorationSticker {
property ParticipantDeviceModel currentDevice
property CallModel callModel
property bool isPaused
property alias isPaused: avatar.isPaused
property bool showCloseButton: false
property bool showActiveSpeakerOverlay: true

View file

@ -22,6 +22,7 @@ DecorationSticker{
property alias isFullscreen: camera.isFullscreen
property alias isCameraFromDevice: camera.isCameraFromDevice
property alias isReady: camera.isReady
property alias isVideoEnabled: camera.isVideoEnabled
property bool showCloseButton: false
property bool showActiveSpeakerOverlay: true
property color color : CameraStickerStyle.cameraBackgroundColor

View file

@ -35,6 +35,7 @@ Item{
property alias showActiveSpeakerOverlay: camera.showActiveSpeakerOverlay
property alias isCameraFromDevice: camera.isCameraFromDevice
property alias deactivateCamera: camera.deactivateCamera
property alias isVideoEnabled: camera.isVideoEnabled
property alias image: avatar.image
property alias avatarBackgroundColor: avatar.avatarBackgroundColor

View file

@ -24,6 +24,7 @@
.pragma library
.import QtQuick 2.7 as QtQuick
.import Linphone 1.0 as Linphone
.import 'port-tools.js' as PortTools
.import 'uri-tools.js' as UriTools
@ -753,13 +754,13 @@ function computeAvatarSize (container, maxSize, ratio) {
function openCodecOnlineInstallerDialog (window, codecInfo, cb) {
var VideoCodecsModel = Linphone.VideoCodecsModel
window.attachVirtualWindow(buildLinphoneDialogUri('ConfirmDialog'), {
window.attachVirtualWindow(buildCommonDialogUri('ConfirmDialog'), {
descriptionText: qsTr('downloadCodecDescription')
.replace('%1', codecInfo.mime)
.replace('%2', codecInfo.encoderDescription)
}, function (status) {
if (status) {
window.attachVirtualWindow(buildCommonDialogUri('OnlineInstallerDialog'), {
window.attachVirtualWindow(buildLinphoneDialogUri('OnlineInstallerDialog'), {
downloadUrl: codecInfo.downloadUrl,
extract: true,
installFolder: VideoCodecsModel.codecsFolder,

View file

@ -40,9 +40,13 @@ Item {
onConferenceCreated: cameraView.resetCamera()
function updateCurrentDevice(){
var device = getLastActiveSpeaking()
if(device) // Get
cameraView.currentDevice = device
if( callModel ){
if( callModel.isConference) {
var device = getLastActiveSpeaking()
if(device) // Get
cameraView.currentDevice = device
}
}
}
onMeChanged: if(cameraView.isPreview) {
cameraView.currentDevice = me
@ -56,16 +60,23 @@ Item {
miniViews.model = []
}
}
Sticker{
id: cameraView
anchors.fill: parent
anchors.leftMargin: isRightReducedLayout || isLeftReducedLayout? 30 : 140
anchors.rightMargin: isRightReducedLayout ? 10 : 140
callModel: mainItem.callModel
deactivateCamera: (callModel && callModel.pausedByUser) || !mainItem.cameraEnabled || (!callModel.isConference && currentDevice && !currentDevice.videoEnabled)
deactivateCamera: callModel.isConference
? (callModel && (callModel.pausedByUser || callModel.status === CallModel.CallStatusPaused) )
|| (!callModel.cameraEnabled && mainItem.participantCount == 1)
|| (currentDevice && !currentDevice.videoEnabled && mainItem.participantCount == 2)
: (callModel && (callModel.pausedByUser || callModel.status === CallModel.CallStatusPaused) )
|| currentDevice && !currentDevice.videoEnabled
isVideoEnabled: !deactivateCamera
onDeactivateCameraChanged: console.log("deactivateCamera? "+deactivateCamera)
isPreview: mainItem.showMe && mainItem.participantCount == 1
onIsPreviewChanged: {
console.log("ispreview ? " +isPreview)
if( isPreview){
currentDevice = allDevices.me
cameraView.resetCamera()
@ -74,8 +85,13 @@ Item {
cameraView.resetCamera()
}
isCameraFromDevice: isPreview
onCurrentDeviceChanged: console.log("CurrentDevice: "+currentDevice)
isPaused: callModel.isConference
? callModel && callModel.pausedByUser && mainItem.participantCount != 2
|| (currentDevice && currentDevice.isPaused)
: callModel && !callModel.pausedByUser && (callModel.status === CallModel.CallStatusPaused)
isPaused: (callModel && callModel.pausedByUser) || (currentDevice && currentDevice.isPaused) //callModel.pausedByUser
onIsPausedChanged: console.log("ispaused ? " +isPaused + " = " +callModel.pausedByUser + " / " + (currentDevice ? currentDevice.isPaused : 'noDevice') +" / " +callModel.isConference + " / " +callModel.status )
quickTransition: true
showCloseButton: false
showActiveSpeakerOverlay: false // This is an active speaker. We don't need to show the indicator.
@ -102,7 +118,8 @@ Item {
Sticker{
id: previewSticker
deactivateCamera: !mainItem.callModel || !mainItem.showMe || !mainItem.callModel.cameraEnabled
//onDeactivateCameraChanged: console.log(deactivateCamera + " = " +mainItem.callModel +" / " +mainItem.showMe +" / " +mainItem.callModel.localVideoEnabled)
//|| ( (callModel.isConference && !mainItem.callModel.cameraEnabled) || (!callModel.isConference && !mainItem.callModel.localVideoEnabled) )
onDeactivateCameraChanged: console.log(deactivateCamera + " = " +mainItem.callModel +" / " +mainItem.showMe +" / " +mainItem.callModel.localVideoEnabled + " / " +mainItem.callModel.cameraEnabled)
currentDevice: allDevices.me
isPreview: true
callModel: mainItem.callModel

@ -1 +1 @@
Subproject commit 3d12b0566b28082bedf77ca54d7547536cc633fc
Subproject commit ba15d5d1862543b073d878c77b5c91babfe6abf4