Skip to content

Commit

Permalink
fix: Remove preloadPercentage from settings
Browse files Browse the repository at this point in the history
  • Loading branch information
SenexCrenshaw committed Feb 7, 2024
1 parent e4202dd commit 099e643
Show file tree
Hide file tree
Showing 8 changed files with 12 additions and 23 deletions.
2 changes: 1 addition & 1 deletion StreamMaster.API/logsettings.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
"StreamMaster.Infrastructure.Services.Downloads": "Information",
"StreamMaster.Logging": "Information",
"StreamMaster.Logging.StatsLogger": "Information",
"StreamMaster.Logging.ReadsLogger": "Information",
"StreamMaster.Logging.ReadsLogger": "Debug",
"StreamMaster.Logging.CircularBufferLogger": "Information",
"StreamMaster.Logging.WriteLogger": "Information",
"StreamMaster.Logging.WaitsLogger": "Information",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ public class UpdateSettingRequest : IRequest<UpdateSettingResponse>
public bool? PrettyEPG { get; set; }
public int? MaxConnectRetry { get; set; }
public int? MaxConnectRetryTimeMS { get; set; }
//public int? PreloadPercentage { get; set; }
public int? RingBufferSizeMB { get; set; }

public string? SSLCertPassword { get; set; }
Expand Down Expand Up @@ -419,11 +418,6 @@ private async Task<bool> UpdateSetting(Setting currentSetting, UpdateSettingRequ
currentSetting.GlobalStreamLimit = (int)request.GlobalStreamLimit;
}

//if (request.PreloadPercentage != null && request.PreloadPercentage >= 0 && request.PreloadPercentage <= 100 && request.PreloadPercentage != currentSetting.PreloadPercentage)
//{
// currentSetting.PreloadPercentage = (int)request.PreloadPercentage;
//}

if (request.RingBufferSizeMB != null && request.RingBufferSizeMB >= 0 && request.RingBufferSizeMB != currentSetting.RingBufferSizeMB)
{
currentSetting.RingBufferSizeMB = (int)request.RingBufferSizeMB;
Expand Down
2 changes: 1 addition & 1 deletion StreamMaster.Domain/Common/Setting.cs
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ public class BaseSettings : M3USettings
public int GlobalStreamLimit { get; set; } = 1;
public int MaxConnectRetry { get; set; } = 20;
public int MaxConnectRetryTimeMS { get; set; } = 200;
//public int PreloadPercentage { get; set; } = 25;

public int RingBufferSizeMB { get; set; } = 4;

public List<string> NameRegex { get; set; } = [];
Expand Down
6 changes: 0 additions & 6 deletions StreamMaster.Streams/Buffers/CircularRingBuffer.Main.cs
Original file line number Diff line number Diff line change
Expand Up @@ -65,18 +65,12 @@ public CircularRingBuffer(VideoStreamDto videoStreamDto, string channelId, strin
_inputStatisticsManager = inputStatisticsManager ?? throw new ArgumentNullException(nameof(inputStatisticsManager));


//if (setting.PreloadPercentage is < 0 or > 100)
//{
// setting.PreloadPercentage = 0;
//}

if (setting.RingBufferSizeMB is < 1 or > 256)
{
setting.RingBufferSizeMB = 4;
}

_bufferSize = setting.RingBufferSizeMB * 1024 * 1000;
//_preBuffPercent = setting.PreloadPercentage;

StreamInfo = new StreamInfo
{
Expand Down
5 changes: 4 additions & 1 deletion StreamMaster.Streams/Buffers/CircularRingBuffer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -84,13 +84,16 @@ public async Task<int> ReadChunkMemory(long readIndex, Memory<byte> target, Canc
break;

}
_readLogger.LogDebug("_pauseSignal");
await _pauseSignal.Task;

_readLogger.LogDebug("GetAvailableBytes");
availableBytes = GetAvailableBytes(readIndex, correlationId);
_readLogger.LogDebug("Start bytesRead: {bytesRead} bytesToRead: {bytesToRead} clientReadIndex: {clientReadIndex} writeindex: {writeindex} writebytes: {writebytes} availableBytes: {availableBytes} target.Length: {target.Length} readIndex: {readIndex}", bytesRead, bytesToRead, clientReadIndex, _writeIndex, WriteBytes, availableBytes, target.Length, readIndex);

while (availableBytes == 0 && !cancellationToken.IsCancellationRequested)
{
_readLogger.LogDebug("_writeSignal");

await _writeSignal.Task.WaitAsync(cancellationToken);//.WaitWithTimeoutAsync("WriteSignal", 30000, linkedToken);
if (_writeSignal.Task.IsCanceled || cancellationToken.IsCancellationRequested)
{
Expand Down
11 changes: 6 additions & 5 deletions StreamMaster.Streams/Streams/StreamHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,7 @@ private async Task<VideoInfo> CreateFFProbeStream(string ffProbeExec, byte[] vid
}
catch (Exception ex) when (ex is IOException or JsonException or Exception)
{
logger.LogError(ex, "CreateFFProbeStream Error: {ErrorMessage}", ex.Message);
//logger.LogError( "CreateFFProbeStream Error: {ErrorMessage}");
process.Kill();
}
return new();
Expand Down Expand Up @@ -263,12 +263,14 @@ public async Task StartVideoStreamingAsync(Stream stream)
{
Stopwatch timeBetweenWrites = Stopwatch.StartNew(); // Initialize the stopwatch
int bytesRead = bufferMemory.Length;
while (!linkedToken.IsCancellationRequested)//&& retryCount < maxRetries)
using BufferedStream bufferedStream = new(stream, bufferSize: bufferMemory.Length);

while (!linkedToken.IsCancellationRequested)
{
try
{

int readBytes = await stream.ReadAsync(bufferMemory, linkedToken.Token);
//int readBytes = await stream.ReadAtLeastAsync(bufferMemory, 4096, true, linkedToken.Token);
int readBytes = await bufferedStream.ReadAsync(bufferMemory, linkedToken.Token);
if (readBytes == 0)
{
throw new EndOfStreamException();
Expand All @@ -279,7 +281,6 @@ public async Task StartVideoStreamingAsync(Stream stream)
if (CircularRingBuffer.IsPaused)
{
CircularRingBuffer.UnPauseReaders();

}

await UnPauseClients();
Expand Down
1 change: 0 additions & 1 deletion streammasterwebui/features/settings/StreamingSettings.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,6 @@ export function StreamingSettings(): React.ReactElement {
{getDropDownLine({ field: 'streamingProxyType', options: getHandlersOptions(), selectedCurrentSettingDto, onChange })}
{getInputNumberLine({ field: 'globalStreamLimit', selectedCurrentSettingDto, onChange })}
{getInputNumberLine({ field: 'ringBufferSizeMB', min: 1, max: 256, selectedCurrentSettingDto, onChange })}
{getInputNumberLine({ field: 'preloadPercentage', max: 999, selectedCurrentSettingDto, onChange })}

{/* {getInputNumberLine('maxConnectRetry', 999)}
{getInputNumberLine('maxConnectRetryTimeMS', 999)} */}
Expand Down
2 changes: 0 additions & 2 deletions streammasterwebui/lib/locales/MessagesEn.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -108,8 +108,6 @@ const MessagesEn: messages_enType = {

playlist: 'Playlist',

preloadPercentage: 'Buffer Preload Percentage',

regex: 'Regex',

rememberme: 'Remember Me',
Expand Down

0 comments on commit 099e643

Please sign in to comment.