gstreamer/ext/closedcaption
Mathieu Duponchelle 08442cc792 cccombiner: implement scheduling
Prior to that, cccombiner's behaviour was essentially that of
a funnel: it strictly looked at input timestamps to associate
together video and caption buffers.

This patch instead exposes a "schedule" property, with a default
of TRUE, to control whether caption buffers should be smoothly
scheduled, in order to have exactly one per output video buffer.

This can involve rewriting input captions, for example when the
input is CDP sequence counters are rewritten, time codes are dropped
and potentially re-injected if the input video frame had a time code
meta.

Caption buffers may also get split up in order to assign captions to
the correct field when the input is interlaced.

This can also imply that the input will drift from synchronization,
when there isn't enough padding in the input stream to catch up. In
that case the element will start dropping old caption buffers once
the number of buffers in its internal queue reaches a certain limit
(configurable).

The property is exposed so that existing users of cccombiner can
revert back to the original behaviour, but should eventually be
removed, as that behaviour was simply inadequate.

This commit also disallows changing the input caption type, as
this would needlessly complicate implementation, and removes
the corresponding test.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2076>
2021-03-17 22:00:25 +00:00
..
bcd.h closedcaption: Include zvbi raw vbi decoder code 2018-05-28 14:50:01 +02:00
bit_slicer.c closedcaption: zvbi: Remove dead code 2018-05-28 15:03:57 +02:00
bit_slicer.h closedcaption: Include zvbi raw vbi decoder code 2018-05-28 14:50:01 +02:00
decoder.c closedcaption: Port plugin to MSVC 2019-02-15 23:39:35 +05:30
decoder.h closedcaption: Port plugin to MSVC 2019-02-15 23:39:35 +05:30
gstcccombiner.c cccombiner: implement scheduling 2021-03-17 22:00:25 +00:00
gstcccombiner.h cccombiner: implement scheduling 2021-03-17 22:00:25 +00:00
gstccconverter.c ccconverter: Add property to specify which sections to include in CDP packets 2020-12-07 19:23:42 +02:00
gstccconverter.h ccconverter: Add property to specify which sections to include in CDP packets 2020-12-07 19:23:42 +02:00
gstccextractor.c ccextractor: Push a GAP event if we have a caption pad but a video buffer did not contain any captions 2020-06-25 08:18:37 +00:00
gstccextractor.h ccextractor: Add property to remove caption meta from the outgoing video buffers 2020-06-25 08:18:37 +00:00
gstcea708decoder.c documentation: fixed a heap o' typos 2019-11-05 09:11:25 -05:00
gstcea708decoder.h closedcaption: cea708decoder: fix some memory leaks 2019-03-08 01:18:39 +00:00
gstceaccoverlay.c plugins: uddate gst_type_mark_as_plugin_api() calls 2020-06-06 00:40:42 +02:00
gstceaccoverlay.h ceaccoverlay: New CEA-708 Closed Caption decoder and overlayer 2018-05-28 15:29:01 +02:00
gstclosedcaption.c closedcaption: add line21 encoder 2019-03-06 11:29:20 +01:00
gstline21dec.c closedcaption: fix leak in line21 decoder 2019-03-08 01:18:39 +00:00
gstline21dec.h closedcaption: Add new "line 21 VBI" CC decoder 2018-05-28 15:03:57 +02:00
gstline21enc.c line21enc: add remove-caption-meta property 2020-09-09 22:11:28 +02:00
gstline21enc.h line21enc: add remove-caption-meta property 2020-09-09 22:11:28 +02:00
hamm.h Check in vbi encoder 2019-03-06 10:32:43 +01:00
io-sim.c Minor documentation fixes 2019-05-13 11:36:27 -04:00
io-sim.h Check in vbi encoder 2019-03-06 10:32:43 +01:00
macros.h closedcaption: Include zvbi raw vbi decoder code 2018-05-28 14:50:01 +02:00
meson.build meson: add more plugins to plugins list 2019-05-30 20:41:57 +02:00
misc.h closedcaption: fix build error in OSX 2019-03-25 18:28:55 +01:00
raw_decoder.c documentation: fixed a heap o' typos 2019-11-05 09:11:25 -05:00
raw_decoder.h closedcaption: Include zvbi raw vbi decoder code 2018-05-28 14:50:01 +02:00
sampling_par.c closedcaption: Include zvbi raw vbi decoder code 2018-05-28 14:50:01 +02:00
sampling_par.h closedcaption: Include zvbi raw vbi decoder code 2018-05-28 14:50:01 +02:00
sliced.h documentation: fixed a heap o' typos 2019-11-05 09:11:25 -05:00