From 135c6125507bc24ba5584c0727ba2314f09ea39d Mon Sep 17 00:00:00 2001 From: Thibault Saunier Date: Tue, 26 Jan 2016 19:23:04 +0100 Subject: [PATCH] encodebin: Allow streamheader update when profile.allow_dynamic_output == FALSE Some encoders can update the stream header through time (for example vp8 might do that) but it does not strictly changes the output format. --- gst/encoding/gstencodebin.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gst/encoding/gstencodebin.c b/gst/encoding/gstencodebin.c index 69d37eaa77..baf8171703 100644 --- a/gst/encoding/gstencodebin.c +++ b/gst/encoding/gstencodebin.c @@ -1100,12 +1100,18 @@ _outfilter_caps_set_cb (GstPad * outfilter_sinkpad, GParamSpec * arg G_GNUC_UNUSED, StreamGroup * group) { GstCaps *caps; + GstStructure *structure; g_object_get (outfilter_sinkpad, "caps", &caps, NULL); + caps = gst_caps_copy (caps); + + structure = gst_caps_get_structure (caps, 0); + gst_structure_remove_field (structure, "streamheader"); GST_INFO_OBJECT (group->ebin, "Forcing caps to %" GST_PTR_FORMAT, caps); g_object_set (group->outfilter, "caps", caps, NULL); g_signal_handler_disconnect (outfilter_sinkpad, group->outputfilter_caps_sid); group->outputfilter_caps_sid = 0; + gst_caps_unref (caps); } static void