<br><br><div class="gmail_quote">On Mon, Apr 1, 2013 at 7:56 PM, Tim-Philipp Müller <span dir="ltr"><<a href="mailto:t.i.m@zen.co.uk" target="_blank">t.i.m@zen.co.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On Sun, 2013-03-31 at 23:15 +0200, Matej Knopp wrote:<br>
<br>
Hi,<br>
<br>
> I'm not sure if overlapping subtitle buffers are officially supported<br>
> in gstreamer, but given that some containers specifically request<br>
> support for this[1] I'm going to assume so.<br>
<br>
</div>It's currently neither handled nor supported.</blockquote><div> </div><div>Not sure what this means. Won't MKV demux give you overlapped subtitles if they are muxed in like that?</div><div><br></div><div> </div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
<br>
> This causes some problems<br>
><br>
> Assuming we have very long subtitle buffers<br>
><br>
> buf 1 - PTS 0s Duration 25s<br>
> buf 2 - PTS 50s Duration 25s<br>
><br>
><br>
> So the output from demuxer should look something like this<br>
> buf 1<br>
> gap (25 - duration 25)<br>
> buf 2<br>
<br>
</div>I'm not sure if it *should* look like that. Maybe it should send 25 gap<br>
events with 1 second duration rather than one long one?<br><br></blockquote><div><br></div><div>That one big gap event was not really the point. The point is, that if you have a very long subtitle buffer, you don't know whether you need to wait for maybe another one that will overlap part of it, or are good to render it. That is, until you get next buffer or a gap. The problem with gap event currently is, that it will only be sent after other streams catch up.</div>
<div><br></div><div>I don't know how to explain this better. Example</div><div> </div><div><font face="courier new, monospace"> 0s 25s</font></div><div><font face="courier new, monospace">Video: VVVVVVVVVV</font><span style="font-family:'courier new',monospace">VVVVVVVVVV</span><span style="font-family:'courier new',monospace">VVVVVVVVVV</span><span style="font-family:'courier new',monospace">VVVVVVVVVV</span><span style="font-family:'courier new',monospace">VVVVVVVVVV</span><span style="font-family:'courier new',monospace">VVVVVVVVVV</span></div>
<div><span style="font-family:'courier new',monospace">Audio: AAAAAAA</span><span style="font-family:'courier new',monospace">AAAAAAA</span><span style="font-family:'courier new',monospace">AAAAAAA</span><span style="font-family:'courier new',monospace">AAAAAAA</span><span style="font-family:'courier new',monospace">AAAAAAA</span><span style="font-family:'courier new',monospace">AAAAAAA</span><span style="font-family:'courier new',monospace">AAAAAAA</span><span style="font-family:'courier new',monospace">AAAAAAA</span><span style="font-family:'courier new',monospace">AAAA</span></div>
<div><span style="font-family:'courier new',monospace">Subtitle: [Long Subtitle Buffer]GAPGAPGAP[Long Subtitle Buffer]</span></div><div><br></div><div>The first GAP event will be send when demuxer sends 25second of audio and video. So whatever is rendering the subtitle will not know if it can render the buffer, or whether another buffer is coming until it gets the first GAP event. For long subtitles this will cause pipeline stalling.</div>
<div><br></div><div>Of course easiest solution is to say that subtitle buffers can't overlap. Except in practice they can. Webm has it in specification. SSA allows you to set rules for collisions.</div><div><br></div>
<div><br></div></div>> Or maybe a muxer could simply assume that for sparse streams it will get<br>> whatever data there is in good time (so it doesn't have to ever<br><div class="gmail_quote"><div>> wait/block, or at least not for very long).</div>
</div><div class="gmail_quote"><div><br></div><div>I guess this would work in most cases, although you probably still want to block at least until you get the first subtitle buffer. I'm not sure though how I feel about expecting things to come in certain time, seems a bit fragile.</div>
<div><br></div><div>-Matej</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Cheers<br>
-Tim<br>
<br>
<br>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
</blockquote></div><br>