|
@@ -16,7 +16,7 @@ namespace Vinno.vCloud.Common.FIS.LiveVideos
|
|
|
internal class RealTimeCaptureManager
|
|
|
{
|
|
|
private readonly string _storagePath;
|
|
|
-
|
|
|
+ private bool _isTimeOut;
|
|
|
private bool _isBusy;
|
|
|
|
|
|
|
|
@@ -131,6 +131,7 @@ namespace Vinno.vCloud.Common.FIS.LiveVideos
|
|
|
return;
|
|
|
}
|
|
|
_isBusy = true;
|
|
|
+ _isTimeOut = false;
|
|
|
Task.Run(() =>
|
|
|
{
|
|
|
var stopwatch = new Stopwatch();
|
|
@@ -193,7 +194,15 @@ namespace Vinno.vCloud.Common.FIS.LiveVideos
|
|
|
if (stopwatch.ElapsedMilliseconds > 0 && vinnoImageData.ImageCount > 0)
|
|
|
{
|
|
|
var imageCount = index + 1;
|
|
|
- var frameRate = (int)Math.Ceiling((decimal)imageCount * 1000 / stopwatch.ElapsedMilliseconds);
|
|
|
+ double frameRate;
|
|
|
+ if (_isTimeOut)
|
|
|
+ {
|
|
|
+ frameRate = (double)(decimal)imageCount * 1000 / 30000;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ frameRate = (double)(decimal)imageCount * 1000 / stopwatch.ElapsedMilliseconds;
|
|
|
+ }
|
|
|
var probe = new VinnoProbe("ThirdPart", VinnoProbeType.Linear, new VinnoApplication("ThirdPart", string.Empty, "ThirdPart", "ThirdPart", false), frameRate);
|
|
|
vinnoImageData.AddProbe(probe);
|
|
|
}
|
|
@@ -225,8 +234,9 @@ namespace Vinno.vCloud.Common.FIS.LiveVideos
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public void StopRecordVideo()
|
|
|
+ public void StopRecordVideo(bool isTimeOut)
|
|
|
{
|
|
|
+ _isTimeOut = isTimeOut;
|
|
|
LiveVideoStatusChecker.Instance.StopRecord();
|
|
|
}
|
|
|
}
|