videodecoder: Add API for subclasses to request a new sync point
authorSebastian Dröge <sebastian@centricular.com>
Wed, 1 Jul 2020 15:19:09 +0000 (18:19 +0300)
committerMathieu Duponchelle <mathieu@centricular.com>
Thu, 10 Sep 2020 18:31:10 +0000 (20:31 +0200)
commitd26eede464534df862202acce797f9934351cf76
tree220d65995e25ef540408f116becf72a4c5ff48b7
parentfdf79a786caba9c3853933a3897a722221fbe4d8
videodecoder: Add API for subclasses to request a new sync point

This allows subclasses that notice missing reference frames to request a
new sync point to allow seamless decoding again. While doing so the
subclass can also signal whether it wants a) all following input frames
until the sync point to be discarded or b) all output frames until the
sync point to be marked as corrupt.

Sending of force-keyunit events for this can be throttled by the
application via the "min-force-keyunit-interval" property.

This replaces custom behaviour for the same in various decoders, for
example openh264dec.

Based on patches by Haakon Sporsheim <haakon@pexip.com> and
Stian Selnes <stian@pexip.com>.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/730>
gst-libs/gst/video/gstvideodecoder.c
gst-libs/gst/video/gstvideodecoder.h