Why is PTS = DTS when there is no B frame in H264?
Why is DTS not always smaller than PTS, because decoding takes time, even if PTS - DTS is a very small number?
I think the frame must be decoded before playing or is there something wrong with my understanding?
Because there is no reason to do so. PTS would always equal DTS plus some constant. So it would add data to the stream, without adding any information.