How should I validate pts/dts after demuxing and then after decoding?
For me it is significant to have valid pts all the time for days and possibly weeks of continuous streaming.
After demuxing I check:
- dts <= pts
- prev_packet_dts < next_packet_pts
- I also discard packets with AV_NOPTS_VALUE and wait for packets with proper pts, because I don't know video duration at this case.
- pts of packets can be not increasing because of I-P-B frames Is it all right?
What about decoded AVFrames?
- Should 'pts' be increasing all the time?
- Why at some point 'pts' could lag behind 'dts'?
- Why pict_type is a parameter of AVFrame? Should be at AVPacket, because AVPacket is a compressed frame, not the opposite?