[FFmpeg-devel] [PATCH] libavformat/matroskaenc: omit segment UID for webm

Michael Niedermayer michael at niedermayer.cc
Thu Jun 23 03:03:33 CEST 2016


On Tue, Jun 21, 2016 at 04:38:55PM -0400, Dave Rice wrote:
> 
> > On Jun 21, 2016, at 3:22 PM, Michael Niedermayer <michael at niedermayer.cc> wrote:
> > 
> > On Mon, Jun 20, 2016 at 08:20:47PM -0700, Michael Bradshaw wrote:
> >> Hi,
> >> 
> >> Attached patch removes SegmentUID element from WebM files, as it's
> >> unsupported in WebM[1].
> >> 
> >> Please review/apply.
> >> 
> >> Thanks,
> >> 
> >> Michael
> >> 
> >> [1]: https://www.webmproject.org/docs/container/#SegmentUID
> > 
> > what does "supported" / "unsupported" mean, is this defined somewhere ?
> > 
> > In a format something can be
> > Forbidden, aka
> >    you write it you are buggy, you see it you can bail out
> > 
> > Required, aka
> >    you dont write it you are buggy, you dont see it you can bail out
> > 
> > Optional-Ignore, aka
> >    you may write it if you like, you may ignore it if you like, you must not bail out
> > 
> > Optional-Fail, aka
> >    you may write it if you like, you may bail out if you see it
> > 
> > Undefined-Ignore
> >    you write it you are buggy, you may ignore it if you like, you must not bail out
> > 
> > 
> > The reason why this question matters is because
> > If its forbidden to be written then the patch is correct and the
> > only option, OTOH
> > if its allowed to be written but the demuxer can ignore it there may
> > or may not be arguments to write it anyway
> 
> [...]
> 
> From my reading of the current EBML specification this is "Undefined-Ignore", but is also something that should not be done. The closest sentence on this from the EBML specification seems to be: "Element Data stored within Master-elements SHOULD only consist of EBML Elements and SHOULD NOT contain any data that is not part of an EBML Element." I think "EBML Element" in this case should be considered to mean "EBML Elements as defined by the EBML DocType". The webm EBML Schema does not define a SegmentUID Element as Matroska does, so the Element is meaningless in webm. It may happen to follow the EBML Header pattern but in the context of webm it is junk data.

applied

thx

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

When you are offended at any man's fault, turn to yourself and study your
own failings. Then you will forget your anger. -- Epictetus
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20160623/7a8c523b/attachment.sig>


More information about the ffmpeg-devel mailing list