summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@gmail.com>2008-02-29 14:52:02 +0000
committerWim Taymans <wim.taymans@gmail.com>2008-02-29 14:52:02 +0000
commitbdf20026e819ab69f73922304cdb765c4766fe22 (patch)
treef9d78e5681e960e54bec63e88fc28c27adbaaf3d
parent472162d1b131f37c46d69587137dafcd3b4cc34d (diff)
downloadgstreamer-plugins-base-bdf20026e819ab69f73922304cdb765c4766fe22.tar.gz
ext/libvisual/visual.c: When negotiating, actually start from a format that we can support instead of from the too ge...
Original commit message from CVS: * ext/libvisual/visual.c: (gst_vis_src_negotiate): When negotiating, actually start from a format that we can support instead of from the too generic template.
-rw-r--r--ChangeLog6
-rw-r--r--ext/libvisual/visual.c10
2 files changed, 12 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 661af9376..466394831 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
+ * ext/libvisual/visual.c: (gst_vis_src_negotiate):
+ When negotiating, actually start from a format that we can support
+ instead of from the too generic template.
+
+2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
+
* gst/playback/gstplaybin2.c: (gst_play_bin_set_property):
Enable vis setting.
diff --git a/ext/libvisual/visual.c b/ext/libvisual/visual.c
index 692769b59..d13851686 100644
--- a/ext/libvisual/visual.c
+++ b/ext/libvisual/visual.c
@@ -387,15 +387,16 @@ gst_vis_src_negotiate (GstVisual * visual)
{
GstCaps *othercaps, *target, *intersect;
GstStructure *structure;
- const GstCaps *templ;
+ GstCaps *caps;
- templ = gst_pad_get_pad_template_caps (visual->srcpad);
+ caps = gst_pad_get_caps (visual->srcpad);
/* see what the peer can do */
othercaps = gst_pad_peer_get_caps (visual->srcpad);
if (othercaps) {
- intersect = gst_caps_intersect (othercaps, templ);
+ intersect = gst_caps_intersect (othercaps, caps);
gst_caps_unref (othercaps);
+ gst_caps_unref (caps);
if (gst_caps_is_empty (intersect))
goto no_format;
@@ -404,7 +405,8 @@ gst_vis_src_negotiate (GstVisual * visual)
gst_caps_unref (intersect);
} else {
/* need a copy, we'll be modifying it when fixating */
- target = gst_caps_copy (templ);
+ target = gst_caps_copy (caps);
+ gst_caps_unref (caps);
}
/* fixate in case something is not fixed. This does nothing if the value is