[FFmpeg-devel] [PATCH 3/3] ffplay: use start_time as next audio pts on flush when seeking is not supported

Marton Balint cus at passwd.hu
Sun Jul 14 21:05:18 CEST 2013


Theoretically using start_time should also work if seeking is available and we
could determine that the next packet after a flush packet is the first packet
of a stream, but I could not think of an easy and clean way to do that, that is
why I sticked to the no seeking available condition for now.

Fixes ticket #2647.

Signed-off-by: Marton Balint <cus at passwd.hu>
---
 ffplay.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/ffplay.c b/ffplay.c
index 6ed8a85..9b5dce0 100644
--- a/ffplay.c
+++ b/ffplay.c
@@ -2333,6 +2333,8 @@ static int audio_decode_frame(VideoState *is)
             avcodec_flush_buffers(dec);
             is->audio_buf_frames_pending = 0;
             is->audio_frame_next_pts = AV_NOPTS_VALUE;
+            if ((is->ic->iformat->flags & (AVFMT_NOBINSEARCH | AVFMT_NOGENSEARCH | AVFMT_NO_BYTE_SEEK)) && !is->ic->iformat->read_seek)
+                is->audio_frame_next_pts = is->audio_st->start_time;
         }
 
         *pkt_temp = *pkt;
-- 
1.8.1.4



More information about the ffmpeg-devel mailing list