add session reporting error handling

This commit is contained in:
Luke Pulverenti 2017-07-12 14:54:46 -04:00
parent a238556202
commit b8d4ef5fc6
3 changed files with 25 additions and 1 deletions

View File

@ -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;

View File

@ -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;
} }

View File

@ -1,3 +1,3 @@
using System.Reflection; using System.Reflection;
[assembly: AssemblyVersion("3.2.24.1")] [assembly: AssemblyVersion("3.2.25.2")]