diff --git a/subprojects/gst-plugins-base/gst/encoding/gstencodebasebin.c b/subprojects/gst-plugins-base/gst/encoding/gstencodebasebin.c index a6d6b24261..b504ca831b 100644 --- a/subprojects/gst-plugins-base/gst/encoding/gstencodebasebin.c +++ b/subprojects/gst-plugins-base/gst/encoding/gstencodebasebin.c @@ -1594,7 +1594,19 @@ _create_stream_group (GstEncodeBaseBin * ebin, GstEncodingProfile * sprof, tosync = g_list_append (tosync, sgroup->timestamper); if (G_UNLIKELY (!gst_element_link (sgroup->timestamper, last))) goto parser_link_failure; + last = sgroup->timestamper; + if (sgroup->parser) { + GstElement *p1 = + gst_element_factory_make (GST_OBJECT_NAME (gst_element_get_factory + (sgroup->parser)), NULL); + + gst_bin_add (GST_BIN (ebin), p1); + if (G_UNLIKELY (!gst_element_link (p1, last))) + goto parser_link_failure; + + last = p1; + } } /* Stream combiner */