gstreamer/gst/matroska
fengalin a6702a76d5 matroska: re-activate and update TOC support
TOC support in mastroskamux has been deactivated for a couple of years. This commit updates it to recent GstToc evolutions and introduces toc unit tests for both matroska-mux and matroska-demux.

There are two UIDs for Chapters in Matroska's specifications:
- The ChapterUID is a mandatory unsigned integer which internally refers to a given chapter. Except for title & language which use dedicated fields, this UID can also be used to add tags to the Chapter. The tags come in a separate section of the container.
- The ChapterStringUID is an optional UTF-8 string which also uniquely refers to a chapter but from an external perspective. It can act as a "WebVTT cue identifier" which "can be used to reference a specific cue, for example from script or CSS".

During muxing, the ChapterUID is generated and checked for unicity, while the ChapterStringUID receives the user defined UID. In order to be able to refer to chapters from the tags section, we maintain an internal Toc tree with the generated ChapterUID.

When demuxing, the ChapterStringUIDs (if available) are assigned to the GstTocEntries UIDs and an internal toc mimicking the toc is used to keep track of the ChapterUIDs and match the tags with the appropriate GstTocEntries.

https://bugzilla.gnome.org/show_bug.cgi?id=790686
2017-12-15 16:14:43 +02:00
..
ebml-ids.h Fix FSF address 2012-11-04 00:07:18 +00:00
ebml-read.c matroska: Quiet a WARN when parsing push mode 2017-01-17 11:50:27 +11:00
ebml-read.h Fix FSF address 2012-11-04 00:07:18 +00:00
ebml-write.c matroskamux: Create a TIME segment when creating streamable output 2015-10-11 11:37:51 +01:00
ebml-write.h matroskamux: Create a TIME segment when creating streamable output 2015-10-11 11:37:51 +01:00
lzo.c matroska: get rid of _stdint.h include 2016-02-08 00:11:55 +00:00
lzo.h Decode the codec private data and following ContentEncoding if necessary. 2008-08-02 18:18:05 +00:00
Makefile.am Remove plugin specific static build option 2017-05-16 14:41:19 -04:00
matroska-demux.c matroskademux: Remove bogus error message 2017-11-13 13:51:20 +01:00
matroska-demux.h matroskademux: track highest known cluster position and time 2017-06-24 17:36:54 +02:00
matroska-ids.c matroskademux: Add parsing Colour element 2017-11-08 11:01:55 +02:00
matroska-ids.h matroska: re-activate and update TOC support 2017-12-15 16:14:43 +02:00
matroska-mux.c matroska: re-activate and update TOC support 2017-12-15 16:14:43 +02:00
matroska-mux.h matroska: re-activate and update TOC support 2017-12-15 16:14:43 +02:00
matroska-parse.c matroskaparse: add support for skipping invalid data 2016-11-21 13:38:08 +02:00
matroska-parse.h matroska: Remove unused variable 2015-08-13 14:11:12 +01:00
matroska-read-common.c matroska: re-activate and update TOC support 2017-12-15 16:14:43 +02:00
matroska-read-common.h matroska: re-activate and update TOC support 2017-12-15 16:14:43 +02:00
matroska.c Fix FSF address 2012-11-04 00:07:18 +00:00
meson.build Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
webm-mux.c good: use new gst_element_class_add_static_pad_template() 2016-03-24 14:32:20 +02:00
webm-mux.h Fix FSF address 2012-11-04 00:07:18 +00:00