On Feb 11, 2008 9:27 PM, <a href="mailto:ogg.k.ogg.k@googlemail.com">ogg.k.ogg.k@googlemail.com</a> &lt;<a href="mailto:ogg.k.ogg.k@googlemail.com">ogg.k.ogg.k@googlemail.com</a>&gt; wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d">&gt; Right. This was, in fact, one of the roles of &quot;chaining&quot; where you&#39;d<br>&gt; mark such changed components with a chain boundary, at which such<br>&gt; things are explicitly allowed to change. The drawbacks are the<br>
&gt; overhead of resending all the setup data for configurable codecs like<br>&gt; vorbis and theora, and the semantic conflict between &#39;chain boundary<br>&gt; flags an edit point&#39; and &#39;chain boundary flags a program change&#39; which<br>
<br></div>This also means that having to chain a particular logical stream implies<br>having to break and rechain all other multiplexed streams. For, say,<br>Theora (just imagining there, I don&#39;t know if that&#39;d actually be the case),<br>
it could mean having to reencode a keyframe on the fly for the first frame<br>of the new chain, or go without video for whatever time is left before the<br>next keyframe (I&#39;ve got no real idea how much time typically elapses<br>
between keyframes, but I believe it is variable ?)<br><div class="Ih2E3d"></div>&nbsp;</blockquote><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d"><br>&gt; There are certainly arguments for doing it both ways, but from the<br>&gt; Annodex point of view it is nice to push as much of that onto the<br>&gt; mux/skeleton level as possible, for all the reasons Silvia described.<br>
&gt; Do you have a counter illustration of where adding a new category<br>&gt; suddenly, on the fly is contra-compelling?<br><br></div>No particular reason, just the fact that it constrains possible uses of the<br>codec, especially for on the fly generation.<br>
I could certainly make up an example where one streams a video of people<br>in an office, and labels are placed near each person following them around,<br>but this is just a possible use I just made up, not something I actually need<br>
to be done.<br>Not that the kate format currently supports well moving regions around in<br>realtime anyway, but that&#39;s something I&#39;m thinking about currently.</blockquote><div><br>In actual fact, you do not have to fill your logical bitstream with data, even if you prepare for it by sending a bos packet. So, when live streaming, we would normally know beforehand what resources we are sending - which sets up the different logical bitstreams. Then, as we get to the, we can put them in the stream. I don&#39;t really see a problem with this approach.<br>
<br>Cheers,<br>Silvia.<br></div></div>