<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Apr 22, 2015 at 9:42 AM, Sebastian Dröge <span dir="ltr"><<a href="mailto:sebastian@centricular.com" target="_blank">sebastian@centricular.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Mo, 2015-04-20 at 11:29 -0400, Stirling Westrup wrote:<br>
> Right now we have a piece of code in a transformation element where we call<br>
><br>
> buffer = gst_buffer_make_writable(buffer);<br>
><br>
> Where that line appears to corrupt something such that, after passing on<br>
> the buffer, when it eventually gets used and unrefed, we get an assertion<br>
> error that its not a valid buffer.<br>
><br>
> However, if we replace that line with<br>
><br>
> if( !gst_buffer_is_writable(buffer) )<br>
> GST_ERROR("Oh Noes!");<br>
><br>
> then everything works fine. Any idea what could be going on?<br>
<br>
</span>Do you have a testcase for reproducing this? Only thing I can think of<br>
is that you don't actually own a reference to that buffer there.<br>
<span class="HOEnZb"></span></blockquote></div><br></div><div class="gmail_extra">We've managed to work out that it happens when we have a fair number (often 9 or 25) tasks all trying to set the same buffer writable at the exact same moment. Could there be a some kind of racing or locking issue there?<br></div><div class="gmail_extra"><br><br></div></div>