I agree with the principle, but it's proving tricky to get a nice conditional. :)  I *think* the only folders allowed are those with a fileid already available in the videoinfotag, so maybe something like:

```
if (!HasVideoInfoTag() || !GetVideoInfoTag()->HasStreamDetails()) // no stream details
{
  if ((HasVideoInfoTag() && GetVideoInfoTag()->m_iFileId >= 0) // file (or maybe folder) is in the database
  || (IsVideo() && !m_bIsFolder)) // some other video file for which we haven't yet got any database details
    // grab them there streamdetails from the db.
}
```
Something similar may then work for the extraction stuff below maybe?