Try using some pre-made base directshow classes