diff options
author | Sjoerd Simons <sjoerd@luon.net> | 2014-10-17 22:23:27 +0200 |
---|---|---|
committer | Tim-Philipp Müller <tim@centricular.com> | 2014-10-24 20:47:18 +0100 |
commit | 46e0c7b97d8055f5cb505dcfac49aea787f16e4a (patch) | |
tree | 4b2ac591cd3c22895bf1c40d4974c5efffb717cf | |
parent | fdf39a8fce4eb3eca2c858256f64250943999d6b (diff) |
rtpmux: Don't set PROXY_CAPS flag on the src pad
rtpmux behaves like a funnel in that it forwards whatever upstream is
sending buffers. So setting proxy caps doesn't make sense as the
upstream don't have to have compatible caps, thus resulting in an empty
caps set as a result of a caps query. Instead set fixed caps just
as funnel does.
https://bugzilla.gnome.org/show_bug.cgi?id=738722
-rw-r--r-- | gst/rtpmanager/gstrtpmux.c | 2 | ||||
-rw-r--r-- | tests/check/elements/rtpmux.c | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/gst/rtpmanager/gstrtpmux.c b/gst/rtpmanager/gstrtpmux.c index c66c70ade..254f14e39 100644 --- a/gst/rtpmanager/gstrtpmux.c +++ b/gst/rtpmanager/gstrtpmux.c @@ -245,7 +245,7 @@ gst_rtp_mux_init (GstRTPMux * rtp_mux) "src"), "src"); gst_pad_set_event_function (rtp_mux->srcpad, GST_DEBUG_FUNCPTR (gst_rtp_mux_src_event)); - GST_PAD_SET_PROXY_CAPS (rtp_mux->srcpad); + gst_pad_use_fixed_caps (rtp_mux->srcpad); gst_element_add_pad (GST_ELEMENT (rtp_mux), rtp_mux->srcpad); rtp_mux->ssrc = DEFAULT_SSRC; diff --git a/tests/check/elements/rtpmux.c b/tests/check/elements/rtpmux.c index 6f316f109..11ba9794b 100644 --- a/tests/check/elements/rtpmux.c +++ b/tests/check/elements/rtpmux.c @@ -161,6 +161,10 @@ test_basic (const gchar * elem_name, const gchar * sink2, int count, "seqnum-offset", G_TYPE_UINT, 56, "timestamp-offset", G_TYPE_UINT, 57, "ssrc", G_TYPE_UINT, 66, NULL); fail_unless (gst_pad_set_caps (src1, caps)); + gst_caps_unref (caps); + + caps = gst_pad_peer_query_caps (sink, NULL); + fail_if (gst_caps_is_empty (caps)); gst_segment_init (&segment, GST_FORMAT_TIME); segment.start = 100000; |