# HG changeset patch # User reimar # Date 1337104471 0 # Node ID 183979fd93d9a5d996d4eab5419408ef60ea21e9 # Parent f2274219a79cd719ae82fc5de480cb5f6555b115 Fix direct rendering for H.264. H.264 files without B-frames would fail to play completely with "Too many buffered pts" messages. diff -r f2274219a79c -r 183979fd93d9 libmpcodecs/vd_ffmpeg.c --- a/libmpcodecs/vd_ffmpeg.c Mon May 14 20:24:43 2012 +0000 +++ b/libmpcodecs/vd_ffmpeg.c Tue May 15 17:54:31 2012 +0000 @@ -798,7 +798,10 @@ pkt.size = 0; av_destruct_packet(&pkt); - dr1= ctx->do_dr1; + // even when we do dr we might actually get a buffer we had + // FFmpeg allocate - this mostly happens with nonref_dr. + // Ensure we treat it correctly. + dr1= ctx->do_dr1 && pic->type == FF_BUFFER_TYPE_USER; if(ret<0) mp_msg(MSGT_DECVIDEO, MSGL_WARN, "Error while decoding frame!\n"); //printf("repeat: %d\n", pic->repeat_pict); //-- vstats generation