ffplay: only do early frame drop if video queue is not empty

Fixes ticket #2446.

Signed-off-by: Marton Balint <cus@passwd.hu>
pull/15/head
Marton Balint 12 years ago
parent d148339d19
commit b8facbeecb
  1. 3
      ffplay.c

@ -1694,7 +1694,8 @@ static int get_video_frame(VideoState *is, AVFrame *frame, AVPacket *pkt, int *s
double ptsdiff = dpts - is->frame_last_pts; double ptsdiff = dpts - is->frame_last_pts;
if (!isnan(clockdiff) && fabs(clockdiff) < AV_NOSYNC_THRESHOLD && if (!isnan(clockdiff) && fabs(clockdiff) < AV_NOSYNC_THRESHOLD &&
!isnan(ptsdiff) && ptsdiff > 0 && ptsdiff < 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_pos = pkt->pos;
is->frame_last_dropped_pts = dpts; is->frame_last_dropped_pts = dpts;
is->frame_last_dropped_serial = *serial; is->frame_last_dropped_serial = *serial;

Loading…
Cancel
Save