<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"><head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
 </head><body style=""><div>Hello all,</div>
<div> </div>
<div>I am trying to understand the purpose and working of non-flushing seek. Heres my scenario:</div>
<div> </div>
<div>(Preamble)</div>
<div>- due to the specifics of my UI, I am doing one  seek to adjust playback rate, directly followed by a seek that changes the playback segment.</div>
<div>- previous to each seek operation, I am doing a query for the current position</div>
<div>- the position query fails for the second seek ("wrong state"). The only explanation I could find was that the first seek, being called with a <span style="background-color: #e4e4ff;">GST_SEEK_FLAG_FLUSH</span> parameter, discards all position information.</div>
<div> </div>
<div>(Problem)</div>
<div>- I therefore decided to execute the first seek without the <span style="background-color: #e4e4ff;">GST_SEEK_FLAG_FLUSH</span> flag.</div>
<div>- when I call the seek with a GST_SEEK_FLAG_NONE, my application completely BLOCKS!!</div>
<div> </div>
<div>I investigated into the execution stack, and found that the sending of the seek event went directly into a code sequence in gst_base_src_perform_seek:</div>
<div> </div>
<div>  if (flush) {<br>    ...<br>  } else<br>    gst_pad_pause_task (src->srcpad);<br><br></div>
<div>and in gst_pad_pause_task the call gets blocked on   GST_PAD_STREAM_LOCK (pad);<br><br>can someone tell me what I am missing here? There must be something fundamental, because the results are so detrimental..</div>
<div> </div>
<div>thanks,</div>
<div>Christian</div></body></html>