Add canSeek, and have getDuration return -1 when the duration is unknown