Fixes timestamp calculation.
The FATE reference is updated because timestamp calculations are now more
accurate. Previous timestamps were based on average bit rate.
---
libavformat/vqf.c | 3 +++
tests/ref/fate/vqf-demux | 2 +-
2 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/libavformat/vqf.c b/libavformat/vqf.c
index b9fa8be..0581b80 100644
--- a/libavformat/vqf.c
+++ b/libavformat/vqf.c
@@ -30,6 +30,7 @@ typedef struct VqfContext {
int frame_bit_len;
uint8_t last_frame_bits;
int remaining_bits;
+ int packet_duration;
} VqfContext;
static int vqf_probe(AVProbeData *probe_packet)
@@ -200,6 +201,7 @@ static int vqf_read_header(AVFormatContext *s)
st->codec->sample_rate, st->codec->bit_rate);
return -1;
}
+ c->packet_duration = size;
c->frame_bit_len = st->codec->bit_rate*size/st->codec->sample_rate;
avpriv_set_pts_info(st, 64, 1, st->codec->sample_rate);
@@ -225,6 +227,7 @@ static int vqf_read_packet(AVFormatContext *s, AVPacket
*pkt)
pkt->pos = avio_tell(s->pb);
pkt->stream_index = 0;
+ pkt->duration = c->packet_duration;
pkt->data[0] = 8 - c->remaining_bits; // Number of bits to skip
pkt->data[1] = c->last_frame_bits;
diff --git a/tests/ref/fate/vqf-demux b/tests/ref/fate/vqf-demux
index 3d4cd3d..5c759fc 100644
--- a/tests/ref/fate/vqf-demux
+++ b/tests/ref/fate/vqf-demux
@@ -1 +1 @@
-178a10705baabc5b82bd79240f38a700
+259b0508f7feeeb51a37cc0cb4f91b20
--
1.7.1
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel