<div dir="ltr"><div>Hi Rafal</div><div><br></div><div>I am unable to reproduce your issue with Kdenlive and MLT from master following the steps you mentioned. Could you share the project file causing this issue? <br></div><div><br></div><div>Do note that Kdenlive master branch received a big change recently in the project file format making older versions of Kdenlive not able to open it without manual modification. So if you'd like to test, make a backup of your project file. <br></div><div><br></div><div>Cheers<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Em dom., 5 de jul. de 2020 às 18:15, Rafal Lalik <<a href="mailto:rafallalik@gmail.com">rafallalik@gmail.com</a>> escreveu:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br>
<br>
I have a weird problem with transform filter. After applying it to an <br>
image, the playback causes abortion of kdenlive. i am able track the <br>
problem back to mlt.<br>
<br>
<br>
<br>
MWE is a project with still image (jpg).<br>
<br>
1. Add an image to the track<br>
2. Add transform effect<br>
3. Try to play the clip in the timeline.<br>
<br>
For me the kdenlive crashes every time.<br>
<br>
I tried that with 20.04.2 and the git master. My mlt is 6.20.0.<br>
<br>
 From what I was able to find is that the QPainter in filter_qblend.cpp <br>
receives at some point width,height = 0,0, and QPainter fails with error:<br>
<br>
QPainter::begin: Paint device returned engine == 0, type: 3<br>
QPainter::setCompositionMode: Painter not active<br>
QPainter::setRenderHint: Painter must be active to set rendering hints<br>
QPainter::setWorldTransform: Painter not active<br>
QPainter::setOpacity: Painter not active<br>
QPainter::end: Painter not active, aborted<br>
<br>
in this code (I added my comments to highlight problematic places):<br>
<br>
<br>
uint8_t *dest_image = NULL;<br>
dest_image = (uint8_t *) mlt_pool_alloc( image_size );<br>
<br>
QImage destImage;<br>
// width, height here is (sometimes) 0,0<br>
convert_mlt_to_qimage_rgba( dest_image, &destImage, *width, *height );<br>
// destImage has size of 0x0<br>
destImage.fill( mlt_properties_get_int( properties, "background_color" ) );<br>
<br>
QPainter painter( &destImage );<br>
painter.setCompositionMode( ( QPainter::CompositionMode ) <br>
mlt_properties_get_int( properties, "compositing" ) );<br>
painter.setRenderHints( QPainter::Antialiasing | <br>
QPainter::SmoothPixmapTransform );<br>
painter.setTransform(transform);<br>
painter.setOpacity(opacity);<br>
// painter breaks after trying painting on image 0x0<br>
painter.drawImage(0, 0, sourceImage);<br>
<br>
<br>
what is followed with bad image in destImage and an assertion fail from <br>
following code inside:<br>
<br>
convert_qimage_to_mlt_rgba( &destImage, dest_image, *width, *height );<br>
<br>
<br>
ASSERT: "mImg == qImg->constBits()" in file common.cpp, line 63<br>
<br>
<br>
I was not able to find why width,height are equal to 0,0<br>
<br>
<br>
Do you have any idea how to trace back the problem to its source?<br>
<br>
Regards,<br>
Rafał<br>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr" class="gmail_signature">1111.1010.r.i.1101|n.o.i.s.1110|i.m.1010.g.1110|مقاومة<br>fsf member #5439<br>usuario GNU/Linux #471966<br>|_|0|_|<br>|_|_|0|<br>|0|0|0|<br><a href="<a href="http://www.gunga.com.br" target="_blank">http://www.gunga.com.br</a>">gunga</a><br><a href="<a href="http://www.tempoecoarte.com.br" target="_blank">http://www.tempoecoarte.com.br</a>">tempoecoarte</a><div><a href="<a href="http://www.atelier-labs.org" target="_blank">http://www.atelier-labs.org</a>">atelier-labs</a></div><div><a href="<a href="http://www.mocambos.net" target="_blank">http://www.mocambos.net</a>">rede mocambos</a><br></div></div>