[vlc-devel] Matroska, libopus and loophole in the spec

Denis Charmet typx at dinauz.org
Tue Nov 12 11:37:19 CET 2013

Le lundi 11 novembre 2013 à 08:48:09, Timothy B. Terriberry a écrit :
> >The alternative is to change the Opus codec plugin to use the number of
> >samples of the packet if it isn't known at the demux level instead of
> >just dropping it. As proposed in the patch sent yesterday.
> I don't think this will be enough once you want to support pre-skip,
> pre-roll, and end-trimming correctly. That's why this logic lives in
> the demux for Ogg. Feel free to try doing those things and prove me
> wrong, though.
* Preskip is handled during the muxing with negative timestamps.

* Preroll is handled by the demux and the core function
  ES_OUT_SET_NEXT_DISPLAY_TIME (tested OK on my  samples)

* For end trimming I don't have any sample with that but according to
  Mosu if there is DiscardPadding, then there is a duration so it should
  be good.

In any case, the patch has been sent to the ML and is waiting for

> >As previously stated, I'm against linking the demux to a codec lib just
> >to fill a block_t field that could easily be ignored and to call
> >functions that will be called in the codec anyway for the same purpose.
> That's why the Ogg demux doesn't link to the codec lib. It just
> re-implements the duration calculation (see
> Ogg_OpusPacketDuration()).
Then this will be done twice...


Denis Charmet - TypX
Le mauvais esprit est un art de vivre

More information about the vlc-devel mailing list