use GST_PAD_CAPS if they exist
authorThomas Vander Stichele <thomas@apestaart.org>
Thu, 29 Apr 2004 17:38:07 +0000 (17:38 +0000)
committerThomas Vander Stichele <thomas@apestaart.org>
Thu, 29 Apr 2004 17:38:07 +0000 (17:38 +0000)
Original commit message from CVS:
use GST_PAD_CAPS if they exist

ChangeLog
ext/ffmpeg/gstffmpegcolorspace.c

index d44d7c1..672bafd 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
+
+       * ext/ffmpeg/gstffmpegcolorspace.c: (gst_ffmpegcsp_getcaps):
+          use GST_PAD_CAPS if they exist so we don't renegotiate needlessly
+
 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
 
        * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
index 635851a..74d18d0 100644 (file)
@@ -154,7 +154,12 @@ gst_ffmpegcsp_getcaps (GstPad * pad)
 
   otherpad = (pad == space->srcpad) ? space->sinkpad : space->srcpad;
 
-  othercaps = gst_pad_get_allowed_caps (otherpad);
+  /* use already negotiated caps if they exist */
+  if (GST_PAD_CAPS (otherpad))
+    othercaps = gst_caps_copy (GST_PAD_CAPS (otherpad));
+  if (!othercaps)
+    othercaps = gst_pad_get_allowed_caps (otherpad);
+
 
   othercaps = gst_ffmpegcsp_caps_remove_format_info (othercaps);