summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSjoerd Simons <sjoerd@luon.net>2014-10-17 22:23:27 +0200
committerTim-Philipp Müller <tim@centricular.com>2014-10-24 20:47:18 +0100
commit46e0c7b97d8055f5cb505dcfac49aea787f16e4a (patch)
tree4b2ac591cd3c22895bf1c40d4974c5efffb717cf
parentfdf39a8fce4eb3eca2c858256f64250943999d6b (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.c2
-rw-r--r--tests/check/elements/rtpmux.c4
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;