gstreamer/gst
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
..
alpha Remove plugin specific static build option 2017-05-16 14:41:19 -04:00
apetag Remove plugin specific static build option 2017-05-16 14:41:19 -04:00
audiofx audioecho: Micro-optimize 2017-10-07 03:03:46 +03:00
audioparsers Revert "flacparse: fix header rewriting being ignored" 2017-12-07 11:17:32 +00:00
auparse Remove plugin specific static build option 2017-05-16 14:41:19 -04:00
autodetect Remove plugin specific static build option 2017-05-16 14:41:19 -04:00
avi avidemux: provide average bitrate tag 2017-07-09 10:55:00 +02:00
cutter Remove plugin specific static build option 2017-05-16 14:41:19 -04:00
debugutils Remove plugin specific static build option 2017-05-16 14:41:19 -04:00
deinterlace deinterlace: Fixed memory leak in error code path 2017-09-22 17:25:50 +03:00
dtmf Remove plugin specific static build option 2017-05-16 14:41:19 -04:00
effectv Remove plugin specific static build option 2017-05-16 14:41:19 -04:00
equalizer equalizer: Fix -Wincompatible-pointer-types warning 2017-12-11 21:57:25 +00:00
flv flvdemux: Only set pixel-aspect-ratio if specified 2017-10-05 21:20:19 -04:00
flx Remove plugin specific static build option 2017-05-16 14:41:19 -04:00
goom Remove plugin specific static build option 2017-05-16 14:41:19 -04:00
goom2k1 goom2k1: Convert source files to UTF-8 2017-08-16 13:07:45 +01:00
icydemux Remove plugin specific static build option 2017-05-16 14:41:19 -04:00
id3demux Remove plugin specific static build option 2017-05-16 14:41:19 -04:00
imagefreeze imagefreeze: fix use-after-free on seek event 2017-07-03 20:43:12 +01:00
interleave Remove plugin specific static build option 2017-05-16 14:41:19 -04:00
isomp4 qtdemux: Push a GAP event if there's a second *or more* 2017-12-13 12:06:49 +01:00
law mulawdec: Unmap input buffer if failing to map the output buffer 2017-07-27 14:23:14 +03:00
level Use proper GtkDoc notation for NULL/FALSE/TRUE 2017-10-03 16:30:10 -07:00
matroska matroska: re-activate and update TOC support 2017-12-15 16:14:43 +02:00
monoscope Remove plugin specific static build option 2017-05-16 14:41:19 -04:00
multifile splitmuxsink: added a "split now" action signal 2017-12-08 21:16:15 +02:00
multipart Remove plugin specific static build option 2017-05-16 14:41:19 -04:00
replaygain rganalysis: Fix left shift of signed values 2017-11-23 07:59:07 +01:00
rtp rtph265depay: don't insert SPS/PPS inline for hvc1 output 2017-11-23 09:36:15 +01:00
rtpmanager rtpsession: Handle zero length feedback packets 2017-12-02 13:58:34 +00:00
rtsp rtspsrc: Add a signal to allow outgoing messages to be modified or dropped 2017-12-06 10:46:01 +02:00
shapewipe Remove plugin specific static build option 2017-05-16 14:41:19 -04:00
smpte Remove plugin specific static build option 2017-05-16 14:41:19 -04:00
spectrum Use proper GtkDoc notation for NULL/FALSE/TRUE 2017-10-03 16:30:10 -07:00
udp multiudpsink: fix bind address leak 2017-12-08 00:31:32 +00:00
videobox Remove plugin specific static build option 2017-05-16 14:41:19 -04:00
videocrop Remove plugin specific static build option 2017-05-16 14:41:19 -04:00
videofilter Remove plugin specific static build option 2017-05-16 14:41:19 -04:00
videomixer Remove plugin specific static build option 2017-05-16 14:41:19 -04:00
wavenc Remove plugin specific static build option 2017-05-16 14:41:19 -04:00
wavparse wavparse: Add support for growing WAV files 2017-08-14 16:02:35 +03:00
y4m Remove plugin specific static build option 2017-05-16 14:41:19 -04:00
Makefile.am build: build plugins and examples in parallel where possible 2010-03-29 11:00:57 +01:00
meson.build Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00