The decode timestamp (DTS) tells the player when a frame must be decoded, which can differ from when it is presented (PTS). The reason is B-frames in video: a bidirectionally-predicted frame depends on a later frame, so the decoder must receive and decode that reference out of display order. DTS captures that decode order while PTS captures display order, and the gap between them sizes the decoder's reorder buffer. Audio frames don't reference each other this way, so for audio DTS and PTS are normally equal. One frequent confusion worth flagging: this DTS, the decode timestamp, has nothing to do with the DTS surround-sound codec from DTS, Inc.

