aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJustin Ruggles <justin.ruggles@gmail.com>2012-01-13 14:04:11 -0500
committerJustin Ruggles <justin.ruggles@gmail.com>2012-03-03 17:03:26 -0500
commitd0ab58507480dde81c7127f1eea29e10f91eb4b6 (patch)
tree04e16a8ef0f6d81056096ecfe4af9a4e5cdf07c9
parent101c369b7cccc6a0c4fcbd4aec26894a5ffc74f7 (diff)
downloadffmpeg-d0ab58507480dde81c7127f1eea29e10f91eb4b6.tar.gz
vqf: set packet duration
Fixes timestamp calculation. The FATE reference is updated because timestamp calculations are now more accurate. Previous timestamps were based on average bit rate.
-rw-r--r--libavformat/vqf.c3
-rw-r--r--tests/ref/fate/vqf-demux2
2 files changed, 3 insertions, 2 deletions
diff --git a/libavformat/vqf.c b/libavformat/vqf.c
index b9fa8be4f3..14085b9a52 100644
--- a/libavformat/vqf.c
+++ b/libavformat/vqf.c
@@ -201,7 +201,7 @@ static int vqf_read_header(AVFormatContext *s)
return -1;
}
c->frame_bit_len = st->codec->bit_rate*size/st->codec->sample_rate;
- avpriv_set_pts_info(st, 64, 1, st->codec->sample_rate);
+ avpriv_set_pts_info(st, 64, size, st->codec->sample_rate);
/* put first 12 bytes of COMM chunk in extradata */
if (!(st->codec->extradata = av_malloc(12 + FF_INPUT_BUFFER_PADDING_SIZE)))
@@ -225,6 +225,7 @@ static int vqf_read_packet(AVFormatContext *s, AVPacket *pkt)
pkt->pos = avio_tell(s->pb);
pkt->stream_index = 0;
+ pkt->duration = 1;
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 3d4cd3dd78..3acae60f5a 100644
--- a/tests/ref/fate/vqf-demux
+++ b/tests/ref/fate/vqf-demux
@@ -1 +1 @@
-178a10705baabc5b82bd79240f38a700
+d72fb75fb22f4bcc94a1dc7af5356ec1