[Bug 790686] matroskamux: re-activate TOC support

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Wed Nov 29 09:49:54 UTC 2017


https://bugzilla.gnome.org/show_bug.cgi?id=790686

--- Comment #9 from fengalin at free.fr ---
I was busy with other stuff recently, but I'm still progressing. Here is an
update on my understanding. It would be helpful if someone could confirm or
correct my statements and proposal.

- My reference for the Matroska's Specifications comes from (1).
- There are two UIDs that can be assigned while defining Chapters (2):
  * ChapterUID: a mandatory unsigned integer which uniquely refers to a
chapter. Except for the title & language which use dedicated fields, this UID
can also be used to add tags to the Chapter. See (3). The tags come in a
separate section of the container as pictured in (4).
  * ChapterStringUID: an optional UTF-8 string which also uniquely refers to a
chapter. The specifications links the definition of the "WebVTT cue identifier"
(5) which "can be used to reference a specific cue, for example from script or
CSS".

My understanding is that the ChapterUID is some kind of pointer which
internally links items in the container while ChapterStringUID can be used for
external purposes.

The GstToc and GstTocEntry "classes" provide a single UID as a string. This UID
is user defined upon creation of the objects and can't be modified (no setter).

My proposal is to use the GstTocEntry user provided UID for ChapterStringUID
and to generate the ChapterUID internally in matrsoka-mux. In order to keep
track of the ChapterUID for tags, a separate GstToc / GstTocEntry tree is
maintained which replicates the user provided GstToc but with ChapterUIDs in
place of the user provided UIDs (and also the title tags removed once they are
assigned in the chapters section).

---

(1) https://www.matroska.org/technical/index.html
(2) https://www.matroska.org/technical/specs/chapters/index.html
(3) https://www.matroska.org/technical/specs/tagging/index.html
(4) https://www.matroska.org/technical/diagram/index.html
(5) https://w3c.github.io/webvtt/#webvtt-cue-identifier

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list