mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-16 05:05:00 +00:00
Various cleanup; added messaging for codec status events; added initial state of codec to fullstatus message
This commit is contained in:
@@ -7,6 +7,8 @@ using Newtonsoft.Json;
|
|||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Room.Cotija;
|
using PepperDash.Essentials.Room.Cotija;
|
||||||
|
using PepperDash.Essentials.Devices.Common.Codec;
|
||||||
|
using PepperDash.Essentials.Devices.Common.VideoCodec;
|
||||||
|
|
||||||
namespace PepperDash.Essentials
|
namespace PepperDash.Essentials
|
||||||
{
|
{
|
||||||
@@ -83,6 +85,13 @@ namespace PepperDash.Essentials
|
|||||||
if(sscRoom != null)
|
if(sscRoom != null)
|
||||||
sscRoom.CurrentSingleSourceChange += new SourceInfoChangeHandler(Room_CurrentSingleSourceChange);
|
sscRoom.CurrentSingleSourceChange += new SourceInfoChangeHandler(Room_CurrentSingleSourceChange);
|
||||||
|
|
||||||
|
var vidRoom = Room as IHasVideoCodec;
|
||||||
|
if (vidRoom != null)
|
||||||
|
{
|
||||||
|
var codec = vidRoom.VideoCodec;
|
||||||
|
codec.CallStatusChange += new EventHandler<CodecCallStatusItemChangeEventArgs>(codec_CallStatusChange);
|
||||||
|
}
|
||||||
|
|
||||||
Parent.AddAction(string.Format(@"/room/{0}/shutdownStart", Room.Key), new Action(() => Room.StartShutdown(eShutdownType.Manual)));
|
Parent.AddAction(string.Format(@"/room/{0}/shutdownStart", Room.Key), new Action(() => Room.StartShutdown(eShutdownType.Manual)));
|
||||||
Parent.AddAction(string.Format(@"/room/{0}/shutdownEnd", Room.Key), new Action(() => Room.ShutdownPromptTimer.Finish()));
|
Parent.AddAction(string.Format(@"/room/{0}/shutdownEnd", Room.Key), new Action(() => Room.ShutdownPromptTimer.Finish()));
|
||||||
Parent.AddAction(string.Format(@"/room/{0}/shutdownCancel", Room.Key), new Action(() => Room.ShutdownPromptTimer.Cancel()));
|
Parent.AddAction(string.Format(@"/room/{0}/shutdownCancel", Room.Key), new Action(() => Room.ShutdownPromptTimer.Cancel()));
|
||||||
@@ -96,6 +105,18 @@ namespace PepperDash.Essentials
|
|||||||
Room.ShutdownPromptTimer.WasCancelled += ShutdownPromptTimer_WasCancelled;
|
Room.ShutdownPromptTimer.WasCancelled += ShutdownPromptTimer_WasCancelled;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Handler for codec changes
|
||||||
|
/// </summary>
|
||||||
|
void codec_CallStatusChange(object sender, CodecCallStatusItemChangeEventArgs e)
|
||||||
|
{
|
||||||
|
PostStatusMessage(new
|
||||||
|
{
|
||||||
|
calls = GetCallsMessageObject()
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Helper for posting status message
|
/// Helper for posting status message
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -337,21 +358,64 @@ namespace PepperDash.Essentials
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//var callRm = room as IHasVideoCodec;
|
||||||
|
//object calls = null;
|
||||||
|
//if(callRm != null)
|
||||||
|
//{
|
||||||
|
// calls = new {
|
||||||
|
// activeCalls = callRm.VideoCodec.ActiveCalls,
|
||||||
|
// callType = callRm.CallTypeFeedback.IntValue,
|
||||||
|
// inCall = callRm.InCallFeedback.BoolValue,
|
||||||
|
// isSharing = callRm.IsSharingFeedback.BoolValue,
|
||||||
|
// privacyModeIsOn = callRm.PrivacyModeIsOnFeedback.BoolValue
|
||||||
|
// };
|
||||||
|
//}
|
||||||
|
|
||||||
PostStatusMessage(new
|
PostStatusMessage(new
|
||||||
{
|
{
|
||||||
|
calls = GetCallsMessageObject(),
|
||||||
isOn = room.OnFeedback.BoolValue,
|
isOn = room.OnFeedback.BoolValue,
|
||||||
selectedSourceKey = sourceKey,
|
selectedSourceKey = sourceKey,
|
||||||
|
videoCodec = new {
|
||||||
|
|
||||||
|
},
|
||||||
volumes = volumes
|
volumes = volumes
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Helper to return a anonymous object with the call data for JSON message
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
object GetCallsMessageObject()
|
||||||
|
{
|
||||||
|
var callRm = Room as IHasVideoCodec;
|
||||||
|
if (callRm == null)
|
||||||
|
return null;
|
||||||
|
return new
|
||||||
|
{
|
||||||
|
activeCalls = callRm.VideoCodec.ActiveCalls,
|
||||||
|
callType = callRm.CallTypeFeedback.IntValue,
|
||||||
|
inCall = callRm.InCallFeedback.BoolValue,
|
||||||
|
isSharing = callRm.IsSharingFeedback.BoolValue,
|
||||||
|
privacyModeIsOn = callRm.PrivacyModeIsOnFeedback.BoolValue
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
public class SourceSelectMessageContent
|
public class SourceSelectMessageContent
|
||||||
{
|
{
|
||||||
public string SourceListItem { get; set; }
|
public string SourceListItem { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="b"></param>
|
||||||
public delegate void PressAndHoldAction(bool b);
|
public delegate void PressAndHoldAction(bool b);
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -13,7 +13,7 @@ using PepperDash.Essentials.Devices.Common.VideoCodec;
|
|||||||
namespace PepperDash.Essentials
|
namespace PepperDash.Essentials
|
||||||
{
|
{
|
||||||
public class EssentialsHuddleVtc1Room : EssentialsRoomBase, IHasCurrentSourceInfoChange,
|
public class EssentialsHuddleVtc1Room : EssentialsRoomBase, IHasCurrentSourceInfoChange,
|
||||||
IPrivacy, IHasCurrentVolumeControls, IRunRouteAction, IRunDefaultCallRoute
|
IPrivacy, IHasCurrentVolumeControls, IRunRouteAction, IRunDefaultCallRoute, IHasVideoCodec
|
||||||
{
|
{
|
||||||
public event EventHandler<VolumeDeviceChangeEventArgs> CurrentVolumeDeviceChange;
|
public event EventHandler<VolumeDeviceChangeEventArgs> CurrentVolumeDeviceChange;
|
||||||
public event SourceInfoChangeHandler CurrentSingleSourceChange;
|
public event SourceInfoChangeHandler CurrentSingleSourceChange;
|
||||||
|
|||||||
Reference in New Issue
Block a user