First working version with periodic dummy file writes (into timeshift folder) to workaround SMB2/SMB3 file existence cache problems.
Solution file reverted (modified version commited by mistake...)
MultiFileReader mods to fix handling of less-than-requested data chunks handling. Mods to try and workaround what seem to be SMB data caching integrity issues (maybe). Duration code modified to stop it hanging if files are not available.
Fix for MultiFileReader infinite Read() recursion bug. Also changed file read buffers to use heap memory (instead of stack space), and added 'isStopping' boolean to TsDuration.cpp (to speed up Stop() handling).
Various bug fixes and changes to allow new buffer allocation to work correctly, and fix duration handling bugs discovered along the way...

Version raised to 3.0.82.2
Significant cleanup of FileReader and MultiFileReader code to remove dead code. Change to using 'static' buffer memory allocation and add thread-safe locking. MultiFileReader file integrity checking improved. Various bug fixes and changes to handle file read errors properly. Duration update file read locking revised to avoid potential graph deadlock situation, and shorten 'Stop' times.
Modified/improved file integrity checking.
CancelIO() and SetStopping() methods added to speed up/prevent hanging of Stop() and filter destruction in situations where network connection/server is no longer available.

'std::nothrow' option cast removed from 'new' array object creation.
BufferingPause() now allows up to 2s pauses, and video delayed sample time is now also factored in (in addition to audio delayed sample time).
Some more dead code removed.
Added synchronous IO cancellation to FileReader (used when required as part of Stop and Seek operations)
Merge remote-tracking branch 'remotes/origin/MP1-4396_TsReader_UNC_File_does_not_exist_problem'