<div dir="ltr">I'm using ffmpeg with libavcodec and libavfilters for a custom project. I've recently upgraded to the latest version available from git and noticed that my previous code has stopped working. I'm processing several streams, each in his own thread in the following way:<div>
<br></div><div>     next sample is taken from the stream, decoded and then inserted in the buffer source of the filtergraph using av_buffersrc_add_frame()<br><div style>     a frame is extracted from the buffer sink of the filtergraph using av_buffersink_get_frame()</div>
</div><div style>    the filtered frame is  copied in a buffer for further processing</div><div style><br></div><div style>before upgrading to the latest version of ffmpeg I've been using ffmpeg 1.2 and everything worked flawlessly.  The filtered buffer was pulled from the filtergraph using the av_buffersink_get_buffer_ref(). </div>
<div style><br></div><div style>The problem I'm encountering: at the first pass everything works fine, however when I call the processing function for the second time (for processing the next frame), it coredumps when I call av_buffersink_get_frame() with the message "<span style="font-family:arial,sans-serif;font-size:10px"> </span><span style="font-family:arial,sans-serif;font-size:10px">corrupted double-linked list </span>". I tried further investigating the problem and have several frames processed during the same call of this function: everything works until the second call, then it coredumps at the same point.</div>
<div style><br></div><div style>To me it seems that something changes the structure of the filtergraph between the calls to the processing function. Has something changed from the previous version in the way filtergraph is  created/stored? I would really like to use the new API and pull frames out of the buffersink, instead of getting the buffer as it is in ver 1.2.</div>
<div style><br></div><div style>Thanks, any help would be appreciated!</div><div style><br></div><div style><br></div></div>