2012-02-07, 23:46
If you set sync method to resample but XBMC is bitstreaming, it will fall back to drop/dupe internally. voip-ninja, the reason why you see the stutter might be because the packet duration is calculated incorrectly (see my report somewhere in the beginning), at least for dts-ma (no clue about truehd).
What happens normally with dts-core? Each packet is 10.67 ms. XBMC continuously monitors how audio drifts away from video. If the audio is more than a packet "away" from video, it will repeat or skip audio packets to get in sync with video. Suppose audio is 11 ms late to video, then XBMC will skip the next dts core packet. Then, audio is only 1 ms behind.
But when the drift is more than 100 ms, XBMC will not attempt to do this. Instead, it does a resync (sort of a seek), and that can drop video frames. The issue is that packet duration calculation is not working correctly with dts-ma and dts-ma packets are recognized being 170.67 ms. Therefore the normal audio packet drop/dupe is never occuring. So instead of slowly dropping/repeating audio packets to keep audio in sync with video it will just do a resync when audio is away by 100 msecs. If you watch carefully, you should experience lipsync issues before the framedrop occurs.
What happens normally with dts-core? Each packet is 10.67 ms. XBMC continuously monitors how audio drifts away from video. If the audio is more than a packet "away" from video, it will repeat or skip audio packets to get in sync with video. Suppose audio is 11 ms late to video, then XBMC will skip the next dts core packet. Then, audio is only 1 ms behind.
But when the drift is more than 100 ms, XBMC will not attempt to do this. Instead, it does a resync (sort of a seek), and that can drop video frames. The issue is that packet duration calculation is not working correctly with dts-ma and dts-ma packets are recognized being 170.67 ms. Therefore the normal audio packet drop/dupe is never occuring. So instead of slowly dropping/repeating audio packets to keep audio in sync with video it will just do a resync when audio is away by 100 msecs. If you watch carefully, you should experience lipsync issues before the framedrop occurs.