Look at the last line, if I evaluate the following source code line
"if (((initialFileSize < minTimeShiftFile) && (fileSize >= minTimeShiftFile)) || (fileSize >= (initialFileSize + minTimeShiftFile)))"
the expression will never be true, since it waits for the .ts file to be increased with 102400 bytes. It will never reach this as there is no input data.
Hence, the function runs into a timeout, returns false and eventually TvResult.NoVideoAudioDetected.
Thats only the symptom, not the reason. The problem is on lower level as you can see that there is no data coming from TsWriter.ax to the TS buffer files.
Based on the log (havent ever checked the CI or card specific code in TsWriter.ax) it looks like the CAM would be present (like you already have noticed). Now this might be actually the issue as TsWriter tries to communicate with the CI (that doesnt even exists!). Based on the log the CI tried to access over 15 seconds and during that time the timeout for NoVideoAudioDetected is triggered.
I agree that this is the symptom and not the reason. I only point out that the fallback code doesn't work in this scenario. I doubt if the CAM issue is the cause of this as then I would expect the same thing to happen on the first tune right? There, it also tries to query the CI several times but decides to continue without it for some reason.
The query for the CI, does that directly route to the BDA driver? I couldn't find the implementation yet, only the interface and where the interface is called. The location of the TsWriter.ax sources is also puzzling, where is it in the SVN build tree?
Netherlands