VideoDecoder.requestSyncPoint
void requestSyncPoint(gstvideo.video_codec_frame.VideoCodecFrame frame, gstvideo.types.VideoDecoderRequestSyncPointFlags flags)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
frame | a #GstVideoCodecFrame |
flags | #GstVideoDecoderRequestSyncPointFlags |