VideoDecoder.requestSyncPoint

Allows the #GstVideoDecoder subclass to request from the base class that a new sync should be requested from upstream, and that frame was the frame when the subclass noticed that a new sync point is required. A reason for the subclass to do this could be missing reference frames, for example.

The base class will then request a new sync point from upstream as long as the time that passed since the last one is exceeding #GstVideoDecoder:min-force-key-unit-interval.

The subclass can signal via flags how the frames until the next sync point should be handled:

  • If [gstvideo.types.VideoDecoderRequestSyncPointFlags.DiscardInput] is selected then

all following input frames until the next sync point are discarded. This can be useful if the lack of a sync point will prevent all further decoding and the decoder implementation is not very robust in handling missing references frames.

  • If [gstvideo.types.VideoDecoderRequestSyncPointFlags.CorruptOutput] is selected

then all output frames following frame are marked as corrupted via [gst.types.BufferFlags.Corrupted]. Corrupted frames can be automatically dropped by the base class, see #GstVideoDecoder:discard-corrupted-frames. Subclasses can manually mark frames as corrupted via [gstvideo.types.VideoCodecFrameFlags.Corrupted] before calling [gstvideo.video_decoder.VideoDecoder.finishFrame].

Parameters

framea #GstVideoCodecFrame
flags#GstVideoDecoderRequestSyncPointFlags