update hls streams

This commit is contained in:
Luke Pulverenti 2017-06-01 00:27:17 -04:00
parent 9d216c79bb
commit b9935a4643
3 changed files with 17 additions and 25 deletions

View File

@ -202,7 +202,7 @@ namespace MediaBrowser.Api.Playback.Hls
while (!reader.EndOfStream) while (!reader.EndOfStream)
{ {
var line = await reader.ReadLineAsync().ConfigureAwait(false); var line = reader.ReadLine();
if (line.IndexOf("#EXTINF:", StringComparison.OrdinalIgnoreCase) != -1) if (line.IndexOf("#EXTINF:", StringComparison.OrdinalIgnoreCase) != -1)
{ {
@ -234,11 +234,11 @@ namespace MediaBrowser.Api.Playback.Hls
try try
{ {
return FileSystem.GetFileStream(tmpPath, FileOpenMode.Open, FileAccessMode.Read, FileShareMode.ReadWrite, FileOpenOptions.Asynchronous | FileOpenOptions.SequentialScan); return FileSystem.GetFileStream(tmpPath, FileOpenMode.Open, FileAccessMode.Read, FileShareMode.ReadWrite, FileOpenOptions.SequentialScan);
} }
catch (IOException) catch (IOException)
{ {
return FileSystem.GetFileStream(path, FileOpenMode.Open, FileAccessMode.Read, FileShareMode.ReadWrite, FileOpenOptions.Asynchronous | FileOpenOptions.SequentialScan); return FileSystem.GetFileStream(path, FileOpenMode.Open, FileAccessMode.Read, FileShareMode.ReadWrite, FileOpenOptions.SequentialScan);
} }
} }

View File

@ -423,7 +423,7 @@ namespace MediaBrowser.Api.Playback.Hls
return Path.Combine(folder, filename + index.ToString(UsCulture) + GetSegmentFileExtension(state.Request)); return Path.Combine(folder, filename + index.ToString(UsCulture) + GetSegmentFileExtension(state.Request));
} }
private async Task<object> GetSegmentResult(StreamState state, private async Task<object> GetSegmentResult(StreamState state,
string playlistPath, string playlistPath,
string segmentPath, string segmentPath,
string segmentExtension, string segmentExtension,
@ -456,26 +456,20 @@ namespace MediaBrowser.Api.Playback.Hls
{ {
try try
{ {
using (var fileStream = GetPlaylistFileStream(playlistPath)) var text = FileSystem.ReadAllText(playlistPath, Encoding.UTF8);
{
using (var reader = new StreamReader(fileStream, Encoding.UTF8, true, BufferSize))
{
var text = await reader.ReadToEndAsync().ConfigureAwait(false);
// If it appears in the playlist, it's done // If it appears in the playlist, it's done
if (text.IndexOf(segmentFilename, StringComparison.OrdinalIgnoreCase) != -1) if (text.IndexOf(segmentFilename, StringComparison.OrdinalIgnoreCase) != -1)
{ {
if (!segmentFileExists) if (!segmentFileExists)
{ {
segmentFileExists = FileSystem.FileExists(segmentPath); segmentFileExists = FileSystem.FileExists(segmentPath);
}
if (segmentFileExists)
{
return await GetSegmentResult(state, segmentPath, segmentIndex, transcodingJob).ConfigureAwait(false);
}
//break;
}
} }
if (segmentFileExists)
{
return await GetSegmentResult(state, segmentPath, segmentIndex, transcodingJob).ConfigureAwait(false);
}
//break;
} }
} }
catch (IOException) catch (IOException)

View File

@ -63,9 +63,7 @@ namespace MediaBrowser.Api.Playback.Progressive
private Stream GetInputStream(bool allowAsyncFileRead) private Stream GetInputStream(bool allowAsyncFileRead)
{ {
var fileOpenOptions = StartPosition > 0 var fileOpenOptions = FileOpenOptions.SequentialScan;
? FileOpenOptions.RandomAccess
: FileOpenOptions.SequentialScan;
if (allowAsyncFileRead) if (allowAsyncFileRead)
{ {