byte[] rebuildSubsBlock(List<SubtitleEntry> entries, int blockNumber)
{
MemoryStream mem = new MemoryStream();
BinaryWriter br = new BinaryWriter(mem);
mem.Position += 4;
foreach (SubtitleEntry e in entries)
{
if (e.blockNumber != blockNumber)
continue;
var langNumber = ((int)e.lang).ToString().ToCharArray();
br.Write(langNumber, 0, langNumber.Length);
br.Write('\r');
br.Write(Encoding.UTF8.GetBytes(e.text));
br.Write('\r');
}
mem.Position = 0;
mem.writeuint((uint)(mem.Length - 4), isBE);
return mem.ToArray();
}