aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.MediaEncoding
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.MediaEncoding')
-rw-r--r--MediaBrowser.MediaEncoding/Encoder/BaseEncoder.cs5
-rw-r--r--MediaBrowser.MediaEncoding/Encoder/VideoEncoder.cs4
-rw-r--r--MediaBrowser.MediaEncoding/Subtitles/AssParser.cs71
3 files changed, 40 insertions, 40 deletions
diff --git a/MediaBrowser.MediaEncoding/Encoder/BaseEncoder.cs b/MediaBrowser.MediaEncoding/Encoder/BaseEncoder.cs
index 6ddc3487d..44e0d1517 100644
--- a/MediaBrowser.MediaEncoding/Encoder/BaseEncoder.cs
+++ b/MediaBrowser.MediaEncoding/Encoder/BaseEncoder.cs
@@ -10,6 +10,7 @@ using MediaBrowser.MediaEncoding.Subtitles;
using MediaBrowser.Model.Configuration;
using MediaBrowser.Model.Dlna;
using MediaBrowser.Model.Drawing;
+using MediaBrowser.Model.Dto;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.IO;
using MediaBrowser.Model.Logging;
@@ -527,11 +528,9 @@ namespace MediaBrowser.MediaEncoding.Encoder
}
private void AttachMediaStreamInfo(EncodingJob state,
- ChannelMediaInfo mediaInfo,
+ MediaSourceInfo mediaSource,
EncodingJobOptions videoRequest)
{
- var mediaSource = mediaInfo.ToMediaSource();
-
state.InputProtocol = mediaSource.Protocol;
state.MediaPath = mediaSource.Path;
state.RunTimeTicks = mediaSource.RunTimeTicks;
diff --git a/MediaBrowser.MediaEncoding/Encoder/VideoEncoder.cs b/MediaBrowser.MediaEncoding/Encoder/VideoEncoder.cs
index efd0bd909..a714b160e 100644
--- a/MediaBrowser.MediaEncoding/Encoder/VideoEncoder.cs
+++ b/MediaBrowser.MediaEncoding/Encoder/VideoEncoder.cs
@@ -5,6 +5,7 @@ using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.LiveTv;
using MediaBrowser.Controller.MediaEncoding;
using MediaBrowser.Controller.Session;
+using MediaBrowser.Model.Dlna;
using MediaBrowser.Model.IO;
using MediaBrowser.Model.Logging;
using System;
@@ -26,7 +27,8 @@ namespace MediaBrowser.MediaEncoding.Encoder
var format = string.Empty;
var keyFrame = string.Empty;
- if (string.Equals(Path.GetExtension(state.OutputFilePath), ".mp4", StringComparison.OrdinalIgnoreCase))
+ if (string.Equals(Path.GetExtension(state.OutputFilePath), ".mp4", StringComparison.OrdinalIgnoreCase) &&
+ state.Options.Context == EncodingContext.Streaming)
{
format = " -f mp4 -movflags frag_keyframe+empty_moov";
}
diff --git a/MediaBrowser.MediaEncoding/Subtitles/AssParser.cs b/MediaBrowser.MediaEncoding/Subtitles/AssParser.cs
index 2a8c958b2..4d426683f 100644
--- a/MediaBrowser.MediaEncoding/Subtitles/AssParser.cs
+++ b/MediaBrowser.MediaEncoding/Subtitles/AssParser.cs
@@ -42,6 +42,9 @@ namespace MediaBrowser.MediaEncoding.Subtitles
subEvent.StartPositionTicks = GetTicks(sections[headers["Start"]]);
subEvent.EndPositionTicks = GetTicks(sections[headers["End"]]);
+
+ //RemoteNativeFormatting(subEvent);
+
subEvent.Text = string.Join(",", sections.Skip(headers["Text"]));
subEvent.Text = subEvent.Text.Replace(@"\N", ParserValues.NewLine, StringComparison.OrdinalIgnoreCase);
subEvent.Text = Regex.Replace(subEvent.Text, @"\{(\\[\w]+\(?([\w\d]+,?)+\)?)+\}", string.Empty, RegexOptions.IgnoreCase);
@@ -49,7 +52,6 @@ namespace MediaBrowser.MediaEncoding.Subtitles
trackInfo.TrackEvents.Add(subEvent);
}
}
- RemoteNativeFormatting(trackInfo);
return trackInfo;
}
@@ -74,46 +76,43 @@ namespace MediaBrowser.MediaEncoding.Subtitles
/// <summary>
/// Credit: https://github.com/SubtitleEdit/subtitleedit/blob/master/src/Logic/SubtitleFormats/AdvancedSubStationAlpha.cs
/// </summary>
- private void RemoteNativeFormatting(SubtitleTrackInfo subtitle)
+ private void RemoteNativeFormatting(SubtitleTrackEvent p)
{
- foreach (var p in subtitle.TrackEvents)
+ int indexOfBegin = p.Text.IndexOf('{');
+ string pre = string.Empty;
+ while (indexOfBegin >= 0 && p.Text.IndexOf('}') > indexOfBegin)
{
- int indexOfBegin = p.Text.IndexOf('{');
- string pre = string.Empty;
- while (indexOfBegin >= 0 && p.Text.IndexOf('}') > indexOfBegin)
+ string s = p.Text.Substring(indexOfBegin);
+ if (s.StartsWith("{\\an1}", StringComparison.Ordinal) ||
+ s.StartsWith("{\\an2}", StringComparison.Ordinal) ||
+ s.StartsWith("{\\an3}", StringComparison.Ordinal) ||
+ s.StartsWith("{\\an4}", StringComparison.Ordinal) ||
+ s.StartsWith("{\\an5}", StringComparison.Ordinal) ||
+ s.StartsWith("{\\an6}", StringComparison.Ordinal) ||
+ s.StartsWith("{\\an7}", StringComparison.Ordinal) ||
+ s.StartsWith("{\\an8}", StringComparison.Ordinal) ||
+ s.StartsWith("{\\an9}", StringComparison.Ordinal))
{
- string s = p.Text.Substring(indexOfBegin);
- if (s.StartsWith("{\\an1}", StringComparison.Ordinal) ||
- s.StartsWith("{\\an2}", StringComparison.Ordinal) ||
- s.StartsWith("{\\an3}", StringComparison.Ordinal) ||
- s.StartsWith("{\\an4}", StringComparison.Ordinal) ||
- s.StartsWith("{\\an5}", StringComparison.Ordinal) ||
- s.StartsWith("{\\an6}", StringComparison.Ordinal) ||
- s.StartsWith("{\\an7}", StringComparison.Ordinal) ||
- s.StartsWith("{\\an8}", StringComparison.Ordinal) ||
- s.StartsWith("{\\an9}", StringComparison.Ordinal))
- {
- pre = s.Substring(0, 6);
- }
- else if (s.StartsWith("{\\an1\\", StringComparison.Ordinal) ||
- s.StartsWith("{\\an2\\", StringComparison.Ordinal) ||
- s.StartsWith("{\\an3\\", StringComparison.Ordinal) ||
- s.StartsWith("{\\an4\\", StringComparison.Ordinal) ||
- s.StartsWith("{\\an5\\", StringComparison.Ordinal) ||
- s.StartsWith("{\\an6\\", StringComparison.Ordinal) ||
- s.StartsWith("{\\an7\\", StringComparison.Ordinal) ||
- s.StartsWith("{\\an8\\", StringComparison.Ordinal) ||
- s.StartsWith("{\\an9\\", StringComparison.Ordinal))
- {
- pre = s.Substring(0, 5) + "}";
- }
- int indexOfEnd = p.Text.IndexOf('}');
- p.Text = p.Text.Remove(indexOfBegin, (indexOfEnd - indexOfBegin) + 1);
-
- indexOfBegin = p.Text.IndexOf('{');
+ pre = s.Substring(0, 6);
}
- p.Text = pre + p.Text;
+ else if (s.StartsWith("{\\an1\\", StringComparison.Ordinal) ||
+ s.StartsWith("{\\an2\\", StringComparison.Ordinal) ||
+ s.StartsWith("{\\an3\\", StringComparison.Ordinal) ||
+ s.StartsWith("{\\an4\\", StringComparison.Ordinal) ||
+ s.StartsWith("{\\an5\\", StringComparison.Ordinal) ||
+ s.StartsWith("{\\an6\\", StringComparison.Ordinal) ||
+ s.StartsWith("{\\an7\\", StringComparison.Ordinal) ||
+ s.StartsWith("{\\an8\\", StringComparison.Ordinal) ||
+ s.StartsWith("{\\an9\\", StringComparison.Ordinal))
+ {
+ pre = s.Substring(0, 5) + "}";
+ }
+ int indexOfEnd = p.Text.IndexOf('}');
+ p.Text = p.Text.Remove(indexOfBegin, (indexOfEnd - indexOfBegin) + 1);
+
+ indexOfBegin = p.Text.IndexOf('{');
}
+ p.Text = pre + p.Text;
}
}
}