Fixes StartSharing() method in CiscoSparkCodec to only execute if the PresentationSource is > 0

Fixes ecs-612 by adding property to UsageTracking object to determing if the usage tracker is already running.
This commit is contained in:
Neil Dorin
2017-10-24 15:45:05 -06:00
parent 3d7fb1a804
commit 5f5c963fa4
3 changed files with 22 additions and 2 deletions

View File

@@ -27,6 +27,8 @@ namespace PepperDash.Essentials.Core
public InUseTracking InUseTracker { get; protected set; }
public bool UsageIsTracked { get; set; }
public bool UsageTrackingStarted { get; protected set; }
public DateTime UsageStartTime { get; protected set; }
public DateTime UsageEndTime { get; protected set; }
@@ -59,6 +61,7 @@ namespace PepperDash.Essentials.Core
/// </summary>
public void StartDeviceUsage()
{
UsageTrackingStarted = true;
UsageStartTime = DateTime.Now;
}
@@ -69,6 +72,8 @@ namespace PepperDash.Essentials.Core
{
try
{
UsageTrackingStarted = false;
UsageEndTime = DateTime.Now;
if (UsageStartTime != null)

View File

@@ -1026,7 +1026,8 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco
else
sendingMode = "LocalOnly";
SendText(string.Format("xCommand Presentation Start PresentationSource: {0} SendingMode: {1}", PresentationSource, sendingMode));
if(PresentationSource > 0)
SendText(string.Format("xCommand Presentation Start PresentationSource: {0} SendingMode: {1}", PresentationSource, sendingMode));
}
/// <summary>

View File

@@ -43,10 +43,19 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
public RoutingPortCollection<RoutingOutputPort> OutputPorts { get; private set; }
bool wasIsInCall;
/// <summary>
/// Returns true when any call is not in state Unknown, Disconnecting, Disconnected
/// </summary>
public bool IsInCall { get { return ActiveCalls.Any(c => c.IsActiveCall); } }
public bool IsInCall
{
get
{
var value = ActiveCalls.Any(c => c.IsActiveCall);
return value;
}
}
public BoolFeedback StandbyIsOnFeedback { get; private set; }
@@ -131,6 +140,11 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
if (AutoShareContentWhileInCall)
StartSharing();
if(IsInCall && !UsageTracker.UsageTrackingStarted)
UsageTracker.StartDeviceUsage();
else if(UsageTracker.UsageTrackingStarted && !IsInCall)
UsageTracker.EndDeviceUsage();
}
/// <summary>