mirror of
https://github.com/SubtitleEdit/subtitleedit.git
synced 2024-10-27 22:42:38 +01:00
Transport stream - alwasy look for both dvb/bdsup - thx Borifix :)
This commit is contained in:
parent
9dc35cf510
commit
9135509ba7
@ -186,9 +186,15 @@ namespace Nikse.SubtitleEdit.Core.ContainerFormats.TransportStream
|
||||
FixTeletextItalics(TeletextSubtitlesLookup);
|
||||
}
|
||||
|
||||
foreach (var id in TeletextSubtitlesLookup.Keys)
|
||||
{
|
||||
SubtitlePacketIds = SubtitlePacketIds.Where(p => p != id).ToList();
|
||||
SubtitlesLookup.Remove(id);
|
||||
}
|
||||
|
||||
DvbSubtitlesLookup = new SortedDictionary<int, List<TransportStreamSubtitle>>();
|
||||
if (IsM2TransportStream) // m2ts blu-ray images from PES packets
|
||||
{
|
||||
DvbSubtitlesLookup = new SortedDictionary<int, List<TransportStreamSubtitle>>();
|
||||
foreach (int pid in SubtitlesLookup.Keys)
|
||||
{
|
||||
var bdMs = new MemoryStream();
|
||||
@ -223,14 +229,9 @@ namespace Nikse.SubtitleEdit.Core.ContainerFormats.TransportStream
|
||||
if (subList.Count > 0)
|
||||
{
|
||||
DvbSubtitlesLookup.Add(pid, subList);
|
||||
SubtitlePacketIds = SubtitlePacketIds.Where(p => p != pid).ToList();
|
||||
}
|
||||
}
|
||||
SubtitlePacketIds.Clear();
|
||||
foreach (int key in DvbSubtitlesLookup.Keys)
|
||||
{
|
||||
SubtitlePacketIds.Add(key);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
SubtitlePacketIds.Clear();
|
||||
@ -241,8 +242,7 @@ namespace Nikse.SubtitleEdit.Core.ContainerFormats.TransportStream
|
||||
SubtitlePacketIds.Sort();
|
||||
|
||||
// Merge packets and set start/end time
|
||||
DvbSubtitlesLookup = new SortedDictionary<int, List<TransportStreamSubtitle>>();
|
||||
foreach (int pid in SubtitlePacketIds)
|
||||
foreach (int pid in SubtitlePacketIds.Where(p=> !DvbSubtitlesLookup.ContainsKey(p)))
|
||||
{
|
||||
var subtitles = new List<TransportStreamSubtitle>();
|
||||
var list = ParseAndRemoveEmpty(GetSubtitlePesPackets(pid));
|
||||
@ -280,12 +280,16 @@ namespace Nikse.SubtitleEdit.Core.ContainerFormats.TransportStream
|
||||
subtitles.Add(sub);
|
||||
}
|
||||
}
|
||||
if (subtitles.Count > 0)
|
||||
{
|
||||
DvbSubtitlesLookup.Add(pid, subtitles);
|
||||
}
|
||||
}
|
||||
|
||||
SubtitlePacketIds.Clear();
|
||||
foreach (int key in DvbSubtitlesLookup.Keys)
|
||||
{
|
||||
if (DvbSubtitlesLookup[key].Count > 0)
|
||||
if (DvbSubtitlesLookup[key].Count > 0 && !SubtitlePacketIds.Contains(key))
|
||||
{
|
||||
SubtitlePacketIds.Add(key);
|
||||
}
|
||||
|
@ -12518,6 +12518,7 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
_subtitle = new Subtitle(tsParser.TeletextSubtitlesLookup.First().Value.First().Value);
|
||||
_subtitle.Renumber();
|
||||
SubtitleListview1.Fill(_subtitle);
|
||||
SubtitleListview1.SelectIndexAndEnsureVisible(0);
|
||||
if (!Configuration.Settings.General.DisableVideoAutoLoading)
|
||||
{
|
||||
OpenVideo(fileName);
|
||||
@ -12545,6 +12546,7 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
new SubRip().LoadSubtitle(_subtitle, subChooser.Srt.SplitToLines(), null);
|
||||
_subtitle.Renumber();
|
||||
SubtitleListview1.Fill(_subtitle);
|
||||
SubtitleListview1.SelectIndexAndEnsureVisible(0);
|
||||
if (!Configuration.Settings.General.DisableVideoAutoLoading)
|
||||
{
|
||||
OpenVideo(fileName);
|
||||
|
Loading…
Reference in New Issue
Block a user