diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2011-12-27 05:34:50 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2011-12-27 05:34:50 +0100 |
commit | f2f8632aa5584438a09983b64c67908a96f029b9 (patch) | |
tree | 5e0153473c5ac1fc04bcccdd2136256485ed09c1 | |
parent | 80d2dddad1ab74506810fcdf3a08eedadec88477 (diff) | |
download | ffmpeg-f2f8632aa5584438a09983b64c67908a96f029b9.tar.gz |
ffmpeg: Check that frames are user type before treating them as such
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | ffmpeg.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -573,6 +573,9 @@ static void codec_release_buffer(AVCodecContext *s, AVFrame *frame) FrameBuffer *buf = frame->opaque; int i; + if(frame->type!=FF_BUFFER_TYPE_USER) + return avcodec_default_release_buffer(s, frame); + for (i = 0; i < FF_ARRAY_ELEMS(frame->data); i++) frame->data[i] = NULL; @@ -2051,7 +2054,7 @@ static int transcode_video(InputStream *ist, AVPacket *pkt, int *got_output, int if (!frame_sample_aspect->num) *frame_sample_aspect = ist->st->sample_aspect_ratio; decoded_frame->pts = ist->pts; - if (ist->dr1) { + if (ist->dr1 && decoded_frame->type==FF_BUFFER_TYPE_USER) { FrameBuffer *buf = decoded_frame->opaque; AVFilterBufferRef *fb = avfilter_get_video_buffer_ref_from_arrays( decoded_frame->data, decoded_frame->linesize, |