vorbis: Update for negotiation related API changes
authorSebastian Dröge <sebastian.droege@collabora.co.uk>
Mon, 16 May 2011 13:25:34 +0000 (15:25 +0200)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Mon, 16 May 2011 13:35:41 +0000 (15:35 +0200)
ext/vorbis/gstvorbisenc.c
ext/vorbis/gstvorbisparse.c

index e422eb6..3175198 100644 (file)
@@ -269,14 +269,18 @@ gst_vorbis_enc_generate_sink_caps (void)
 }
 
 static GstCaps *
-gst_vorbis_enc_sink_getcaps (GstPad * pad)
+gst_vorbis_enc_sink_getcaps (GstPad * pad, GstCaps * filter)
 {
   GstVorbisEnc *vorbisenc = GST_VORBISENC (GST_PAD_PARENT (pad));
 
   if (vorbisenc->sinkcaps == NULL)
     vorbisenc->sinkcaps = gst_vorbis_enc_generate_sink_caps ();
 
-  return gst_caps_ref (vorbisenc->sinkcaps);
+  if (filter)
+    return gst_caps_intersect_full (filter, vorbisenc->sinkcaps,
+        GST_CAPS_INTERSECT_FIRST);
+  else
+    return gst_caps_ref (vorbisenc->sinkcaps);
 }
 
 static gboolean
index 163cc3d..4478366 100644 (file)
@@ -188,7 +188,7 @@ vorbis_parse_push_headers (GstVorbisParse * parse)
   gsize size;
 
   /* get the headers into the caps, passing them to vorbis as we go */
-  caps = gst_caps_make_writable (gst_pad_get_caps (parse->srcpad));
+  caps = gst_caps_make_writable (gst_pad_get_caps (parse->srcpad, NULL));
   vorbis_parse_set_header_on_caps (parse, caps);
   GST_DEBUG_OBJECT (parse, "here are the caps: %" GST_PTR_FORMAT, caps);
   gst_pad_set_caps (parse->srcpad, caps);