I don't think you need the HasVideoInfoTag() stuff here - this is what IsVideo et. al. do straight away anyway.