diff options
author | Marton Balint <cus@passwd.hu> | 2018-06-28 21:07:30 +0200 |
---|---|---|
committer | Marton Balint <cus@passwd.hu> | 2018-07-02 11:58:08 +0200 |
commit | 06a8d7ff00f5c3d13d331a56db839fb825ea6697 (patch) | |
tree | a794c9d00fe91d7034597caef2244f0daae2264b | |
parent | da36bcbeb78c78e493d18d3cd3ac92ea401e7031 (diff) | |
download | ffmpeg-06a8d7ff00f5c3d13d331a56db839fb825ea6697.tar.gz |
avformat/apngdec: set pts to AV_NOPTS_VALUE
And let the generic code figure out the proper PTS. This is needed because apng
does not provide seek functions, but after a generic seek (e.g. to file start)
timestamps are not reset which causes broken timestamps when looping apngs,
like in ticket #6121.
Signed-off-by: Marton Balint <cus@passwd.hu>
-rw-r--r-- | libavformat/apngdec.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/libavformat/apngdec.c b/libavformat/apngdec.c index ffff03710a..f9a97e5681 100644 --- a/libavformat/apngdec.c +++ b/libavformat/apngdec.c @@ -44,7 +44,6 @@ typedef struct APNGDemuxContext { int max_fps; int default_fps; - int64_t pkt_pts; int pkt_duration; int is_key_frame; @@ -390,9 +389,8 @@ static int apng_read_packet(AVFormatContext *s, AVPacket *pkt) if (ctx->is_key_frame) pkt->flags |= AV_PKT_FLAG_KEY; - pkt->pts = ctx->pkt_pts; + pkt->pts = pkt->dts = AV_NOPTS_VALUE; pkt->duration = ctx->pkt_duration; - ctx->pkt_pts += ctx->pkt_duration; return ret; case MKTAG('I', 'E', 'N', 'D'): ctx->cur_loop++; |