From 5efe9944e008a8f342c8cd3cf438c2faad8121e8 Mon Sep 17 00:00:00 2001 From: Guillaume Desmottes Date: Thu, 27 Sep 2018 15:33:32 +0200 Subject: [PATCH] h265parse: process SEI recovery point Similar change as the on I did in h264parse. We want to process SEI recovery point as keyframe so muxers will mark them as seek points and decoders will be able to start decoding from them rather than waiting for an IDR. https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/790 --- gst/videoparsers/gsth265parse.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gst/videoparsers/gsth265parse.c b/gst/videoparsers/gsth265parse.c index 5554f87ed3..5f7d7d67c5 100644 --- a/gst/videoparsers/gsth265parse.c +++ b/gst/videoparsers/gsth265parse.c @@ -537,6 +537,14 @@ gst_h265_parse_process_sei (GstH265Parse * h265parse, GstH265NalUnit * nalu) for (i = 0; i < messages->len; i++) { sei = g_array_index (messages, GstH265SEIMessage, i); switch (sei.payloadType) { + case GST_H265_SEI_RECOVERY_POINT: + GST_LOG_OBJECT (h265parse, "recovery point found: %u %u %u", + sei.payload.recovery_point.recovery_poc_cnt, + sei.payload.recovery_point.exact_match_flag, + sei.payload.recovery_point.broken_link_flag); + h265parse->keyframe = TRUE; + break; + case GST_H265_SEI_BUF_PERIOD: case GST_H265_SEI_PIC_TIMING: /* FIXME */