Any idea why I am getting this message in the logs on HDHR?
That's normal. We're working on some improvements to the app and DVR to avoid this in the future.
Is there any documentation on how the app uses HDHR? I am guessing it is not going through the http interface?
We use a combination of the http interface and libhdhomerun. In some situations we have to force lockkey to steal the http stream so we can modify it with libhdhomerun. This should only be happening for DVB tuners, but is currently being forced for all connections due to an oversight.
Thanks for the explanation. I was thinking it had something to do with getting the [SNR] stats from the tuner.
What's concerning is how unoptimized everything is. 
E.g. two consecutive recordings on the same channel -> two requests.
With tuner sharing - two recordings from the same physical channel, two tuners in use.
DVB-S2 folks solved this problem over 10 years ago when satellites were still a thing.
Granted they usually only had 1 LNB so they had to conserve. With 4 tuner devices we can be somewhat kamikaze 
Yea its surprising they didn't implement physical channel sharing on the device firmware. The DVB users around here keep bugging us to add it on our end, and maybe we will someday.
Aren't you able to selectively filter PIDs dynamically when you use libhdhomerun rather than the HTTP interface? I'm pretty sure that's the way that Tvheadend operates with HDHR tuners. (Unless newer models from SD no longer allow you to request the mux with certain PIDs filtered?)
Yep, that's why we force lockkey for DVB, in order to add 0x12 to the mux for EPG.
HDHR developers use the fact the interface on their boxes is only 100Mbps as an excuse to not implement tuner sharing 