}
static void
-clear_caps (GstCaps *caps)
+clear_caps (GstCaps *caps, gboolean only_clock_rate)
{
gint i, j;
for (j = 0; j < gst_structure_n_fields (s); j++) {
const gchar *name = gst_structure_nth_field_name (s, j);
- if (strcmp (name, "clock-rate")) {
+ if (strcmp (name, "clock-rate") && (only_clock_rate ||
+ (strcmp (name, "ssrc")))) {
gst_structure_remove_field (s, name);
j--;
}
accumcaps = gst_value_get_caps (ret);
- clear_caps (othercaps);
+ clear_caps (othercaps, TRUE);
intersect = gst_caps_intersect (accumcaps, othercaps);
othercaps = gst_caps_copy (gst_pad_get_pad_template_caps (mux->srcpad));
}
- clear_caps (othercaps);
+ clear_caps (othercaps, FALSE);
g_value_init (&v, GST_TYPE_CAPS);