It seems I have some MKVs with DTS tracks having bad timestamps. Since Dharma once every few seconds the video freezes for a very short time, looking much like a frame drop, but the dropped frames counter does not increase. The glitch occurs repeatable exactly at the same position in the video, and I always get corresponding log entries like this:
Code:
21:42:43 T:2590002064 M:1333829632 WARNING: CDVDPlayer::CheckContinuity - wrapback of stream:1, prev:454273000.000000, curr:454256000.000000, diff:-17000.000000
21:42:43 T:2590002064 M:1333911552 WARNING: CDVDPlayer::CheckContinuity - wrapback of stream:1, prev:454522000.000000, curr:454512000.000000, diff:-10000.000000
21:42:47 T:2590002064 M:1333800960 WARNING: CDVDPlayer::CheckContinuity - wrapback of stream:1, prev:458518000.000000, curr:458502000.000000, diff:-16000.000000
21:42:49 T:2590002064 M:1333751808 WARNING: CDVDPlayer::CheckContinuity - wrapback of stream:1, prev:460108000.000000, curr:460048000.000000, diff:-60000.000000
21:42:51 T:2590002064 M:1333694464 WARNING: CDVDPlayer::CheckContinuity - wrapback of stream:1, prev:462081000.000000, curr:462054000.000000, diff:-27000.000000
21:42:53 T:2590002064 M:1333796864 WARNING: CDVDPlayer::CheckContinuity - wrapback of stream:1, prev:464086000.000000, curr:464059000.000000, diff:-27000.000000
21:42:54 T:2590002064 M:1333755904 WARNING: CDVDPlayer::CheckContinuity - wrapback of stream:1, prev:466092000.000000, curr:466064000.000000, diff:-28000.000000
21:42:57 T:2590002064 M:1333698560 WARNING: CDVDPlayer::CheckContinuity - wrapback of stream:1, prev:468097000.000000, curr:468070000.000000, diff:-27000.000000
21:42:59 T:2590002064 M:1333665792 WARNING: CDVDPlayer::CheckContinuity - wrapback of stream:1, prev:470102000.000000, curr:470075000.000000, diff:-27000.000000
21:43:00 T:2590002064 M:1333751808 WARNING: CDVDPlayer::CheckContinuity - wrapback of stream:1, prev:471852000.000000, curr:471814000.000000, diff:-38000.000000
21:43:02 T:2590002064 M:1333694464 WARNING: CDVDPlayer::CheckContinuity - wrapback of stream:1, prev:473590000.000000, curr:473542000.000000, diff:-48000.000000
21:43:04 T:2590002064 M:1333764096 WARNING: CDVDPlayer::CheckContinuity - wrapback of stream:1, prev:475318000.000000, curr:475312000.000000, diff:-6000.000000
21:43:08 T:2590002064 M:1333665792 WARNING: CDVDPlayer::CheckContinuity - wrapback of stream:1, prev:479350000.000000, curr:479323000.000000, diff:-27000.000000
21:43:12 T:2590002064 M:1333694464 WARNING: CDVDPlayer::CheckContinuity - wrapback of stream:1, prev:483137000.000000, curr:483078000.000000, diff:-59000.000000
21:43:14 T:2590002064 M:1333653504 WARNING: CDVDPlayer::CheckContinuity - wrapback of stream:1, prev:485110000.000000, curr:485083000.000000, diff:-27000.000000
21:43:16 T:2590002064 M:1333714944 WARNING: CDVDPlayer::CheckContinuity - wrapback of stream:1, prev:487116000.000000, curr:487088000.000000, diff:-28000.000000
21:43:18 T:2590002064 M:1333673984 WARNING: CDVDPlayer::CheckContinuity - wrapback of stream:1, prev:489121000.000000, curr:489083000.000000, diff:-38000.000000
21:43:19 T:2590002064 M:1333751808 WARNING: CDVDPlayer::CheckContinuity - wrapback of stream:1, prev:490774000.000000, curr:490768000.000000, diff:-6000.000000
21:43:21 T:2590002064 M:1333686272 WARNING: CDVDPlayer::CheckContinuity - wrapback of stream:1, prev:492289000.000000, curr:492251000.000000, diff:-38000.000000
Based on TheSwissKnife's suggestion I was able to fix those files by splitting out the DTS track and merge it in again. After that, the video is smooth again and the continuity warnings do not appear anymore.
Does anyone know tools to check timestamps in an MKV file for continuity without playing them back in xbmc? It would be nice if I could run a check over my library ...