Unfortunately the discussion I already had with Elupus about this got lost. But the bottomline is that getting duration/aspect from DVDPlayer itself only works if the Process() thread is already running (and UpdatePlayState() got at least called once). This code is for the cases where we call GetStreamDetails() before Process() is running so it falls back to the aspect/duration from the demuxer.