add session reporting error handling
This commit is contained in:
parent
a238556202
commit
b8d4ef5fc6
|
@ -75,6 +75,16 @@ namespace MediaBrowser.Api.Playback.Hls
|
||||||
/// <returns>System.String.</returns>
|
/// <returns>System.String.</returns>
|
||||||
protected override string GetVideoArguments(StreamState state)
|
protected override string GetVideoArguments(StreamState state)
|
||||||
{
|
{
|
||||||
|
if (!state.IsOutputVideo)
|
||||||
|
{
|
||||||
|
return string.Empty;
|
||||||
|
}
|
||||||
|
// No known video stream
|
||||||
|
if (state.VideoStream == null)
|
||||||
|
{
|
||||||
|
return string.Empty;
|
||||||
|
}
|
||||||
|
|
||||||
var codec = EncodingHelper.GetVideoEncoder(state, ApiEntryPoint.Instance.GetEncodingOptions());
|
var codec = EncodingHelper.GetVideoEncoder(state, ApiEntryPoint.Instance.GetEncodingOptions());
|
||||||
|
|
||||||
var args = "-codec:v:0 " + codec;
|
var args = "-codec:v:0 " + codec;
|
||||||
|
|
|
@ -203,6 +203,11 @@ namespace MediaBrowser.Controller.Session
|
||||||
|
|
||||||
public void StartAutomaticProgress(ITimerFactory timerFactory, PlaybackProgressInfo progressInfo)
|
public void StartAutomaticProgress(ITimerFactory timerFactory, PlaybackProgressInfo progressInfo)
|
||||||
{
|
{
|
||||||
|
if (_disposed)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
lock (_progressLock)
|
lock (_progressLock)
|
||||||
{
|
{
|
||||||
_lastProgressInfo = progressInfo;
|
_lastProgressInfo = progressInfo;
|
||||||
|
@ -223,6 +228,11 @@ namespace MediaBrowser.Controller.Session
|
||||||
|
|
||||||
private async void OnProgressTimerCallback(object state)
|
private async void OnProgressTimerCallback(object state)
|
||||||
{
|
{
|
||||||
|
if (_disposed)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var progressInfo = _lastProgressInfo;
|
var progressInfo = _lastProgressInfo;
|
||||||
if (progressInfo == null)
|
if (progressInfo == null)
|
||||||
{
|
{
|
||||||
|
@ -274,8 +284,12 @@ namespace MediaBrowser.Controller.Session
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private bool _disposed = false;
|
||||||
|
|
||||||
public void Dispose()
|
public void Dispose()
|
||||||
{
|
{
|
||||||
|
_disposed = true;
|
||||||
|
|
||||||
StopAutomaticProgress();
|
StopAutomaticProgress();
|
||||||
_sessionManager = null;
|
_sessionManager = null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
|
||||||
[assembly: AssemblyVersion("3.2.24.1")]
|
[assembly: AssemblyVersion("3.2.25.2")]
|
||||||
|
|
Loading…
Reference in New Issue
Block a user