diff options
Diffstat (limited to 'gst/frei0r')
-rw-r--r-- | gst/frei0r/gstfrei0rmixer.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gst/frei0r/gstfrei0rmixer.c b/gst/frei0r/gstfrei0rmixer.c index 8d5f59b19..f2c84538a 100644 --- a/gst/frei0r/gstfrei0rmixer.c +++ b/gst/frei0r/gstfrei0rmixer.c @@ -216,8 +216,12 @@ gst_frei0r_mixer_set_caps (GstFrei0rMixer * self, GstPad * pad, GstCaps * caps) } } } else if (!gst_caps_is_equal (caps, self->caps)) { - if (gst_pad_peer_query_accept_caps (pad, self->caps)) + GstCaps *upstream_caps; + + upstream_caps = gst_pad_peer_query_caps (pad, NULL); + if (gst_caps_can_intersect (self->caps, upstream_caps)) gst_pad_push_event (pad, gst_event_new_reconfigure ()); + gst_caps_unref (upstream_caps); ret = FALSE; } |