diff options
author | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2011-04-22 07:58:06 +0000 |
---|---|---|
committer | Uoti Urpala <uau@mplayer2.org> | 2011-05-02 00:36:20 +0300 |
commit | d09882bd74b4a406b4a1e66cf1761d4de67b066b (patch) | |
tree | 6f6ad2a98f5b127cf935b29219f60df438512e45 /libmpcodecs | |
parent | f8471184e86fee4267ceec2fd5b1115be82e3287 (diff) | |
download | mpv-d09882bd74b4a406b4a1e66cf1761d4de67b066b.tar.bz2 mpv-d09882bd74b4a406b4a1e66cf1761d4de67b066b.tar.xz |
vd_ffmpeg: handle reget_buffer in DRI failure fallback code
Allow reget_buffer to somewhat work after direct rendering failure.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33286 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs')
-rw-r--r-- | libmpcodecs/vd_ffmpeg.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libmpcodecs/vd_ffmpeg.c b/libmpcodecs/vd_ffmpeg.c index 4e3211c412..c7f0e429f1 100644 --- a/libmpcodecs/vd_ffmpeg.c +++ b/libmpcodecs/vd_ffmpeg.c @@ -559,6 +559,9 @@ static int get_buffer(AVCodecContext *avctx, AVFrame *pic){ if(init_vo(sh, avctx->pix_fmt) < 0){ avctx->release_buffer= avcodec_default_release_buffer; avctx->get_buffer= avcodec_default_get_buffer; + avctx->reget_buffer= avcodec_default_reget_buffer; + if (pic->data[0]) + release_buffer(avctx, pic); return avctx->get_buffer(avctx, pic); } @@ -571,6 +574,9 @@ static int get_buffer(AVCodecContext *avctx, AVFrame *pic){ ctx->do_dr1=0; //FIXME avctx->get_buffer= avcodec_default_get_buffer; + avctx->reget_buffer= avcodec_default_reget_buffer; + if (pic->data[0]) + release_buffer(avctx, pic); return avctx->get_buffer(avctx, pic); } |