diff options
author | Marton Balint <cus@passwd.hu> | 2013-04-16 20:34:28 +0200 |
---|---|---|
committer | Marton Balint <cus@passwd.hu> | 2013-04-20 18:32:09 +0200 |
commit | b8facbeecb66a4bce59dbf76a97518283609eb55 (patch) | |
tree | 367d5ce6b4faa4f9bf0fe4b14d63be273890a860 | |
parent | d148339d19c6c77b06beab28f603b5c8b2b84c6e (diff) | |
download | ffmpeg-streaming-b8facbeecb66a4bce59dbf76a97518283609eb55.zip ffmpeg-streaming-b8facbeecb66a4bce59dbf76a97518283609eb55.tar.gz |
ffplay: only do early frame drop if video queue is not empty
Fixes ticket #2446.
Signed-off-by: Marton Balint <cus@passwd.hu>
-rw-r--r-- | ffplay.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -1694,7 +1694,8 @@ static int get_video_frame(VideoState *is, AVFrame *frame, AVPacket *pkt, int *s double ptsdiff = dpts - is->frame_last_pts; if (!isnan(clockdiff) && fabs(clockdiff) < AV_NOSYNC_THRESHOLD && !isnan(ptsdiff) && ptsdiff > 0 && ptsdiff < AV_NOSYNC_THRESHOLD && - clockdiff + ptsdiff - is->frame_last_filter_delay < 0) { + clockdiff + ptsdiff - is->frame_last_filter_delay < 0 && + is->videoq.nb_packets) { is->frame_last_dropped_pos = pkt->pos; is->frame_last_dropped_pts = dpts; is->frame_last_dropped_serial = *serial; |