Because I don't know what codec the mkv contains, I cannot determine where the problem is.
BTW, I suggest you to use FFMS2
as video source.
It can read any supported by ffmpeg and do indexing and seeking in 1 frame precision for many popular container format (except MPEG self-contained stream).
Also, it costs memory less than DirectShowSource.