Preserve native broadcast video and add patient shared stream startup
This commit is contained in:
@@ -49,7 +49,7 @@ public sealed class PlaybackFeedback
|
||||
var attempt = new Attempt(this, key, destination, language, token);
|
||||
lock (gate)
|
||||
{
|
||||
foreach (var expired in attempts.Where(x => DateTime.UtcNow - x.Value.UpdatedUtc > TimeSpan.FromMinutes(2)).Select(x => x.Key).ToArray()) attempts.Remove(expired);
|
||||
foreach (var expired in attempts.Where(x => DateTime.UtcNow - x.Value.UpdatedUtc > TimeSpan.FromSeconds(StartupBudget.WebSeconds + 15)).Select(x => x.Key).ToArray()) attempts.Remove(expired);
|
||||
if (attempts.Count >= 512 && !attempts.ContainsKey(key)) attempts.Remove(attempts.OrderBy(x => x.Value.UpdatedUtc).First().Key);
|
||||
attempts[key] = attempt;
|
||||
}
|
||||
@@ -61,7 +61,7 @@ public sealed class PlaybackFeedback
|
||||
{
|
||||
lock (gate)
|
||||
{
|
||||
if (!attempts.TryGetValue((user, device ?? "", reference), out var attempt) || DateTime.UtcNow - attempt.UpdatedUtc > TimeSpan.FromMinutes(2))
|
||||
if (!attempts.TryGetValue((user, device ?? "", reference), out var attempt) || DateTime.UtcNow - attempt.UpdatedUtc > TimeSpan.FromSeconds(StartupBudget.WebSeconds + 15))
|
||||
return new { Available = false, Phase = "preparing" };
|
||||
return new { Available = true, attempt.Phase, attempt.StartedUtc, attempt.UpdatedUtc };
|
||||
}
|
||||
@@ -151,7 +151,7 @@ public sealed class PlaybackFeedbackController : ControllerBase
|
||||
var selected = messages.Resolve(id, language, Request.Headers.AcceptLanguage.ToString());
|
||||
var auth = await authorization.GetAuthorizationInfo(HttpContext);
|
||||
if (auth.UserId == id && !auth.IsApiKey) messages.RememberClientLanguage(id, auth.DeviceId, language);
|
||||
return Ok(new { Language = selected, Texts = messages.Texts(selected) });
|
||||
return Ok(new { Language = selected, Texts = messages.Texts(selected), StartupTimeoutSeconds = StartupBudget.WebSeconds });
|
||||
}
|
||||
[HttpGet]
|
||||
[ResponseCache(NoStore = true, Location = ResponseCacheLocation.None)]
|
||||
|
||||
Reference in New Issue
Block a user