<div>Hi All,</div>
<div> </div>
<div>   I have a pipeline, which looks like this <strong>&quot;appsrc ! ffdec_mpeg4 ! appsink&quot;. </strong>I am using this pipe to get the decoded frames out.</div>
<div> </div>
<div>I do a gst_app_sink_pull_buffer() to get the decoded frame, just after I push the buffer into appsrc. The suedo code looks like </div>
<div> </div>
<div><strong>app_buff = gst_app_buffer_new();</strong></div>
<div><strong></strong> </div>
<div><strong>g_signal_emit_by_name( appsrc, &quot;push-buffer&quot;, app_buff, ret);</strong></div>
<div><strong></strong> </div>
<div><strong>decBuff = gst_app_sink_pull_buffer(appsink);</strong></div>
<div><strong></strong> </div>
<div>Now the situation is, that there can be a case when the input buffer is not decoded for some error <strong>OR </strong>the data in input buff is not enough to form a decoded frame. In such a case gst_app_sink_pull_buffer() waits endlessly. Since its waiting (BLOCKED) here, i dont get the chance to push another buffer in, which can complete the frame.</div>

<div> </div>
<div>The limitation is because I want to return the decoding status as a result of these actions to my app.</div>
<div> </div>
<div>Is there some way I can come out of the BLOCKED state, without flushing the buffers/data in the pipeline (so as not to miss a frame)?</div>
<div>OR can the decoder give me some kind of hint that, the decoding is not complete and needs to push more data?</div>
<div> </div>
<div>Any help is greatly appreciated!</div>
<div> </div>
<div>-Ashwini</div>
<div> </div>
<div>PS: I hope I have not confused you with my explanation of the problem.</div>
<div><br></div>