summaryrefslogtreecommitdiffstats
path: root/ffmpeg.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-07-14 04:24:40 +0200
committerMichael Niedermayer <michaelni@gmx.at>2012-07-14 04:24:40 +0200
commit825e1e2437494ce5d90fe27c8a73b47147d6419c (patch)
treeeec9913976a28bb466bd42a71d1dec1f039c41f1 /ffmpeg.c
parent744bd8d08c18d68d92ead091c7e335b4b07459aa (diff)
downloadffmpeg-streaming-825e1e2437494ce5d90fe27c8a73b47147d6419c.zip
ffmpeg-streaming-825e1e2437494ce5d90fe27c8a73b47147d6419c.tar.gz
ffmpeg: use pkt_pts before pkt->pts for audio
This fixes the timestamp of the first packet when samples have been skiped. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'ffmpeg.c')
-rw-r--r--ffmpeg.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/ffmpeg.c b/ffmpeg.c
index 4afc55b..4fe9d23 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -2383,7 +2383,10 @@ static int decode_audio(InputStream *ist, AVPacket *pkt, int *got_output)
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 (pkt->pts != AV_NOPTS_VALUE) {
+ 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) {
decoded_frame->pts = pkt->pts;
pkt->pts = AV_NOPTS_VALUE;
}else
OpenPOWER on IntegriCloud