diff options
Diffstat (limited to 'MediaBrowser.MediaEncoding')
| -rw-r--r-- | MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs | 2 | ||||
| -rw-r--r-- | MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs | 39 |
2 files changed, 31 insertions, 10 deletions
diff --git a/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs b/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs index 10fb025e0..098cd14db 100644 --- a/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs +++ b/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs @@ -915,7 +915,7 @@ namespace MediaBrowser.MediaEncoding.Encoder var mapArg = imageStreamIndex.HasValue ? (" -map 0:v:" + imageStreamIndex.Value.ToString(CultureInfo.InvariantCulture)) : string.Empty; var enableThumbnail = !new List<string> { "wtv" }.Contains(container ?? string.Empty, StringComparer.OrdinalIgnoreCase); - var thumbnail = enableThumbnail ? ",thumbnail=30" : string.Empty; + var thumbnail = enableThumbnail ? ",thumbnail=24" : string.Empty; // Use ffmpeg to sample 100 (we can drop this if required using thumbnail=50 for 50 frames) frames and pick the best thumbnail. Have a fall back just in case. var args = useIFrame ? string.Format("-i {0}{3} -threads 0 -v quiet -vframes 1 -vf \"{2}{4}\" -f image2 \"{1}\"", inputPath, tempExtractPath, vf, mapArg, thumbnail) : diff --git a/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs b/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs index 8651f2758..f0c4c465d 100644 --- a/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs +++ b/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs @@ -200,9 +200,10 @@ namespace MediaBrowser.MediaEncoding.Probing using (var reader = XmlReader.Create(streamReader)) { reader.MoveToContent(); + reader.Read(); // Loop through each element - while (reader.Read()) + while (!reader.EOF) { if (reader.NodeType == XmlNodeType.Element) { @@ -219,6 +220,10 @@ namespace MediaBrowser.MediaEncoding.Probing break; } } + else + { + reader.Read(); + } } } } @@ -227,13 +232,14 @@ namespace MediaBrowser.MediaEncoding.Probing private void ReadFromDictNode(XmlReader reader, MediaInfo info) { - reader.MoveToContent(); - string currentKey = null; List<NameValuePair> pairs = new List<NameValuePair>(); + reader.MoveToContent(); + reader.Read(); + // Loop through each element - while (reader.Read()) + while (!reader.EOF) { if (reader.NodeType == XmlNodeType.Element) { @@ -272,17 +278,23 @@ namespace MediaBrowser.MediaEncoding.Probing break; } } + else + { + reader.Read(); + } } } private List<NameValuePair> ReadValueArray(XmlReader reader) { - reader.MoveToContent(); List<NameValuePair> pairs = new List<NameValuePair>(); + reader.MoveToContent(); + reader.Read(); + // Loop through each element - while (reader.Read()) + while (!reader.EOF) { if (reader.NodeType == XmlNodeType.Element) { @@ -303,6 +315,10 @@ namespace MediaBrowser.MediaEncoding.Probing break; } } + else + { + reader.Read(); + } } return pairs; @@ -360,13 +376,14 @@ namespace MediaBrowser.MediaEncoding.Probing private NameValuePair GetNameValuePair(XmlReader reader) { - reader.MoveToContent(); - string name = null; string value = null; + reader.MoveToContent(); + reader.Read(); + // Loop through each element - while (reader.Read()) + while (!reader.EOF) { if (reader.NodeType == XmlNodeType.Element) { @@ -383,6 +400,10 @@ namespace MediaBrowser.MediaEncoding.Probing break; } } + else + { + reader.Read(); + } } if (string.IsNullOrWhiteSpace(name) || |
