On Feb 11, 2008 9:27 PM, <a href="mailto:ogg.k.ogg.k@googlemail.com">ogg.k.ogg.k@googlemail.com</a> <<a href="mailto:ogg.k.ogg.k@googlemail.com">ogg.k.ogg.k@googlemail.com</a>> 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">> Right. This was, in fact, one of the roles of "chaining" where you'd<br>> mark such changed components with a chain boundary, at which such<br>> things are explicitly allowed to change. The drawbacks are the<br>
> overhead of resending all the setup data for configurable codecs like<br>> vorbis and theora, and the semantic conflict between 'chain boundary<br>> flags an edit point' and 'chain boundary flags a program change' 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't know if that'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've got no real idea how much time typically elapses<br>
between keyframes, but I believe it is variable ?)<br><div class="Ih2E3d"></div> </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>> There are certainly arguments for doing it both ways, but from the<br>> Annodex point of view it is nice to push as much of that onto the<br>> mux/skeleton level as possible, for all the reasons Silvia described.<br>
> Do you have a counter illustration of where adding a new category<br>> 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's something I'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't really see a problem with this approach.<br>
<br>Cheers,<br>Silvia.<br></div></div>