All encoders should output proper timestamps now.
Unified · Split
| @@ -346,13 +346,6 @@ static int compute_pkt_fields2(AVFormatContext *s, AVStream *st, AVPacket *pkt) · 345 unmodified lines | |||
| 346 | if (pkt->pts == AV_NOPTS_VALUE && pkt->dts != AV_NOPTS_VALUE && delay == 0) | 346 | if (pkt->pts == AV_NOPTS_VALUE && pkt->dts != AV_NOPTS_VALUE && delay == 0) |
| 347 | pkt->pts = pkt->dts; | 347 | pkt->pts = pkt->dts; |
| 348 | 348 | ||
| 349 | //XXX/FIXME this is a temporary hack until all encoders output pts | ||
| 350 | if ((pkt->pts == 0 || pkt->pts == AV_NOPTS_VALUE) && pkt->dts == AV_NOPTS_VALUE && !delay) { | ||
| 351 | pkt->dts = | ||
| 352 | // pkt->pts= st->cur_dts; | ||
| 353 | pkt->pts = st->pts.val; | ||
| 354 | } | ||
| 355 | |||
| 356 | //calculate dts from pts | 349 | //calculate dts from pts |
| 357 | if (pkt->pts != AV_NOPTS_VALUE && pkt->dts == AV_NOPTS_VALUE && delay <= MAX_REORDER_DELAY) { | 350 | if (pkt->pts != AV_NOPTS_VALUE && pkt->dts == AV_NOPTS_VALUE && delay <= MAX_REORDER_DELAY) { |
| 358 | st->pts_buffer[0] = pkt->pts; | 351 | st->pts_buffer[0] = pkt->pts; |