From d4e63b2727dbc030ba165fec1794de57a0fbf52e Mon Sep 17 00:00:00 2001 From: Edward Hervey Date: Wed, 3 Mar 2010 18:46:25 +0100 Subject: [PATCH] gstffmpegdec: Disable direct-rendering for svq1/vp56 decoders. They use a non-standard stride which we can't support. Fixes #610613 --- ext/ffmpeg/gstffmpegdec.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/ext/ffmpeg/gstffmpegdec.c b/ext/ffmpeg/gstffmpegdec.c index ca355639bd..d1a868c427 100644 --- a/ext/ffmpeg/gstffmpegdec.c +++ b/ext/ffmpeg/gstffmpegdec.c @@ -789,6 +789,16 @@ gst_ffmpegdec_setcaps (GstPad * pad, GstCaps * caps) /* does not work, many stuff reads outside of the planes */ ffmpegdec->current_dr = FALSE; ffmpegdec->extra_ref = TRUE; + } else if ((oclass->in_plugin->id == CODEC_ID_SVQ1) || + (oclass->in_plugin->id == CODEC_ID_VP5) || + (oclass->in_plugin->id == CODEC_ID_VP6) || + (oclass->in_plugin->id == CODEC_ID_VP6F) || + (oclass->in_plugin->id == CODEC_ID_VP6A)) { + GST_DEBUG_OBJECT (ffmpegdec, + "disable direct rendering setup for broken stride support"); + /* does not work, uses a incompatible stride. See #610613 */ + ffmpegdec->current_dr = FALSE; + ffmpegdec->extra_ref = TRUE; } else { GST_DEBUG_OBJECT (ffmpegdec, "enabled direct rendering"); ffmpegdec->current_dr = TRUE;