<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta name="generator" content="pandoc" />
<title></title>
<style type="text/css">code{white-space: pre;}</style>
</head>
<body>
<p>Hi again,</p>
<p>On 2016-11-02 09:22, Steve Lhomme wrote:</p>
<blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;color:#500050">
<pre><code> No, a Cluster is not mandatory (I double checked the specs). There can
be Matroska with just chapters and tags.</code></pre>
</blockquote>
<p>In order for us to actually play something, it is; and in order for <code>EnsureDuration</code> to do what it is supposed to do - it definitely is (given how the function is implemented).</p>
<blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;color:#500050">
<pre><code> IMO EnsureDuration() has nothing to do with the fact that the current
Cluster has no finite size. "Infinite" Clusters still have boundaries,
and end and timestamps for each Cluster/Block.</code></pre>
</blockquote>
<p>It does, see <code>f275663</code>. By definition, if a cluster is infinite there’s nothing saying that we will ever get to the end, so I do not see how the current implementation of <code>EnsureDuration</code> applies in such case (given that it will read blocks until the very end in order to know where the end actually is).</p>
</body>
</html>