<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'><div><u>Problem :</u> For a particular stream of duration 28 second, once I seek between 10th and 13th seconds, the video plays fast for a couple of seconds and the catches up with audio and plays normally. <span style="font-size: 12pt;">This doesn't happen if I seek anywhere else.</span></div><div><br></div><div><u>Analysis :</u> Cluster start positions are at 9.9 and 13.976 second. <span style="font-size: 12pt;">I frames are present at 9.9, 10.4 and 13.976 second. </span><font size="3">Cue points are present at every </font>interval<font size="3"> of 0.0333 seconds</font></div><div><br></div><div>Once seeked between 10th and 13th second, the search for index is done using function "gst_matroska_read_common_do_index_seek" and it returns cue point closest to the seek location. <span style="font-size: 12pt;">But I frame is not present to start the video playback. But if I use function "gst_matroska_demux_search_pos", it finds correct position to start playback and seek works normally.</span></div><div><br></div><div>Can someone please help me to understand the difference between these to functions to search for index. Is it fine to use "gst_matroska_demux_search_pos" for finding index instead of "gst_matroska_read_common_do_index_seek"?</div>                                        </div></body>
</html>