From 0bbd2963eb7af07fb55f58194909283b4851e945 Mon Sep 17 00:00:00 2001 From: Thibault Saunier Date: Wed, 4 Apr 2018 19:30:55 -0300 Subject: [PATCH] encodebin: Always respect encoding profile preset factory name And fail if it is not present. --- gst/encoding/gstencodebin.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gst/encoding/gstencodebin.c b/gst/encoding/gstencodebin.c index 08a4ee0cfe..53c22e0f9a 100644 --- a/gst/encoding/gstencodebin.c +++ b/gst/encoding/gstencodebin.c @@ -916,7 +916,12 @@ _create_element_and_set_preset (GstElementFactory * factory, GstElement *res = NULL; GST_DEBUG ("Creating element from factory %s (preset factory name: %s" - " preset name: %s)", GST_OBJECT_NAME (factory), preset, preset_name); + " preset name: %s)", GST_OBJECT_NAME (factory), preset_name, preset); + + if (preset_name && g_strcmp0 (GST_OBJECT_NAME (factory), preset_name)) { + GST_DEBUG ("Got to use %s, not %s", preset_name, GST_OBJECT_NAME (factory)); + return NULL; + } res = gst_element_factory_create (factory, name); @@ -934,9 +939,6 @@ _create_element_and_set_preset (GstElementFactory * factory, GST_DEBUG ("Using a preset with no preset name, making use of the" " proper element without setting any property"); } - } else if (preset_name && g_strcmp0 (GST_OBJECT_NAME (factory), preset_name)) { - gst_object_unref (res); - res = NULL; } /* Else we keep it */