<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7654.12">
<TITLE>MP4 timing issue implementing a dash demux</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->
<P><FONT SIZE=2 FACE="Arial">Hi, </FONT>
</P>
<P><FONT SIZE=2 FACE="Arial">Following Sebastian advice, we have implemented an MPEG DASH demux based on the HLS demux code.</FONT>
<BR><FONT SIZE=2 FACE="Arial">Basically, the demux fetches the MP4 data fragments and pass them downstream.</FONT>
<BR><FONT SIZE=2 FACE="Arial">Whenever a new bitrate is selected, a new output pad is created and decodebin2 creates the appropriate decoding chain.</FONT>
<BR><FONT SIZE=2 FACE="Arial">In each new chain, decodebin2 instantiates in particular a new isomp4 demux, to which the DASH demux forwards an MP4 header (the initialization header), followed by as many MP4 data fragments.</FONT></P>
<P><FONT SIZE=2 FACE="Arial">The DASH demux also sends a new segment event to specify the playback offset for that chain.</FONT>
</P>
<P><FONT SIZE=2 FACE="Arial">The issue we have is that the isomp4 demux ignores the new segment event and starts timestamping output buffers at 0.</FONT>
<BR><FONT SIZE=2 FACE="Arial">This is harmless on some configurations where the video sink outputs frames in decoding order ignoring the timestamps, but on more restrictive configurations, it blocks playback until the new chain catches up with the playback time at which the previous one stopped (and as a nasty side effect, it rapidly drains our download queue, causing playback jerkiness).</FONT></P>
<P><FONT SIZE=2 FACE="Arial">I am not sure how to handle this: should we force the new chain to seek up to the playback position it is supposed to start ? Should the offset rather be encoded in the MP4 enveloppe ? If so, would it even be parsed by the current isomp4 demux ?</FONT></P>
<P><FONT SIZE=2 FACE="Arial">Thanks in advance for any explainations (I may have got it all wrong) and/or tips …</FONT>
</P>
<P><FONT SIZE=2 FACE="Arial">David Corvoysier</FONT>
<BR><FONT SIZE=2 FACE="Arial">Orange Labs </FONT>
</P>
</BODY>
</HTML>