<p>To add a little bit of information regarding the mental process leading up this patch:</p>
<p>I could not find anything proving that the Cues are guaranteed to appear in order, and since we (when looking for the index) are doing a sequential search for the <em>first</em> Cue (index) that is bigger than the desired seekpoint I was worried that a file containing Cues that are not in ascending order would make us beginning seeking at the wrong place.</p>
<p>Let’s say we receive the Cues in the following order:</p>
<ul>
<li>Cue #1: i_mk_time = 0</li>
<li>Cue #2: i_mk_time = 100</li>
<li>Cue #3: i_mk_time = 90</li>
</ul>
<p>The code responsible for seeking used a for-loop iterating through each Cue (index) (in order), breaking when <code>i_mk_date < mkv_index.i_mk_time + mkv_index.i_mk_time_offset</code> (where <code>i_mk_date</code> is the desired seeking position, and <code>mkv_index</code> is an object of type <code>mkv_index_t</code>).</p>
<p>It then takes one step back (since it expects the index before our find to be smaller than <code>i_mk_date</code>).</p>
<p>If we then imagine <code>i_mk_date = 95</code>, we would first end up at <em>Cue #2</em>, and then begin to seek from <em>Cue #1</em> (even though <em>Cue #3</em> would be a far better place).</p>
<p>We would find <em>Cue #3</em> if the cue’s appeared in sorted order inside our container of indexes.</p>
<p>Please correct me if I understood things incorrectly, I am still very new to the matroska fileformat and libebml; thanks!</p>
<hr style="height:1px;margin-bottom:20px;background-color:#ddd;color:#ddd" />
<p>On 16/03/09 13:00, Jean-Baptiste Kempf wrote:</p>
<blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<p>On 09/03/2016 12:49, Filip Roséen wrote:</p>
<blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<p>This patch will protect us from seeking too far if a mkv-files contains Cues that are not in ascending order.</p>
</blockquote>
<p>TypX, robux?</p>
<p>– Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device _______________________________________________ vlc-devel mailing list To unsubscribe or modify your subscription options: https://mailman.videolan.org/listinfo/vlc-devel</p>
</blockquote>