I'd tend to remove this line completely.  There's no evidence that I can see that stream details can be set while having an empty video duration.  If anything, you'd want some sort of StreamDetails::IsEmpty() or some such, but those are prone to getting it wrong just as badly.  IMO remove.