It is unlikely that Smart Tee Filter is not good - it's hardly any different from that in Windows 7. Instead the likely place for the issue is the camera driver and Y8 format in particular. I would look for issues in this media type which causes connection problems OR you might want to choose a more popular format such YUY2/YV12 via IAMStreamConfig::SetFormat
or via property page OR the Y8 format in question is interlaced and defined by VIDOINFOHEADER2
which is not supported by tee. Or, you might just need a driver update for the camera hardware.
The rate dropping issue with Inf Tee Filter again suggests that you need to check camera driver.
Smart Tee vs. Infinite Pin Tee
Both are splitters and it is typical question when there is a trouble with the one, then if it is really possible to replace it with another.
Both filters implement a pretty simple task, and both filters implement their own trick on purpose. Smart Tee filter strips time stamps to convert live feed into good for preview. For capture purposes quite so often you don't care much about latency as long as the stream integrity is intact and frames are good relative one to another. For presentation purposes you typically have time stamps being matched against clock, and you don't need it on live preview because all you want is to display a frame ASAP as soon as you have it. This is where Smart Tee is applicable, and it's not good for anything else.
On the contrary, Infinite Pin Tee filter is duplicating input feed without modifications. so it does not do what you would expect for live video preview and replacing one filter with the other directly just does not do the expected job. The filter is not even capable to copy/duplicate data and for this reason it shares memory allocator between its output pins, which potentially creates a number of issues. Yet it does the duplicating job and adds minimal overhead.
Additionally, Inf Pin Tee like filter is available in source code as Windows SDK sample \Samples\multimedia\directshow\filters\inftee
.
A quick'n'dirty replacement for Smart Tee filter with Inf Pin Tee filter is like this:
Capture -> Inf Tee -> Sample Grabber -> ...
Where Sample Grabber is set to call SampleCB
back where your callback will remove time stamps from video frames. This way you can replace one tee with the other for live preview purposes.