libvisual: fix crashes and invalid writes in totem

This reverts part of "visual: enable commented out code again."
(commit 8222ba16c8).

The shader code does indeed look broken (or rather,
it makes assumptions that are not necessarily true here,
namly that pixel stride is 4, for example), which
makes totem very crashy and causes other weird behaviour.

Also see https://bugzilla.gnome.org/show_bug.cgi?id=683527
This commit is contained in:
Tim-Philipp Müller 2012-09-08 22:56:56 +01:00
parent d4c1b160ef
commit 16c185bac6

View file

@ -978,8 +978,10 @@ gst_audio_visualizer_chain (GstPad * pad, GstObject * parent,
GST_ERROR_OBJECT (scope, "render failed"); GST_ERROR_OBJECT (scope, "render failed");
ret = GST_FLOW_ERROR; ret = GST_FLOW_ERROR;
} else { } else {
/* run various post processing (shading and geometri transformation */ /* run various post processing (shading and geometric transformation) */
if (scope->shader) { /* FIXME: SHADER assumes 32bpp */
if (scope->shader &&
GST_VIDEO_INFO_COMP_PSTRIDE (&scope->vinfo, 0) == 4) {
scope->shader (scope, &outframe, &scope->tempframe); scope->shader (scope, &outframe, &scope->tempframe);
} }
} }