summaryrefslogtreecommitdiffstats
path: root/gst/rtpmux
diff options
context:
space:
mode:
authorOlivier CrĂȘte <olivier.crete@collabora.co.uk>2009-02-18 20:18:46 -0500
committerEdward Hervey <bilboed@bilboed.com>2009-02-21 17:48:57 +0100
commita34534df7984529a856dd4a7d7576b08c40afcd8 (patch)
treeb5294e72e4c11a72962012e1794d96cc9b7e3642 /gst/rtpmux
parent2c838498499f4d8d7626d0146dba6cd53f88a47e (diff)
downloadgst-plugins-bad-a34534df7984529a856dd4a7d7576b08c40afcd8.tar.gz
gst-plugins-bad-a34534df7984529a856dd4a7d7576b08c40afcd8.tar.bz2
gst-plugins-bad-a34534df7984529a856dd4a7d7576b08c40afcd8.zip
[MOVED FROM GST-P-FARSIGHT] Let ssrc through getcaps
Diffstat (limited to 'gst/rtpmux')
-rw-r--r--gst/rtpmux/gstrtpmux.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/gst/rtpmux/gstrtpmux.c b/gst/rtpmux/gstrtpmux.c
index 9bf5e051..75ec5ace 100644
--- a/gst/rtpmux/gstrtpmux.c
+++ b/gst/rtpmux/gstrtpmux.c
@@ -432,7 +432,7 @@ gst_rtp_mux_setcaps (GstPad *pad, GstCaps *caps)
}
static void
-clear_caps (GstCaps *caps)
+clear_caps (GstCaps *caps, gboolean only_clock_rate)
{
gint i, j;
@@ -443,7 +443,8 @@ clear_caps (GstCaps *caps)
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--;
}
@@ -474,7 +475,7 @@ same_clock_rate_fold (gpointer item, GValue *ret, gpointer user_data)
accumcaps = gst_value_get_caps (ret);
- clear_caps (othercaps);
+ clear_caps (othercaps, TRUE);
intersect = gst_caps_intersect (accumcaps, othercaps);
@@ -505,7 +506,7 @@ gst_rtp_mux_getcaps (GstPad *pad)
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);