Fix for reading mkv on Linux - thx JGoutin :)

Fix #3762
This commit is contained in:
Nikolaj Olsson 2019-09-21 14:39:39 +02:00
parent ad9373c480
commit f2792f41bb

View File

@ -1,4 +1,5 @@
using System.IO; using System;
using System.IO;
namespace Nikse.SubtitleEdit.Core namespace Nikse.SubtitleEdit.Core
{ {
@ -23,27 +24,15 @@ namespace Nikse.SubtitleEdit.Core
/// <summary> /// <summary>
/// Gets the length in bytes of the stream. /// Gets the length in bytes of the stream.
/// </summary> /// </summary>
public override long Length public override long Length => _length;
{
get
{
return _length;
}
}
/// <summary> /// <summary>
/// Gets or sets the current position of the stream. /// Gets or sets the current position of the stream.
/// </summary> /// </summary>
public override long Position public override long Position
{ {
get get => _position;
{ set => Seek(value, SeekOrigin.Begin);
return _position;
}
set
{
Seek(value, SeekOrigin.Begin);
}
} }
/// <summary> /// <summary>
@ -57,22 +46,15 @@ namespace Nikse.SubtitleEdit.Core
switch (origin) switch (origin)
{ {
case SeekOrigin.Begin: case SeekOrigin.Begin:
if (_position != offset) _position = offset;
{ base.Seek(offset, SeekOrigin.Begin);
_position = offset;
base.Seek(offset, origin);
}
break; break;
case SeekOrigin.Current: case SeekOrigin.Current:
if (_position != _position + offset) _position += offset;
{ base.Seek(_position, SeekOrigin.Begin);
_position += offset;
base.Seek(offset, origin);
}
break; break;
default: default:
_position = base.Seek(offset, origin); throw new NotImplementedException();
break;
} }
return _position; return _position;
} }