diff options
author | Olivier CrĂȘte <olivier.crete@collabora.co.uk> | 2009-04-28 16:10:21 -0400 |
---|---|---|
committer | Olivier CrĂȘte <olivier.crete@collabora.co.uk> | 2009-04-28 16:28:40 -0400 |
commit | 3a4c9c990ad309d18de97f86462e1967035c3e49 (patch) | |
tree | a147ce0e157295095813a21ba60331d025195244 | |
parent | 6c4eeff781bfd6ad816eedec9a972eb8725e7e2e (diff) | |
download | gst-plugins-bad-3a4c9c990ad309d18de97f86462e1967035c3e49.tar.gz gst-plugins-bad-3a4c9c990ad309d18de97f86462e1967035c3e49.tar.bz2 gst-plugins-bad-3a4c9c990ad309d18de97f86462e1967035c3e49.zip |
rtpmux: Reject wrong caps
-rw-r--r-- | gst/rtpmux/gstrtpmux.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/gst/rtpmux/gstrtpmux.c b/gst/rtpmux/gstrtpmux.c index ecef0c7f..82d4b003 100644 --- a/gst/rtpmux/gstrtpmux.c +++ b/gst/rtpmux/gstrtpmux.c @@ -364,28 +364,26 @@ gst_rtp_mux_setcaps (GstPad * pad, GstCaps * caps) { GstRTPMux *rtp_mux; GstStructure *structure; - gboolean ret = TRUE; + gboolean ret = FALSE; GstRTPMuxPadPrivate *padpriv = gst_pad_get_element_private (pad); rtp_mux = GST_RTP_MUX (gst_pad_get_parent (pad)); structure = gst_caps_get_structure (caps, 0); - if (!ret) + if (!structure) goto out; if (gst_structure_get_uint (structure, "clock-base", &padpriv->clock_base)) { padpriv->have_clock_base = TRUE; } - caps = gst_caps_make_writable (caps); + caps = gst_caps_copy (caps); gst_caps_set_simple (caps, "clock-base", G_TYPE_UINT, rtp_mux->ts_base, "seqnum-base", G_TYPE_UINT, rtp_mux->seqnum_base, NULL); - gst_caps_ref (caps); - GST_DEBUG_OBJECT (rtp_mux, "setting caps %" GST_PTR_FORMAT " on src pad..", caps); ret = gst_pad_set_caps (rtp_mux->srcpad, caps); |