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

Reply via email to