ffmpeg | branch: master | Zane van Iperen <z...@zanevaniperen.com> | Sat Sep 19 22:14:52 2020 +1000| [9ab54eb501e3ddb20b1efd6362e6608b2553da59] | committer: Zane van Iperen
avformat/argo_brp: set BVID packet duration Signed-off-by: Zane van Iperen <z...@zanevaniperen.com> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=9ab54eb501e3ddb20b1efd6362e6608b2553da59 --- libavformat/argo_brp.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libavformat/argo_brp.c b/libavformat/argo_brp.c index 106391fbf8..dcda2c75ac 100644 --- a/libavformat/argo_brp.c +++ b/libavformat/argo_brp.c @@ -306,6 +306,7 @@ static int argo_brp_read_packet(AVFormatContext *s, AVPacket *pkt) { ArgoBRPDemuxContext *brp = s->priv_data; ArgoBRPBlockHeader blk; + const ArgoBRPStreamHeader *shdr; AVStream *st; uint8_t buf[BRP_MIN_BUFFER_SIZE]; ArgoASFChunkHeader ckhdr; @@ -327,6 +328,7 @@ static int argo_brp_read_packet(AVFormatContext *s, AVPacket *pkt) return AVERROR_INVALIDDATA; st = s->streams[blk.stream_id]; + shdr = brp->streams + blk.stream_id; if (blk.stream_id == brp->basf.index) { if (blk.size < ASF_CHUNK_HEADER_SIZE) @@ -358,6 +360,9 @@ static int argo_brp_read_packet(AVFormatContext *s, AVPacket *pkt) if (blk.stream_id == brp->basf.index) { pkt->duration = ckhdr.num_samples * ckhdr.num_blocks; pkt->pts = av_rescale_rnd(blk.start_ms, ckhdr.sample_rate, 1000, AV_ROUND_UP); + } else if (shdr->codec_id == BRP_CODEC_ID_BVID) { + pkt->duration = av_rescale_rnd(1, st->duration, shdr->extradata.bvid.num_frames, AV_ROUND_UP); + pkt->pts = blk.start_ms; } else { pkt->pts = blk.start_ms; } _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".