registry: avoid copy when caps are fixed

Avoid doing a useless copy when the caps are fixed and simplify will not do
anything.
This commit is contained in:
Wim Taymans 2012-03-10 09:15:43 +01:00
parent 6ffba69d65
commit 6426145fc9

View file

@ -323,11 +323,14 @@ gst_registry_chunks_save_feature (GList ** list, GstPluginFeature * feature)
if (factory->caps) {
/* we copy the caps here so we can simplify them before saving. This
* is a lot faster when loading them later on */
GstCaps *copy = gst_caps_copy (factory->caps);
gst_caps_do_simplify (copy);
str = gst_caps_to_string (copy);
gst_caps_unref (copy);
if (!gst_caps_is_fixed (factory->caps)) {
GstCaps *copy = gst_caps_copy (factory->caps);
gst_caps_do_simplify (copy);
str = gst_caps_to_string (copy);
gst_caps_unref (copy);
} else {
str = gst_caps_to_string (factory->caps);
}
gst_registry_chunks_save_string (list, str);
} else {
gst_registry_chunks_save_const_string (list, "");