Open Tralapo opened 3 years ago
Please check the Event Viewer -> Windows Logs -> Application. There should be an error there.
I see two entries around that time:
RaceControl.exe
2.2.0.0
60513887
KERNELBASE.dll
10.0.19041.906
2f2f77bf
e0434352
0000000000034b59
38fc
01d743445cd208b1
C:\Program Files\Race Control\RaceControl.exe
C:\WINDOWS\System32\KERNELBASE.dll
791cde36-f095-4a28-9538-fc50b1294532
Application: RaceControl.exe CoreCLR Version: 5.0.521.16609 .NET Version: 5.0.5 Description: The process was terminated due to an unhandled exception. Exception Info: System.NullReferenceException: Object reference not set to an instance of an object. at FlyleafLib.MediaFramework.MediaDecoder.AudioDecoder.ProcessAudioFrame(AVFrame* frame) at FlyleafLib.MediaFramework.MediaDecoder.AudioDecoder.DecodeInternal() at FlyleafLib.MediaFramework.MediaDecoder.DecoderBase.Decode() at FlyleafLib.MediaFramework.MediaDecoder.DecoderBase.<StartThread>b__34_0() at System.Threading.ThreadHelper.ThreadStart_Context(Object state) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) --- End of stack trace from previous location --- at System.Threading.ThreadHelper.ThreadStart()
@robvdpol Even if this one also seems to be on my side in AudioDecoder.cs at the following lines
AudioFrame mFrame = new AudioFrame();
mFrame.pts = frame->best_effort_timestamp == AV_NOPTS_VALUE ? frame->pts : frame->best_effort_timestamp;
if (mFrame.pts == AV_NOPTS_VALUE) return null;
mFrame.timestamp = ((long)(mFrame.pts * AudioStream.Timebase) - AudioStream.StartTime) + cfg.audio.DelayTicks + (AudioStream.StartTime - decCtx.VideoDecoder.VideoStream.StartTime);
The problem seems to be the audio stream itself. It is either not full identify which means that you need to parse AVFormatOptions and increase the following values (Possible when a user opens a lot of players at the same time?)
config.demuxer.VideoFormatOpt.Add("probesize",(50 * (long)1024 * 1024).ToString());
config.demuxer.VideoFormatOpt.Add("analyzeduration",(10 * (long)1000 * 1000).ToString());
Note: if you increase those values possible you will have general delays opening urls, so do it only in cases that is actually needed
Or just a faulty audio stream that you shouldn't select possible check CodecName. You need to reproduce it.
Yes this happens when opening a layout with multiple players at the same time. I already have a 1 second delay between opening the players but I might even wait until the stream is playing before opening the next. Would that fix this issue?
Yes, I think that would resolve it if that is the issue. However, you could even start them in parallel and increase only for those players the analyzeduration/probesize (30 seconds analyze duration maybe?) which will allow you to open them faster at the same time. You need to test those scenarios.
Describe the bug Race Control 2.2.0 sometimes crashes completely when loading my layout in the internal player. I have been opening/closing Spain P2 live like 10 times now since it started and about 4-5 times the crash happend. All video players and Race Control itself close, without an error message.
This issue is not happening with MPV.
Desktop (please complete the following information):
F1TV account
Additional context My Layout file:
And the error log, which does not seem to include any error or warning. This is from when I started the app, loaded the layout in the internal player and it crashed: