From 5ac886d85aab4b919f84fb80e2d1ef36dc8e647d Mon Sep 17 00:00:00 2001 From: Guillaume Desmottes Date: Wed, 22 Nov 2017 14:35:31 +0100 Subject: [PATCH] h264parse: early set src caps when input is avc When input is in AVC format there is no need to wait for the first buffer before setting src caps. We already have all the information from the input codec_data. This allow us to already configure downstream elements allowing them, for example, to already allocate their internal buffers as they know the format of the input they are about to receive. https://bugzilla.gnome.org/show_bug.cgi?id=790709 --- gst/videoparsers/gsth264parse.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gst/videoparsers/gsth264parse.c b/gst/videoparsers/gsth264parse.c index eb5197e75b..85347fc6f6 100644 --- a/gst/videoparsers/gsth264parse.c +++ b/gst/videoparsers/gsth264parse.c @@ -2706,6 +2706,11 @@ gst_h264_parse_set_caps (GstBaseParse * parse, GstCaps * caps) if (h264parse->align == GST_H264_PARSE_ALIGN_NAL) h264parse->split_packetized = TRUE; h264parse->packetized = TRUE; + + if (format == GST_H264_PARSE_FORMAT_AVC) + /* We got all the caps infos from the codec_data so can already set the + * src caps. */ + gst_h264_parse_update_src_caps (h264parse, NULL); } h264parse->in_align = align;