diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-07-26 17:56:07 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-07-26 17:56:07 +0200 |
commit | 9b1fdb1c5ae3916d8796f7b96377ba20e18dbd47 (patch) | |
tree | 1c1f9d16c7f5ce2035eeabe7f24cc875fa924ade | |
parent | b616405c16ea0b69fbd68a315ec240959114d44e (diff) | |
download | ffmpeg-9b1fdb1c5ae3916d8796f7b96377ba20e18dbd47.tar.gz |
ffmpeg: fix assumed decoded_frame->pts timebase
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | ffmpeg.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -2418,9 +2418,9 @@ static int decode_audio(InputStream *ist, AVPacket *pkt, int *got_output) /* if the decoder provides a pts, use it instead of the last packet pts. the decoder could be delaying output by a packet or more. */ - if (decoded_frame->pts != AV_NOPTS_VALUE) - ist->dts = ist->next_dts = ist->pts = ist->next_pts = decoded_frame->pts; - else if (decoded_frame->pkt_pts != AV_NOPTS_VALUE) { + if (decoded_frame->pts != AV_NOPTS_VALUE) { + ist->dts = ist->next_dts = ist->pts = ist->next_pts = av_rescale_q(decoded_frame->pts, avctx->time_base, AV_TIME_BASE_Q); + } else if (decoded_frame->pkt_pts != AV_NOPTS_VALUE) { decoded_frame->pts = decoded_frame->pkt_pts; pkt->pts = AV_NOPTS_VALUE; } else if (pkt->pts != AV_NOPTS_VALUE) { |