From: Benjamin Otte Date: Tue, 25 Nov 2003 02:18:12 +0000 (+0000) Subject: - disable svq3 as it still crashes and spider tries to use it. X-Git-Tag: CAPS-ROOT~4 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2d2624fe49557602685a06e67753f82410943c2c;p=platform%2Fupstream%2Fgst-libav.git - disable svq3 as it still crashes and spider tries to use it. Original commit message from CVS: - disable svq3 as it still crashes and spider tries to use it. - copy buffers if necessary before sending them for decode in SVQ1 case. The decoder writes to the data. --- diff --git a/ext/ffmpeg/gstffmpegdec.c b/ext/ffmpeg/gstffmpegdec.c index 610dc6c..0c4cd07 100644 --- a/ext/ffmpeg/gstffmpegdec.c +++ b/ext/ffmpeg/gstffmpegdec.c @@ -344,6 +344,13 @@ gst_ffmpegdec_chain (GstPad *pad, switch (oclass->in_plugin->type) { case CODEC_TYPE_VIDEO: + /* workaround: + libavcodec/svq1.c:svq1_decode_frame writes to the given buffer */ + if (oclass->in_plugin->id == CODEC_ID_SVQ1) { + inbuf = gst_buffer_copy_on_write(inbuf); + data = GST_BUFFER_DATA (inbuf); + size = GST_BUFFER_SIZE (inbuf); + } len = avcodec_decode_video (ffmpegdec->context, ffmpegdec->picture, &have_data, @@ -473,6 +480,7 @@ gst_ffmpegdec_register (GstPlugin *plugin) /* no quasi-codecs, please */ if (in_plugin->id == CODEC_ID_RAWVIDEO || + in_plugin->id == CODEC_ID_SVQ3 || /* segfaults */ (in_plugin->id >= CODEC_ID_PCM_S16LE && in_plugin->id <= CODEC_ID_PCM_ALAW)) { goto next;