mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-07 00:35:07 +00:00
fix: Update share behavior for Zoom Room
This commit is contained in:
@@ -9,6 +9,7 @@ using Crestron.SimplSharpPro.UI;
|
||||
using PepperDash.Core;
|
||||
using PepperDash.Essentials.Core;
|
||||
using PepperDash.Essentials.Core.Config;
|
||||
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
|
||||
using PepperDash.Essentials.Core.SmartObjects;
|
||||
using PepperDash.Essentials.Core.PageManagers;
|
||||
using PepperDash.Essentials.Room.Config;
|
||||
@@ -730,16 +731,31 @@ namespace PepperDash.Essentials
|
||||
|
||||
if (_isZoomRoomWithNoExternalSources)
|
||||
{
|
||||
CurrentRoom.RunDefaultPresentRoute();
|
||||
if (!CurrentRoom.OnFeedback.BoolValue)
|
||||
{
|
||||
CurrentRoom.RunDefaultPresentRoute();
|
||||
}
|
||||
// For now, if this is a Zoom Room and there are no shareable sources just display the informational subpage
|
||||
TriList.SetBool(UIBoolJoin.ZoomRoomContentSharingVisible, true);
|
||||
|
||||
var presentationMeetingCodec = CurrentRoom.VideoCodec as IHasPresentationOnlyMeeting;
|
||||
var farEndContentStatusCodec = CurrentRoom.VideoCodec as IHasFarEndContentStatus;
|
||||
var receivingContent = false;
|
||||
|
||||
if (farEndContentStatusCodec != null)
|
||||
{
|
||||
receivingContent = farEndContentStatusCodec.ReceivingContent.BoolValue;
|
||||
}
|
||||
|
||||
if (presentationMeetingCodec != null && !CurrentRoom.VideoCodec.IsInCall)
|
||||
{
|
||||
presentationMeetingCodec.StartSharingOnlyMeeting(eSharingMeetingMode.Laptop);
|
||||
}
|
||||
else if (CurrentRoom.VideoCodec.IsInCall && !CurrentRoom.VideoCodec.SharingContentIsOnFeedback.BoolValue &&
|
||||
!receivingContent)
|
||||
{
|
||||
CurrentRoom.VideoCodec.StartSharing();
|
||||
}
|
||||
|
||||
if (CurrentSourcePageManager != null)
|
||||
CurrentSourcePageManager.Hide();
|
||||
@@ -755,7 +771,9 @@ namespace PepperDash.Essentials
|
||||
}
|
||||
else // room is on show what's active or select a source if nothing is yet active
|
||||
{
|
||||
if (CurrentRoom.CurrentSourceInfo == null || (CurrentRoom.VideoCodec != null && CurrentRoom.CurrentSourceInfo.SourceDevice.Key == CurrentRoom.VideoCodec.OsdSource.Key))
|
||||
if (CurrentRoom.CurrentSourceInfo == null ||
|
||||
(CurrentRoom.VideoCodec != null &&
|
||||
CurrentRoom.CurrentSourceInfo.SourceDevice.Key == CurrentRoom.VideoCodec.OsdSource.Key))
|
||||
TriList.SetBool(UIBoolJoin.SelectASourceVisible, true);
|
||||
else if (CurrentSourcePageManager != null)
|
||||
{
|
||||
|
||||
@@ -656,6 +656,7 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom
|
||||
{
|
||||
Debug.Console(2, this, "Updating sharing status: {0}", a.PropertyName);
|
||||
|
||||
SharingContentIsOnFeedback.FireUpdate();
|
||||
if (MeetingInfo == null)
|
||||
{
|
||||
//Ignoring for now, as the CallInfo return will create the appropriate value
|
||||
@@ -1979,7 +1980,14 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom
|
||||
/// </summary>
|
||||
public override void StopSharing()
|
||||
{
|
||||
SendText("zCommand Call Sharing Disconnect");
|
||||
if (Status.Sharing.isSharingBlackMagic)
|
||||
{
|
||||
SendText("zCommand Call Sharing HDMI Stop");
|
||||
}
|
||||
else
|
||||
{
|
||||
SendText("zCommand Call Sharing Disconnect");
|
||||
}
|
||||
}
|
||||
|
||||
public override void PrivacyModeOn()
|
||||
|
||||
Reference in New Issue
Block a user