diff options
| author | LukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com> | 2012-08-22 16:57:29 -0400 |
|---|---|---|
| committer | LukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com> | 2012-08-22 16:57:29 -0400 |
| commit | 863ca986bd43dfcc103cdb0fd76a996a196cb5bc (patch) | |
| tree | 7b47263321b0d3f9cdfacc4afd226a8851c71352 | |
| parent | b15c064bba38dbafa2d785d096ec2bf2c39964e9 (diff) | |
Added some null checks and logging when parsing ffprobe output
| -rw-r--r-- | MediaBrowser.Controller/FFMpeg/FFProbe.cs | 2 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Providers/AudioInfoProvider.cs | 7 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Providers/VideoInfoProvider.cs | 7 |
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;
|
