Hi.
I was wondering why some videos hanged every now and then, I need to restart
Mp lient in order to survive. It locks up Directx totally. Nothing could be played when it happens.
Last line in log is from OnlineVideosPlayer.cs
IBaseFilter sourceFilter = DirectShowUtil.AddFilterToGraph(graphBuilder, "File Source (URL)");
After that I think is the dangerous part.
new Thread(MonitorBufferProgress) { IsBackground = true, Name = "MonitorBufferProgress" }.Start();
while (PercentageBuffered < OnlineVideoSettings.Instance.playbuffer) Thread.Sleep(50);
If MonitorBufferProgress does not upgrade PercentageBuffered, or Thread gets otherwise messed, then there is a possibility for infinity-loop. I think that's happening for me quite regulary.
There should be some some monitoring of MonitorBufferProgress thread and/or break that while loop, saying for example cannot retrieve data.
Br,
I was wondering why some videos hanged every now and then, I need to restart
Mp lient in order to survive. It locks up Directx totally. Nothing could be played when it happens.
Last line in log is from OnlineVideosPlayer.cs
IBaseFilter sourceFilter = DirectShowUtil.AddFilterToGraph(graphBuilder, "File Source (URL)");
After that I think is the dangerous part.
new Thread(MonitorBufferProgress) { IsBackground = true, Name = "MonitorBufferProgress" }.Start();
while (PercentageBuffered < OnlineVideoSettings.Instance.playbuffer) Thread.Sleep(50);
If MonitorBufferProgress does not upgrade PercentageBuffered, or Thread gets otherwise messed, then there is a possibility for infinity-loop. I think that's happening for me quite regulary.
There should be some some monitoring of MonitorBufferProgress thread and/or break that while loop, saying for example cannot retrieve data.
Br,
Finland