From: Wim Taymans Date: Thu, 4 Aug 2011 14:34:49 +0000 (+0200) Subject: basesrc: expose set_caps method X-Git-Tag: RELEASE-0.11.1~62 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fd75c1263162ad4c35027bd96cf67495535f8c83;p=platform%2Fupstream%2Fgstreamer.git basesrc: expose set_caps method Expose a previously static method so that custom negotiate implementation can call it and do the right thing. --- diff --git a/libs/gst/base/gstbasesrc.c b/libs/gst/base/gstbasesrc.c index e8223d3..45aea31 100644 --- a/libs/gst/base/gstbasesrc.c +++ b/libs/gst/base/gstbasesrc.c @@ -780,8 +780,17 @@ gst_base_src_new_seamless_segment (GstBaseSrc * src, gint64 start, gint64 stop, return res; } -static gboolean -gst_base_src_setcaps (GstBaseSrc * bsrc, GstCaps * caps) +/** + * gst_base_src_set_caps: + * @bsrc: a #GstBaseSrc + * @caps: a #GstCaps + * + * Set new caps on the basesrc source pad. + * + * Returns: %TRUE if the caps could be set + */ +gboolean +gst_base_src_set_caps (GstBaseSrc * bsrc, GstCaps * caps) { GstBaseSrcClass *bclass; gboolean res = TRUE; @@ -2779,7 +2788,7 @@ gst_base_src_default_negotiate (GstBaseSrc * basesrc) if (gst_caps_is_fixed (caps)) { /* yay, fixed caps, use those then, it's possible that the subclass does * not accept this caps after all and we have to fail. */ - result = gst_base_src_setcaps (basesrc, caps); + result = gst_base_src_set_caps (basesrc, caps); } } gst_caps_unref (caps); @@ -2906,7 +2915,7 @@ gst_base_src_start (GstBaseSrc * basesrc) if (!(caps = gst_type_find_helper (basesrc->srcpad, size))) goto typefind_failed; - result = gst_base_src_setcaps (basesrc, caps); + result = gst_base_src_set_caps (basesrc, caps); gst_caps_unref (caps); } else { /* use class or default negotiate function */ diff --git a/libs/gst/base/gstbasesrc.h b/libs/gst/base/gstbasesrc.h index 9bff166..9746eae 100644 --- a/libs/gst/base/gstbasesrc.h +++ b/libs/gst/base/gstbasesrc.h @@ -238,6 +238,9 @@ void gst_base_src_set_do_timestamp (GstBaseSrc *src, gboolean timesta gboolean gst_base_src_get_do_timestamp (GstBaseSrc *src); gboolean gst_base_src_new_seamless_segment (GstBaseSrc *src, gint64 start, gint64 stop, gint64 position); + +gboolean gst_base_src_set_caps (GstBaseSrc *src, GstCaps *caps); + G_END_DECLS #endif /* __GST_BASE_SRC_H__ */