From: <wt...@fr...> - 2005-04-25 13:01:19
|
CVS Root: /cvs/gstreamer Module: gstreamer Changes by: wtay Date: Mon Apr 25 2005 23:00:59 EST Log message: * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active), (gst_pad_set_checkgetrange_function), (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare), (gst_pad_check_pull_range), (gst_pad_pull_range), (gst_static_pad_template_get_caps), (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task): * gst/gstplugin.c: (gst_plugin_load): * gst/gstplugin.h: Remove gst_library_load as it does more harm than good with the new g_module flags. Revert bogus caps template check in pad linking, pad caps are important when linking not the template, which is more general than the current caps. Modified files: . : ChangeLog gst : gstpad.c gstplugin.c gstplugin.h Links: http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gstreamer/ChangeLog.diff?r1=1.1028&r2=1.1029 http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gstreamer/gst/gstpad.c.diff?r1=1.371&r2=1.372 http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gstreamer/gst/gstplugin.c.diff?r1=1.136&r2=1.137 http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gstreamer/gst/gstplugin.h.diff?r1=1.46&r2=1.47 ====Begin Diffs==== Index: ChangeLog =================================================================== RCS file: /cvs/gstreamer/gstreamer/ChangeLog,v retrieving revision 1.1028 retrieving revision 1.1029 diff -u -d -r1.1028 -r1.1029 --- ChangeLog 25 Apr 2005 09:51:06 -0000 1.1028 +++ ChangeLog 25 Apr 2005 13:00:46 -0000 1.1029 @@ -1,3 +1,19 @@ +2005-04-25 Wim Taymans <wi...@fl...> + + * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active), + (gst_pad_set_checkgetrange_function), + (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare), + (gst_pad_check_pull_range), (gst_pad_pull_range), + (gst_static_pad_template_get_caps), (gst_pad_start_task), + (gst_pad_pause_task), (gst_pad_stop_task): + * gst/gstplugin.c: (gst_plugin_load): + * gst/gstplugin.h: + Remove gst_library_load as it does more harm than good with + the new g_module flags. + Revert bogus caps template check in pad linking, pad caps + are important when linking not the template, which is more + general than the current caps. 2005-04-25 Ronald S. Bultje <rb...@ro...> * gst/autoplug/.cvsignore: Index: gstpad.c RCS file: /cvs/gstreamer/gstreamer/gst/gstpad.c,v retrieving revision 1.371 retrieving revision 1.372 diff -u -d -r1.371 -r1.372 --- gstpad.c 25 Apr 2005 09:45:35 -0000 1.371 +++ gstpad.c 25 Apr 2005 13:00:47 -0000 1.372 @@ -1382,39 +1382,27 @@ } static gboolean -gst_pad_link_check_templates_compatible_unlocked (GstRealPad * src, - GstRealPad * sink) +gst_pad_link_check_compatible_unlocked (GstRealPad * src, GstRealPad * sink) { GstCaps *srccaps; GstCaps *sinkcaps; - GstCaps *icaps; - gboolean ret; - if (!GST_PAD_PAD_TEMPLATE (src)) { - /* FIXME causes check failure */ - //g_warning ("pad has no pad template"); - return FALSE; - } - if (!GST_PAD_PAD_TEMPLATE (sink)) { + srccaps = gst_real_pad_get_caps_unlocked (src); + sinkcaps = gst_real_pad_get_caps_unlocked (sink); + GST_CAT_DEBUG (GST_CAT_CAPS, "got caps %p and %p", srccaps, sinkcaps); - srccaps = GST_PAD_TEMPLATE_CAPS (GST_PAD_PAD_TEMPLATE (src)); - sinkcaps = GST_PAD_TEMPLATE_CAPS (GST_PAD_PAD_TEMPLATE (sink)); + if (srccaps && sinkcaps) { + GstCaps *icaps; - icaps = gst_caps_intersect (srccaps, sinkcaps); + icaps = gst_caps_intersect (srccaps, sinkcaps); + GST_CAT_DEBUG (GST_CAT_CAPS, + "intersection caps %p %" GST_PTR_FORMAT, icaps, icaps); - if (gst_caps_is_empty (icaps)) { - ret = FALSE; - } else { - ret = TRUE; + if (!icaps || gst_caps_is_empty (icaps)) + return FALSE; } - gst_caps_unref (icaps); - - return ret; + return TRUE; @@ -1457,7 +1445,7 @@ *outrealsink = realsink; /* check pad caps for non-empty intersection */ - if (!gst_pad_link_check_templates_compatible_unlocked (realsrc, realsink)) { + if (!gst_pad_link_check_compatible_unlocked (realsrc, realsink)) { goto no_format; Index: gstplugin.c RCS file: /cvs/gstreamer/gstreamer/gst/gstplugin.c,v retrieving revision 1.136 retrieving revision 1.137 diff -u -d -r1.136 -r1.137 --- gstplugin.c 1 Apr 2005 02:41:35 -0000 1.136 +++ gstplugin.c 25 Apr 2005 13:00:47 -0000 1.137 @@ -884,23 +884,3 @@ GST_DEBUG ("Could not find %s in registry pool", name); return FALSE; -/** - * gst_library_load: - * @name: name of library to load - * - * Load the named library. Name should be given as - * "liblibrary.so". (exception to this rule is 'riff', which .so name is 'gstriff') - * Returns: whether the library was loaded or not (and returns TRUE if it was already loaded) - */ -gboolean -gst_library_load (const gchar * name) -{ - gboolean res; - /* for now this is the same */ - res = gst_plugin_load (name); - return res; -} Index: gstplugin.h RCS file: /cvs/gstreamer/gstreamer/gst/gstplugin.h,v retrieving revision 1.46 retrieving revision 1.47 diff -u -d -r1.46 -r1.47 --- gstplugin.h 7 Dec 2004 18:50:39 -0000 1.46 +++ gstplugin.h 25 Apr 2005 13:00:47 -0000 1.47 @@ -158,7 +158,6 @@ /* shortcuts to load from the registry pool */ gboolean gst_plugin_load (const gchar *name); -gboolean gst_library_load (const gchar *name); G_END_DECLS |