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

Dave Rice dave at dericed.com
Tue Jun 21 22:38:55 CEST 2016


> 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.

Best Regards,
Dave Rice



-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20160621/14aeef48/attachment.sig>


More information about the ffmpeg-devel mailing list