This also improves seeking.
Signed-off-by: Paul B Mahol <[email protected]>
---
libavformat/cdxl.c | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/libavformat/cdxl.c b/libavformat/cdxl.c
index b056d69..a66f4f1 100644
--- a/libavformat/cdxl.c
+++ b/libavformat/cdxl.c
@@ -104,6 +104,7 @@ static int cdxl_read_packet(AVFormatContext *s, AVPacket
*pkt)
st->codec->channels = cdxl->header[1] & 0x10 ? 2 : 1;
st->codec->sample_rate = cdxl->sample_rate;
st->start_time = 0;
+ st->duration = avio_size(pb) / current_size *
audio_size;
cdxl->audio_stream_index = st->index;
avpriv_set_pts_info(st, 64, 1, cdxl->sample_rate);
}
@@ -128,10 +129,12 @@ static int cdxl_read_packet(AVFormatContext *s, AVPacket
*pkt)
st->codec->height = height;
st->start_time = 0;
cdxl->video_stream_index = st->index;
- if (cdxl->framerate)
+ if (cdxl->framerate) {
avpriv_set_pts_info(st, 64, cdxl->fps.den, cdxl->fps.num);
- else
+ } else {
avpriv_set_pts_info(st, 64, 1, cdxl->sample_rate);
+ st->duration = avio_size(pb) / current_size *
audio_size;
+ }
}
if (av_new_packet(pkt, video_size + CDXL_HEADER_SIZE) < 0)
--
1.7.7
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel