aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com>2012-08-22 16:57:29 -0400
committerLukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com>2012-08-22 16:57:29 -0400
commit863ca986bd43dfcc103cdb0fd76a996a196cb5bc (patch)
tree7b47263321b0d3f9cdfacc4afd226a8851c71352
parentb15c064bba38dbafa2d785d096ec2bf2c39964e9 (diff)
Added some null checks and logging when parsing ffprobe output
-rw-r--r--MediaBrowser.Controller/FFMpeg/FFProbe.cs2
-rw-r--r--MediaBrowser.Controller/Providers/AudioInfoProvider.cs7
-rw-r--r--MediaBrowser.Controller/Providers/VideoInfoProvider.cs7
3 files changed, 14 insertions, 2 deletions
diff --git a/MediaBrowser.Controller/FFMpeg/FFProbe.cs b/MediaBrowser.Controller/FFMpeg/FFProbe.cs
index 1a207f221..eb0d77a99 100644
--- a/MediaBrowser.Controller/FFMpeg/FFProbe.cs
+++ b/MediaBrowser.Controller/FFMpeg/FFProbe.cs
@@ -66,8 +66,6 @@ namespace MediaBrowser.Controller.FFMpeg
private static FFProbeResult Run(string input)
{
- MediaBrowser.Common.Logging.Logger.LogInfo(input);
-
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.CreateNoWindow = true;
diff --git a/MediaBrowser.Controller/Providers/AudioInfoProvider.cs b/MediaBrowser.Controller/Providers/AudioInfoProvider.cs
index 6c0eb93a6..d45c5ee68 100644
--- a/MediaBrowser.Controller/Providers/AudioInfoProvider.cs
+++ b/MediaBrowser.Controller/Providers/AudioInfoProvider.cs
@@ -4,6 +4,7 @@ using System.ComponentModel.Composition;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
+using MediaBrowser.Common.Logging;
using MediaBrowser.Controller.Events;
using MediaBrowser.Controller.FFMpeg;
using MediaBrowser.Model.Entities;
@@ -35,6 +36,12 @@ namespace MediaBrowser.Controller.Providers
private void Fetch(Audio audio, FFProbeResult data)
{
+ if (data == null)
+ {
+ Logger.LogInfo("Null FFProbeResult for {0} {1}", audio.Id, audio.Name);
+ return;
+ }
+
MediaStream stream = data.streams.First(s => s.codec_type.Equals("audio", StringComparison.OrdinalIgnoreCase));
string bitrate = null;
diff --git a/MediaBrowser.Controller/Providers/VideoInfoProvider.cs b/MediaBrowser.Controller/Providers/VideoInfoProvider.cs
index 814565433..658497cad 100644
--- a/MediaBrowser.Controller/Providers/VideoInfoProvider.cs
+++ b/MediaBrowser.Controller/Providers/VideoInfoProvider.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.ComponentModel.Composition;
using System.Linq;
using System.Threading.Tasks;
+using MediaBrowser.Common.Logging;
using MediaBrowser.Controller.Events;
using MediaBrowser.Controller.FFMpeg;
using MediaBrowser.Model.Entities;
@@ -47,6 +48,12 @@ namespace MediaBrowser.Controller.Providers
private void Fetch(Video video, FFProbeResult data)
{
+ if (data == null)
+ {
+ Logger.LogInfo("Null FFProbeResult for {0} {1}", video.Id, video.Name);
+ return;
+ }
+
if (!string.IsNullOrEmpty(data.format.duration))
{
video.RunTimeTicks = TimeSpan.FromSeconds(double.Parse(data.format.duration)).Ticks;