Commit 32b6fb14 authored by jai_menon's avatar jai_menon

FFplay : Implement custom reget_buffer for the input filter.



git-svn-id: file:///var/local/repositories/ffmpeg/trunk@23287 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent db947ef2
......@@ -1609,6 +1609,25 @@ static void input_release_buffer(AVCodecContext *codec, AVFrame *pic)
avfilter_unref_pic(pic->opaque);
}
static int input_reget_buffer(AVCodecContext *codec, AVFrame *pic)
{
AVFilterPicRef *ref = pic->opaque;
if (pic->data[0] == NULL) {
pic->buffer_hints |= FF_BUFFER_HINTS_READABLE;
return codec->get_buffer(codec, pic);
}
if ((codec->width != ref->w) || (codec->height != ref->h) ||
(codec->pix_fmt != ref->pic->format)) {
av_log(codec, AV_LOG_ERROR, "Picture properties changed.\n");
return -1;
}
pic->reordered_opaque = codec->reordered_opaque;
return 0;
}
static int input_init(AVFilterContext *ctx, const char *args, void *opaque)
{
FilterPriv *priv = ctx->priv;
......@@ -1622,6 +1641,7 @@ static int input_init(AVFilterContext *ctx, const char *args, void *opaque)
priv->use_dr1 = 1;
codec->get_buffer = input_get_buffer;
codec->release_buffer = input_release_buffer;
codec->reget_buffer = input_reget_buffer;
}
priv->frame = avcodec_alloc_frame();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment